Oracle Dataguard(主库为 Oracle 11g 单节点)配置详解(2):配置主数据库

Oracle Dataguard(主库为 Oracle 11g 单节点)配置详解(2):配置主数据库

目录

  • Oracle Dataguard(主库为 Oracle 11g 单节点)配置详解(2):配置主数据库
    • 一、配置环境
    • 二、安装 Oracle 软件并创建数据库
    • 三、配置主数据库
        • 1、启动 FORCE LOGGING
        • 2、启动归档模式
        • 3、开启闪回
        • 4、为主库添加 standby redo logfile
        • 5、为主数据库配置监听
        • 6、修改主数据库的配置文件
        • 7、把主数据库的口令文件复制到备库

一、配置环境

操作系统为 CentOS7,Oracle 版本为 11g,主库为单机版 Oracle。详细情况如下表所示:

主库备库
DB 类型单机单机
操作系统Centos7.3Centos7.3
Hostnameoraoradg
IP 地址192.168.1.2192.168.1.3
ORACLE_BASE/usr/local/oracle/usr/local/oracle
DB_NAMEhisdbhisdbdg
ORACLE_SIDoraoradg
DB_Unique_Namehisdbhisdbdg
Instance_Nameoraoradg
service_nameshisdbhisdbdg
TNS_Namehisdbhisdbdg
闪回区开启开启
归档开启开启

二、安装 Oracle 软件并创建数据库

1、在主库上安装数据库软件,创建数据库,创建监听(安装过程省略)

2、在备库上安装数据库软件,创建监听,但不创建实例

主库的数据库参数如下:

SQL> show parameter name

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
cell_offloadgroup_name		     string
db_file_name_convert		     string
db_name 			     string	 hisdb
db_unique_name			     string	 hisdb
global_names			     boolean	 FALSE
instance_name			     string	 ora
lock_name_space 		     string
log_file_name_convert		     string
processor_group_name		     string
service_names			     string	 hisdb

三、配置主数据库

1、启动 FORCE LOGGING

命令如下:

SQL> select open_mode,log_mode,database_role from v$database;

OPEN_MODE	     LOG_MODE	  DATABASE_ROLE
-------------------- ------------ ----------------
READ WRITE	     NOARCHIVELOG PRIMARY

SQL> select force_logging from v$database;

FOR
---
NO

SQL> alter database force logging;

Database altered.

SQL> select force_logging from v$database;

FOR
---
YES
2、启动归档模式
-- 查询归档模是否开启
SQL> archive log list;
Database log mode	       No Archive Mode
Automatic archival	       Disabled
Archive destination	       USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     5
Current log sequence	       7

-- 关闭数据库
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.

-- 开启数据库至 mount 状态
SQL> startup mount;
ORACLE instance started.

Total System Global Area 1068937216 bytes
Fixed Size		    2260088 bytes
Variable Size		  331350920 bytes
Database Buffers	  729808896 bytes
Redo Buffers		    5517312 bytes
Database mounted.

-- 修改数据库为归档模式
SQL> alter database archivelog;

Database altered.

-- 开启数据库
SQL> alter database open;

Database altered.

-- 查看归档日志是否开启
SQL> archive log list;
Database log mode	       Archive Mode
Automatic archival	       Enabled
Archive destination	       USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     5
Next log sequence to archive   7
Current log sequence	       7

SQL> show  parameter recovery

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest		     string	 /usr/local/oracle/fast_recovery_area
db_recovery_file_dest_size	     big integer 4182M
recovery_parallelism		     integer	 0
3、开启闪回
 -- 查看闪回未开启
SQL> select flashback_on from v$database;

FLASHBACK_ON
------------------
NO

-- 查看 db_recovery_file_dest
SQL> show parameter recovery

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest		     string	 /usr/local/oracle/fast_recovery_area
db_recovery_file_dest_size	     big integer 4182M
recovery_parallelism		     integer	 0

-- 指定闪回区大小,指定闪回目录路径(顺序必须先设置闪回区大小,才能指定闪回目录,否则报错)
alter system set db_recovery_file_dest_size=4182m;
-- 先创建目录,再指定该闪回区域目录
alter system set db_recovery_file_dest='/usr/local/oracle/fast_recovery_area';

-- 开启闪回
SQL> alter database flashback on;

Database altered.

 -- 查看闪回未开启
SQL> select flashback_on from v$database;

FLASHBACK_ON
------------------
YES
4、为主库添加 standby redo logfile

说明:

(1)为主库添加standby redo log后,备库自动同步,所以备库不用再创建standby redo log

(2)Dataguard 在最大保护和最高可用性模式下,Standby 数据库必须配置standby redo log

(3)确保 Standby redo log的大小与主库 online redo log的大小一致。

(4)如果主库为单实例数据库: Standby redo log组数 = 主库日志总数 + 1。

(5)如果主库是RAC数据库:Standby redo log组数 = (每线程的日志数 + 1)* 最大线程数。

查看主数据库的日志信息:

-- 查看日志存放位置
SQL> select member from v$logfile;

MEMBER
--------------------------------------------------------------------------------
/usr/local/oradata/hisdb/redo03.log
/usr/local/oradata/hisdb/redo02.log
/usr/local/oradata/hisdb/redo01.log

-- 查看日志数量
SQL> select count(group#),thread# from v$log group by thread#;

COUNT(GROUP#)	 THREAD#
------------- ----------
	    3	       1

-- 查看日志文件大小
SQL> select group#,bytes/1024/1024 from v$log;

    GROUP# BYTES/1024/1024
---------- ---------------
	 1		50
	 2		50
	 3		50

添加 standby logfile

 -- 添加 4 个standby logfile,文件大小必须为 50M
/*
alter database add standby logfile '/usr/local/oradata/hisdb/standby01.log' size 50M;
alter database add standby logfile '/usr/local/oradata/hisdb/standby02.log' size 50M;
alter database add standby logfile '/usr/local/oradata/hisdb/standby03.log' size 50M;
alter database add standby logfile '/usr/local/oradata/hisdb/standby04.log' size 50M;
*/

SQL> alter database add standby logfile '/usr/local/oradata/hisdb/standby01.log' size 50M;

Database altered.

SQL> alter database add standby logfile '/usr/local/oradata/hisdb/standby02.log' size 50M;

Database altered.

SQL> alter database add standby logfile '/usr/local/oradata/hisdb/standby03.log' size 50M;

Database altered.

SQL> alter database add standby logfile '/usr/local/oradata/hisdb/standby04.log' size 50M;

Database altered.

-- 查看 standby_log 信息
SQL> select group#,bytes/1024/1024 from v$standby_log;

    GROUP# BYTES/1024/1024
---------- ---------------
	 4		50
	 5		50
	 6		50
	 7		50

-- 查看所有的日志信息
SQL> select group#,status,type,member from v$logfile;

    GROUP# STATUS  TYPE            MEMBER
-----------------------------------------------------------------------------------------
     3	   ONLINE            /usr/local/oradata/hisdb/redo03.log
	 2	   ONLINE           /usr/local/oradata/hisdb/redo02.log
	 1	   ONLINE           /usr/local/oradata/hisdb/redo01.log
	 4	   STANDBY          /usr/local/oradata/hisdb/standby01.log
	 5	   STANDBY          /usr/local/oradata/hisdb/standby02.log
	 6	   STANDBY          /usr/local/oradata/hisdb/standby03.log
	 7	   STANDBY          /usr/local/oradata/hisdb/standby04.log

7 rows selected.
5、为主数据库配置监听

(1)查看监听文件

[oracle@ora ~]$ cd $ORACLE_HOME/network/admin
[oracle@ora admin]$ ll
总用量 16
-rw-r--r-- 1 oracle oinstall 368 1230 21:28 listener.ora
drwxr-xr-x 2 oracle oinstall  64 1230 21:15 samples
-rw-r--r-- 1 oracle oinstall 381 1217 2012 shrept.lst
-rw-r--r-- 1 oracle oinstall 223 1230 21:28 sqlnet.ora
-rw-r----- 1 oracle oinstall 322 1230 21:46 tnsnames.ora

(2)配置监听

[oracle@ora admin]$ vi listener.ora

# listener.ora Network Configuration File: /usr/local/oracle/product/11.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = ora)(PORT = 1521))
    )
  )


SID_LIST_LISTENER =
 (SID_LIST =
   (SID_DESC =
     (GLOBAL_DBNAME = hisdb)
     (ORACLE_HOME = /usr/local/oracle/product/11.2.0/db_1)
     (SID_NAME = ora)
    )
    (SID_DESC =
     (GLOBAL_DBNAME = hisdbdg)
     (ORACLE_HOME = /usr/local/oracle/product/11.2.0/db_1)
     (SID_NAME = oradg)
    )
  )


ADR_BASE_LISTENER = /usr/local/oracle



[oracle@ora admin]$ vi tnsnames.ora
# tnsnames.ora Network Configuration File: /usr/local/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

HISDB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = ora)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = hisdb)
    )
  )


HISDBDG =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = oradg)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = hisdbdg)
    )
  )

(3)重启监听,查看监听状态

[oracle@ora admin]$ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 31-DEC-2024 18:52:02

Copyright (c) 1991, 2013, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date                31-DEC-2024 18:51:55
Uptime                    0 days 0 hr. 0 min. 6 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /usr/local/oracle/product/11.2.0/db_1/network/admin/listener.ora
Listener Log File         /usr/local/oracle/diag/tnslsnr/ora/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ora)(PORT=1521)))
Services Summary...
Service "hisdb" has 1 instance(s).
  Instance "ora", status UNKNOWN, has 1 handler(s) for this service...
Service "hisdbdg" has 1 instance(s).
  Instance "oradg", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully

(4)使用tnsping测试主备连通性

tnsping hisdb

tnsping hisdbdg
6、修改主数据库的配置文件

(1)生成参数文件

SQL> create pfile from spfile;

File created.

(2)查看数据库信息

-- 主数据库
SQL> show parameter db_unique_name;

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
db_unique_name			     string	 hisdb

-- 备份数据库
SQL> show parameter db_unique_name;

(3)修改参数文件

# 在参数文件中添加以下内容:
*.db_unique_name='hisdb'                           # 主数据库的唯一名,默认和数据库名一致
*.log_archive_config='dg_config=(hisdb,hisdbdg)'   # 主库和备库在tnsname.ora中的连接名

*.log_archive_dest_1='location=USE_DB_RECOVERY_FILE_DEST valid_for=(all_logfiles,all_roles) db_unique_name=hisdb'                             # 主数据库的唯一名
*.log_archive_dest_2='service=hisdbdg lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=hisdbdg'                           # 备用数据库的唯一名
*.db_file_name_convert='/usr/local/oradata/hisdb/','/usr/local/oradata/hisdb/'
# db_file_name_convert参数的设置说明:当主备库目录结构不一致的时候,主数据库和备用数据库的数据文件
# 转换目录映射
# 格式: 
# 主库配置格式: *.db_file_name_convert= 备用数据库数据文件目录,主数据库数据文件目录
# 备库配置格式: *.db_file_name_convert= 主数据库数据文件目录,备用数据库数据文件目录
*.log_file_name_convert='/usr/local/oradata/hisdb/','/usr/local/oradata/hisdb/'
# log_file_name_convert:指明主数据库和备用数据库的log文件转换目录映射。
# 主库配置格式: *. log_file_name_convert=备用数据库log目录,主数据库log目录
# 备库配置格式: *. log_file_name_convert=主数据库log目录,备用数据库log目录
# 如果主备库的数据文件路径以及联机日志路径不一致,则需要设置db_file_name_convert和
# log_file_name_convert的参数,当然如果多对一同样要设置。
# 但是如果主备库数据文件以及日志文件路径一直则不需要设置该参数
*.log_archive_dest_state_1=enable
*.log_archive_dest_state_2=enable
*.standby_file_management='auto'
# fal_client用于发送日志,fal_server用于接受日志。
# 也即无论是主库或备库,fal_server=对方,fal_client=自己
# 主库设置如下
*.fal_server='hisdbdg'
*.fal_client='hisdb'
# 备库设置如下
# *.fal_server='hisdb'
# *.fal_client='hisdbdg'

修改以后的参数文件内容如下:

[oracle@ora admin]$ cd $ORACLE_HOME/dbs
[oracle@ora dbs]$ ll
总用量 24
-rw-rw---- 1 oracle oinstall 1544 11 17:31 hc_ora.dat
-rw-r--r-- 1 oracle oinstall 2851 515 2009 init.ora
-rw-r--r-- 1 oracle oinstall 1384 11 17:41 initora.ora
-rw-r----- 1 oracle oinstall   24 1230 21:46 lkHISDB
-rw-r----- 1 oracle oinstall 1536 1230 21:46 orapwora
-rw-r----- 1 oracle oinstall 3584 11 17:32 spfileora.ora

[oracle@ora admin]$ vi initora.ora

ora.__db_cache_size=792723456
ora.__java_pool_size=4194304
ora.__large_pool_size=8388608
ora.__oracle_base='/usr/local/oracle'#ORACLE_BASE set from environment
ora.__pga_aggregate_target=499122176
ora.__sga_target=1073741824
ora.__shared_io_pool_size=0
ora.__shared_pool_size=255852544
ora.__streams_pool_size=0
*.audit_file_dest='/usr/local/oracle/admin/hisdb/adump'
*.audit_trail='db'
*.compatible='11.2.0.4.0'
*.control_files='/usr/local/oradata/hisdb/control01.ctl','/usr/local/oracle/fast_recovery_area/hisdb/control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='hisdb'
*.db_recovery_file_dest_size=4385144832
*.db_recovery_file_dest='/usr/local/oracle/fast_recovery_area'
*.diagnostic_dest='/usr/local/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=oraXDB)'
*.open_cursors=300
*.pga_aggregate_target=499122176
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=1073741824
*.undo_tablespace='UNDOTBS1'


# 新增如下内容
*.db_unique_name='hisdb'
*.log_archive_config='dg_config=(hisdb,hisdbdg)'
*.log_archive_dest_1='location=USE_DB_RECOVERY_FILE_DEST valid_for=(all_logfiles,all_roles) db_unique_name=hisdb'
*.log_archive_dest_2='service=hisdbdg lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=hisdbdg'
*.db_file_name_convert='/usr/local/oradata/hisdbdg/','/usr/local/oradata/hisdb/'
*.log_file_name_convert='/usr/local/oradata/hisdbdg/','/usr/local/oradata/hisdb/'
*.log_archive_dest_state_1=enable
*.log_archive_dest_state_2=enable
*.standby_file_management='auto'
*.fal_server='hisdbdg'
*.fal_client='hisdb'

停库,然后使用修改后的参数文件启动数据库:

-- 停库
SQL> shutdow immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

-- 生成spfile参数文件
SQL> create spfile from pfile;

File created.
-- 启动数据库
SQL> startup
ORACLE instance started.

Total System Global Area 1068937216 bytes
Fixed Size		    2260088 bytes
Variable Size		  331350920 bytes
Database Buffers	  729808896 bytes
Redo Buffers		    5517312 bytes
Database mounted.
Database opened.

7、把主数据库的口令文件复制到备库
[oracle@ora admin]$ cd $ORACLE_HOME/dbs
[oracle@ora dbs]$ ls
hc_ora.dat  init.ora  lkHISDB  orapwora  spfileora.ora

[oracle@ora dbs]$ scp orapwora oracle@oradg:$ORACLE_HOME/dbs
oracle@oradg's password: 
orapwora                                                                                                                                  100% 1536     1.5KB/s   00:00    
[oracle@ora dbs]$ 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/947557.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

RS485方向自动控制电路分享

我们都知道RS485是半双工通信,所以在传输的时候需要有使能信号,标明是发送还是接收信号,很多时候就简单的用一个IO口控制就好了,但是有一些低成本紧凑型的MCU上,一个IO口也是很珍贵的,因此,如果…

DevSecOps自动化在安全关键型软件开发中的实践、Helix QAC Klocwork等SAST工具应用

DevSecOps自动化对于安全关键型软件开发至关重要。 那么,什么是DevSecOps自动化?具有哪些优势?为何助力安全关键型软件开发?让我们一起来深入了解~ 什么是DevSecOps自动化? DevSecOps自动化是指在软件开发生命周期的各…

【ArcGISPro/GeoScenePro】解决常见的空间参考和投影问题

修复空间参考缺失的图像 数据 https://arcgis.com/sharing/rest/content/items/535efce0e3a04c8790ed7cc7ea96d02d/data 查看属性坐标 查看属性范围 范围值并不是零或接近于零。 这意味着栅格具有范围,因此其已正确进行

十二、Vue 路由

文章目录 一、简介二、安装与基本配置安装 Vue Router创建路由实例在应用中使用路由实例三、路由组件与视图路由组件的定义与使用四、动态路由动态路由参数的定义与获取动态路由的应用场景五、嵌套路由嵌套路由的概念与配置嵌套路由的应用场景六、路由导航<router - link>…

C#实现画图,及实现图像运动,C#中GDI+图形图像技术(Graphics类、Pen类、Brush类)C#之快速入门GDI+绘图 C#实现快速画图功能

下载源码 <-------- 在C#的世界里&#xff0c;GDI如同一位多才多艺的艺术家&#xff0c;以其强大的绘图能力&#xff0c;让开发者能够轻松地在应用程序中挥洒创意&#xff0c;绘制出丰富多彩的图形世界。GDI不仅支持基本的几何图形绘制&#xff0c;还能处理复杂的图像处理任…

Echart实现3D饼图示例

在可视化项目中&#xff0c;很多地方会遇见图表&#xff1b;echart是最常见的&#xff1b;这个示例就是用Echart&#xff0c; echart-gl实现3D饼图效果&#xff0c;复制即可用 //需要安装&#xff0c;再引用依赖import * as echarts from "echarts"; import echar…

Devart dotConnect发布全新版本,支持EF Core 9、完全兼容 .NET 9 等!

dotConnect &#xff08;最新版dotConnect Universal试用下载&#xff09;是Devart旗下一种基于 ADO.NET 架构构建的增强型数据连接解决方案&#xff0c;也是一个采用多项创新技术的开发框架。dotConnect 包含面向主要数据库和流行云应用程序的高性能数据提供程序&#xff0c;并…

借助 FinClip 跨端技术探索鸿蒙原生应用开发之旅

在当今数字化浪潮汹涌澎湃的时代&#xff0c;移动应用开发领域正经历着深刻的变革与创新。鸿蒙操作系统的崛起&#xff0c;以其独特的分布式架构和强大的性能表现&#xff0c;吸引了众多开发者的目光。而FinClip 跨端技术的出现&#xff0c;为开发者涉足鸿蒙原生应用开发提供了…

UE5.3 虚幻引擎 Windows插件开发打包(带源码插件打包、无源码插件打包)

0 引言 随着项目体量的增大&#xff0c;所有代码功能都放一起很难管理。所以有什么办法可以将大模块划分成一个个小模块吗。当然有&#xff0c;因为虚幻引擎本身就遇到过这个问题&#xff0c;他的解决办法就是使用插件的形式开发。 例如&#xff0c;一个团队开发了文件I/O模块插…

如何轻松关闭 iPhone 上的 HEIC [HEIC 图像技巧]

您是否正在为关闭 iPhone 上的 HEIC 而烦恼&#xff1f;你不是一个人; Apple 的首选图像文件格式仍可能存在一些兼容性问题。当您与某人共享照片或尝试在Windows计算机上打开图像时&#xff0c;就会出现此问题。幸运的是&#xff0c;Apple 使关闭 HEIC iPhone 变得更加容易。 …

GRU-PFG:利用图神经网络从股票因子中提取股票间相关性

“MCI-GRU: Stock Prediction Model Based on Multi-Head Cross-Attention and Improved GRU” 论文地址&#xff1a;https://arxiv.org/pdf/2410.20679 摘要 金融市场因复杂性及大数据时代的来临&#xff0c;使得准确预测股票走势变得尤为重要。传统的时序分析模型&#xff0…

UE5失真材质

渐变材质函数&#xff1a;RadialGradientExponential&#xff08;指数径向渐变&#xff09; 函数使用 UV 通道 0 来产生径向渐变&#xff0c;同时允许用户调整半径和中心点偏移。 用于控制渐变所在的位置及其涵盖 0-1 空间的程度。 基于 0-1 的渐变中心位置偏移。 源自中心的径…

Go语言在实际项目中的应用:从RESTful API到日志监控 (十四)

Go语言在实际项目中的应用&#xff1a;从RESTful API到日志监控 &#x1f680; Go语言&#xff08;又叫Golang&#xff09;作为一种现代化的编程语言&#xff0c;凭借其简洁的语法和强大的性能&#xff0c;已经成为了很多企业技术栈的一部分。在实际项目中&#xff0c;Go不仅仅…

3blue1brow线代笔记

向量 物理&#xff1a;空间中的箭头&#xff0c;长度和方向决定一个向量。只要两者相同&#xff0c;可以任意移动保持不变 计算机&#xff1a;有序的数字列表 &#xff08;数组&#xff09; 数学&#xff1a;向量可以是任何东西&#xff0c;只要保证两个向量相加以及数字与向量…

壁纸样机神器,这个工具适合专业设计师用吗?

壁纸样机神器在一定程度上适合专业设计师使用&#xff0c;但是否适合具体取决于设计师的需求和使用场景&#xff1a; 适合专业设计师的方面 快速实现设计想法&#xff1a;专业设计师在创作过程中&#xff0c;有时需要快速将设计想法变为可视化的效果图&#xff0c;以便进行初…

STM32CUBEIDE FreeRTOS操作教程(十二):std dynamic memory 标准动态内存

STM32CUBEIDE FreeRTOS操作教程&#xff08;十二&#xff09;&#xff1a;std dynamic memory 标准动态内存 STM32CUBE开发环境集成了STM32 HAL库进行FreeRTOS配置和开发的组件&#xff0c;不需要用户自己进行FreeRTOS的移植。这里介绍最简化的用户操作类应用教程。以STM32F40…

在线机考|2024华为实习秋招春招编程题(最新)——第3题_PCB印刷电路板布线_300分(八)

题目内容 在PCB印刷电路板设计中,器件之间的连线需要避免线路的阻抗值增大、而且赛件之间还有别的器件和别的干扰源,在布线时我们希望受到的干扰尽量小。现将电路板简化成一个MN的矩阵,每个位置(单元格)的值表示其源干扰度。 如果单元格的值为0,表示此位置没有干扰源;如果单…

1961-2022年中国大陆多干旱指数数据集(SPI/SPEI/EDDI/PDSI/SC-PDSI/VPD)

DOI: 10.5194/essd-2024-270 干旱指数对于评估和管理缺水和农业风险至关重要;然而&#xff0c;现有数据集中缺乏统一的数据基础&#xff0c;导致不一致&#xff0c;对干旱指数的可比性提出了挑战。本研究致力于创建CHM_Drought&#xff0c;这是一个创新且全面的长期气象干旱数…

建造者模式 Builder Pattern

在创建一个对象的时候&#xff0c;构造器参数有点多&#xff0c;而且有些参数还是可选的&#xff0c;再者还有不少同类型的&#xff0c;那就更应该使用 builder 模式了。 使用 Builder 模式的初衷是 把易变性&#xff08;mutability&#xff09;移动到Builder类&#xff0c;而…

【人工智能机器学习基础篇】——深入详解监督学习之模型评估:掌握评估指标(准确率、精确率、召回率、F1分数等)和交叉验证技术

深入详解监督学习之模型评估 在监督学习中&#xff0c;模型评估是衡量模型性能的关键步骤。有效的模型评估不仅能帮助我们理解模型在训练数据上的表现&#xff0c;更重要的是评估其在未见数据上的泛化能力。本文将深入探讨监督学习中的模型评估方法&#xff0c;重点介绍评估指…