安徽湖滨建设集团网站,新媒体运营师,wordpress 华为云,常州市住房和城乡建设局网站一、Data Guard核心原理与架构1.1 核心工作机制物理Data Guard的本质是异机备份日志实时恢复的闭环体系#xff0c;核心依赖主备库间的日志传输与应用流程#xff0c;关键进程交互如下#xff1a;主库#xff08;Primary Database#xff09;#xff1a;LGWR…一、Data Guard核心原理与架构1.1 核心工作机制物理Data Guard的本质是异机备份日志实时恢复的闭环体系核心依赖主备库间的日志传输与应用流程关键进程交互如下主库Primary DatabaseLGWR进程负责将在线日志同步/异步传输至备库ARCH进程则处理归档日志传输确保日志完整性需开启FORCE LOGGING模式保证所有操作含NOLOGGING操作均写入日志。备库Standby DatabaseRFSRemote File Server进程接收主库日志写入Standby LogfileMRPMedia Recovery Process进程自动应用归档日志保持与主库数据一致若配置实时应用可实现秒级数据同步。日志校验FALFetch Archive Log Process进程检测备库归档日志连续性避免日志断档导致同步中断Oracle 10g后该机制已大幅优化。1.2 正常运行的技术前提操作系统兼容性主备库需采用相同字节序ENDIAN FORMAT的操作系统Oracle 11g后支持Windows与Linux跨平台部署参考MOS文章413484.1。网络带宽要求需满足归档日志传输需求考虑30%网络损耗计算公式为Required bandwidth ((Redo rate bytes per sec./0.7)*8)/1000000单位Mbps。存储性能备库存储需支撑日志快速应用避免日志应用延迟过大影响容灾可用性主备库数据文件、日志文件存储路径需通过参数配置映射。版本一致性主备库数据库软件版本、PSU补丁需保持一致避免日志应用时因版本差异导致兼容性错误。二、三种保护模式的技术对比与配置Data Guard提供三种保护模式需根据业务对数据一致性和性能的需求选择核心配置与特性如下2.1 最大保护模式MAXIMUM PROTECTION核心目标零数据丢失事务提交需双重确认。技术配置日志传输进程为LGWR网络模式为SYNC同步写磁盘模式为AFFIRM确认备库必须配置Standby Logfile。运行特性主库事务提交前需等待日志写入本地在线日志和备库Standby Logfile任一环节失败将导致主库不可用。适用场景对数据零丢失要求极高的核心业务需确保备库主机稳定性、网络低延迟及存储高性能。2.2 最大可用模式MAXIMUM AVAILABILITY核心目标兼顾零数据丢失与主库高可用。技术配置与最大保护模式一致LGWRSYNCAFFIRMStandby Logfile建议配置REOPEN参数避免网络故障导致主库挂起。运行特性正常状态下保持零数据丢失当备库故障或网络中断时自动切换至最大性能模式主库继续运行故障恢复后自动同步并恢复最大可用模式。注意事项主备网络不稳定时可能出现主库短暂等待需提前测试网络容错能力。2.3 最大性能模式MAXIMUM PERFORMANCE核心目标优先保障主库性能默认配置模式。技术配置日志传输进程可为LGWRASYNC模式或ARCH写磁盘模式为NOAFFIRM非确认备库建议配置Standby Logfile提升同步效率。运行特性主库事务提交无需等待备库日志写入仅需确保日志写入本地在线日志存在极小数据丢失风险异步传输场景。适用场景对性能要求高于数据零丢失的业务如非核心交易系统、报表系统。2.4 保护模式切换流程配置LOG_ARCHIVE_DEST_N参数指定对应保护模式的传输属性如SYNC/AFFIRM。若为Oracle 9.2版本或升级保护模式需执行shutdown immediate后重启至mount状态。执行切换命令alter database set standby database to maximize (AVAILABILITY | PERFORMANCE | PROTECTION);。验证切换结果select protection_mode, protection_level from v$database;。三、物理Data Guard部署核心配置步骤3.1 前置准备主库检查确认主库处于归档模式开启FORCE LOGGINGalter database force logging;检查归档日志生成速率评估网络与备库存储承载能力。备库环境安装与主库一致的数据库软件及补丁复制主库密码文件至备库对应目录RAC环境需所有节点密码文件一致。网络配置主备库配置监听文件listener.ora、tnsnames.ora确保以SYSDBA权限互访为角色切换奠定基础。3.2 关键参数配置日志传输参数主库配置log_archive_dest_1为本地归档路径log_archive_dest_2指定备库连接串及传输属性如serviceSTBY LGWR SYNC AFFIRM。路径转换参数若主备库文件路径不同配置db_file_name_convert数据文件路径映射和log_file_name_convert日志文件路径映射。自动管理参数设置standby_file_managementAUTO实现备库自动同步主库新增数据文件。3.3 主备数据同步与备库配置生成Standby控制文件主库执行alter database create standby controlfile as /path/standby.ctl;传输至备库并更新备库control_files参数。数据文件同步主库开启热备份模式alter database begin backup;通过FTP或RMAN镜像复制数据文件至备库复制完成后执行alter database end backup;。配置Standby Logfile备库日志组数需不少于主库每组大小与主库在线日志一致RAC环境每个THREAD需配置两组以上命令示例alter database add standby logfile group 4 /path/standby_redo04.log size 500M;。启动同步备库启动至mount状态执行recover standby database手动应用归档日志日志同步正常后开启MRP进程自动应用alter database recover managed standby database disconnect from session;。3.4 角色切换配置支持三种切换方式SWITCHOVER正常切换主备库角色互换无数据丢失需备库应用完所有主库日志。GRACEFUL FAILOVER主库故障时的优雅切换需备库日志完整无数据丢失。FORCED FAILOVER强制切换备库通过RESETLOGS打开可能丢失数据仅主库完全不可用时使用。四、运维关键技术要点与故障处理4.1 日常运维核心监控项日志同步状态通过v$archive_dest查看日志传输状态v$managed_standby监控MRP进程运行情况避免备库归档日志积压定期清理过期归档开启闪回时需监控闪回空间。数据一致性检查定期使用DBV工具扫描备库数据文件dbv file/path/datafile.dbf logfile/path/dbv.log或备库只读打开后通过EXP/EXPDP导出业务表验证数据完整性。参数一致性主库修改数据库参数、操作系统参数或sys用户密码后需同步更新备库避免角色切换时失败。4.2 常见故障处理归档日志断档检查主库归档日志是否被误删备库通过FAL进程自动获取缺失日志若自动获取失败手动复制主库缺失归档至备库并注册alter database register logfile /path/archivelog.dbf;。备库日志应用延迟排查备库存储I/O性能调整MRP进程并行度alter database recover managed standby database parallel 4 disconnect;优化主库日志传输参数避免网络瓶颈。新增数据文件同步失败检查备库db_file_name_convert参数配置确保主库新路径已映射至备库对应路径手动复制数据文件至备库并执行alter database rename file映射。4.3 角色切换前准备检查备库状态确认备库日志应用完成无延迟检查备库SGA、PGA等参数是否满足业务运行需求。网络与连接测试主备库互访测试sqlplus sys/xxxdb_link as sysdba重启主库优化切换速度。切换后验证切换完成后检查备库原主库在线日志配置、归档路径是否正常执行业务操作验证数据可用性。五、物理Data Guard核心配置参数对照表参数类别 参数名 参数说明 配置示例 注意事项核心标识参数 DB_UNIQUE_NAME 主备库唯一标识主备库需不同 主库*.db_unique_namePRIMARY_DB备库*.db_unique_nameSTANDBY_DB 必须确保主备库标识唯一避免冲突核心标识参数 LOG_ARCHIVE_CONFIG 控制归档日志传输的主备库列表 *.log_archive_configDG_CONFIG(PRIMARY_DB,STANDBY_DB) 需包含所有主备库的DB_UNIQUE_NAME日志传输参数 LOG_ARCHIVE_DEST_NN≥2 配置备库日志接收地址及传输属性 最大保护模式*.log_archive_dest_2serviceSTBY LGWR SYNC AFFIRM valid_for(online_logfiles,primary_role)最大性能模式*.log_archive_dest_2serviceSTBY LGWR ASYNC NOAFFIRM valid_for(online_logfiles,primary_role) 1. service指定备库TNS连接串2. 不同保护模式对应不同传输属性SYNC/ASYNC、AFFIRM/NOAFFIRM3. valid_for限定参数作用场景日志传输参数 LOG_ARCHIVE_DEST_STATE_N 启用/禁用对应LOG_ARCHIVE_DEST_N的传输功能 *.log_archive_dest_state_2ENABLE 主库需启用备库可设为DEFER日志传输参数 LOG_ARCHIVE_DEST_1 本地归档日志存放路径 *.log_archive_dest_1location/arch/orcl valid_for(all_logfiles,all_roles) 主备库均需配置存放本地归档日志路径转换参数 DB_FILE_NAME_CONVERT 主备库数据文件路径映射 备库*.db_file_name_convert/primary/oradata,/standby/oradata 1. 格式为“主库路径,备库路径”2. 多路径映射需依次列出如/path1,/path1_standby,/path2,/path2_standby路径转换参数 LOG_FILE_NAME_CONVERT 主备库在线日志文件路径映射 备库*.log_file_name_convert/primary/redo,/standby/redo 与数据文件路径转换规则一致需匹配主备库日志文件存放路径自动管理参数 STANDBY_FILE_MANAGEMENT 备库自动同步主库新增数据文件 *.standby_file_managementAUTO 设为AUTO时备库会自动创建主库新增的数据文件此时备库禁止执行ALTER DATABASE RENAME、ADD/DROP LOGFILE等操作保护模式相关 -模式切换命令 切换Data Guard保护模式 最大可用模式alter database set standby database to maximize availability; 1. 切换前需确保LOG_ARCHIVE_DEST_N参数匹配对应模式要求2. Oracle 9.2及以下版本需重启至MOUNT状态切换归档日志管理 STANDBY_ARCHIVE_DESTOracle 10g前 备库归档日志存放路径 *.standby_archive_dest/arch/standby Oracle 11g及以上版本建议使用LOG_ARCHIVE_DEST_N替代日志完整性参数 FORCE LOGGING 强制主库所有操作写入在线日志 主库执行alter database force logging; 1. 配置Data Guard的前提确保备库能同步所有数据变更2. 主库NOLOGGING操作较多时会影响性能归档检测参数 FAL_SERVER 备库获取缺失归档日志的主库地址 备库*.fal_serverPRIMARY_DB 可选配置Oracle 10g后已优化归档检测机制非必需归档检测参数 FAL_CLIENT 标识备库供主库识别归档请求来源 备库*.fal_clientSTANDBY_DB 需与FAL_SERVER配合使用仅在归档断档时生效静态参数 REMOTE_LOGIN_PASSWORDFILE 启用密码文件认证主备库互访必需 主备库*.remote_login_passwordfileEXCLUSIVE 1. 主备库需使用相同的密码文件2. RAC环境需确保所有节点密码文件一致六、物理Data Guard配置步骤与参数对应清单配置阶段 序号 操作步骤 对应参数/命令 注意事项一、前置准备 1 检查主备操作系统兼容性 - 主备需相同字节序ENDIAN FORMATOracle 11g后支持Windows与Linux跨平台参考MOS 413484.12 主库开启归档模式 alter database archivelog; 确保主库归档日志正常生成避免日志丢失3 主库启用FORCE LOGGING模式 alter database force logging; 保证所有操作写入在线日志避免备库数据丢失4 备库安装数据库软件 - 软件版本、PSU补丁需与主库一致5 复制主库密码文件至备库 - RAC环境需所有节点密码文件相同Oracle 10g后主备sys用户密码需一致6 配置主备库监听与TNS listener.ora、tnsnames.ora 确保主备库以SYSDBA权限互访如sqlplus sys/xxxtns_name as sysdba二、核心参数配置主库 7 设置数据库唯一标识 *.db_unique_namePRIMARY_DB 主备库标识必须不同8 配置归档日志传输范围 *.log_archive_configDG_CONFIG(PRIMARY_DB,STANDBY_DB) 包含所有主备库的DB_UNIQUE_NAME9 配置本地归档路径 *.log_archive_dest_1location/arch/orcl valid_for(all_logfiles,all_roles) 主备库均需配置本地归档路径10 配置备库日志传输参数按保护模式 最大可用模式*.log_archive_dest_2serviceSTBY LGWR SYNC AFFIRM valid_for(online_logfiles,primary_role)最大性能模式*.log_archive_dest_2serviceSTBY LGWR ASYNC NOAFFIRM valid_for(online_logfiles,primary_role) service指定备库TNS连接串最大保护/可用模式需备库配置Standby Logfile11 启用日志传输 *.log_archive_dest_state_2ENABLE 主库启用备库可设为DEFER二、核心参数配置备库 12 设置数据库唯一标识 *.db_unique_nameSTANDBY_DB 与主库不同需在log_archive_config中包含13 配置数据文件路径转换 *.db_file_name_convert/primary/oradata,/standby/oradata 格式为“主库路径,备库路径”多路径需依次列出14 配置日志文件路径转换 *.log_file_name_convert/primary/redo,/standby/redo 与数据文件路径转换规则一致匹配主备日志存放路径15 启用备库自动同步数据文件 *.standby_file_managementAUTO 设为AUTO时备库禁止执行ALTER DATABASE RENAME等操作16 可选配置归档日志检测FAL *.fal_serverPRIMARY_DB*.fal_clientSTANDBY_DB Oracle 10g后非必需归档检测机制已优化三、主备数据同步 17 主库创建Standby控制文件 alter database create standby controlfile as /path/standby.ctl; 传输至备库更新备库control_files参数18 主库复制数据文件至备库 主库alter database begin backup;复制完成alter database end backup; 业务低峰期操作避免占用生产资源ASM环境用RMAN镜像复制19 备库添加Standby Logfile alter database add standby logfile group 4 /standby/redo04.log size 500M; 日志大小与主库一致组数≥主库组数1RAC每个THREAD≥2组四、备库启动与日志应用 20 备库启动至MOUNT状态 startup mount; 确保控制文件、数据文件路径正确21 手动应用归档日志初始化 recover standby database; 同步至主备SCN一致22 启用MRP进程自动应用日志 alter database recover managed standby database disconnect from session; Oracle 11g Active Data Guardalter database recover managed standby database using current logfile disconnect from session;23 可选备库开启闪回功能 alter database flashback on; 需配置闪回日志存放路径便于故障回退五、测试与验证 24 验证日志传输状态 select status, error from v$archive_dest where dest_id2; 状态为VALID表示传输正常25 验证备库日志应用 select process, status from v$managed_standby; MRP进程状态为APPLYING_LOG表示正常26 测试角色切换SWITCHOVER 主库alter database commit to switchover to physical standby;备库alter database commit to switchover to physical primary; 切换前确保备库应用完所有主库日志27 数据一致性检查 主备库执行相同查询对比结果或用exp/expdp导出验证 确保备库数据与主库一致