以下是 Oracle 11g 至 23ai 版本搭建 Active Data Guard(ADG)的方法总结,涵盖各版本核心步骤及差异点,并附最终总结:
1. Oracle 各版本 ADG 搭建方法对比
| 步骤 | Oracle 11g | Oracle 12c | Oracle 18c | Oracle 21c | Oracle 23ai |
|---|---|---|---|---|---|
| 1. 主库准备 | 1. 开启归档模式:ALTER DATABASE ARCHIVELOG;
ALTER DATABASE FORCE LOGGING;
LOG_ARCHIVE_CONFIG='DG_CONFIG=(主库名,备库名)'
LOG_ARCHIVE_DEST_2='SERVICE=备库TNS VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=备库名'
LOG_ARCHIVE_DEST_STATE_2=ENABLE |
1. 同 11g 基础配置
ALTER PLUGGABLE DATABASE ALL ARCHIVELOG;
DB_UNIQUE_NAME自动区分主备,无需手动配置DG_CONFIG
|
1. 同 12c
ALTER DATABASE ENABLE GUARD STANDBY;
ALTER DATABASE ADD STANDBY LOGFILE AUTO; |
1. 同 18c
LOG_ARCHIVE_DEST_2默认启用自动重试(REOPEN=30)
|
1. 同 21c
DBMS_DG_ADVISE.GENERATE_CONFIG生成最优参数集
DB_CREATE_FILE_DEST兼容云存储) |
| 2. 备库初始化 | 1. 复制主库密码文件:
scp $ORACLE_HOME/dbs/orapw<主库SID> 备库用户@备库IP:$ORACLE_HOME/dbs/orapw<备库SID>
BACKUP DATABASE PLUS ARCHIVELOG;
RMAN> RESTORE DATABASE;(需提前注册备份)
ALTER DATABASE CREATE STANDBY CONTROLFILE AS '/tmp/standby.ctl';
control01.ctl、control02.ctl)
spfile,修改:DB_UNIQUE_NAME=备库名、FAL_SERVER=主库TNS、LOG_ARCHIVE_DEST_1=备库归档路径
STARTUP NOMOUNT;(加载参数)→ ALTER DATABASE MOUNT STANDBY DATABASE;
SELECT NAME, CHECKPOINT_CHANGE# FROM V$DATAFILE_HEADER;(确保所有文件 SCN 一致) |
1. 密码文件同步:
RMAN DUPLICATE FROM ACTIVE DATABASE(自动同步密码文件)
DUPLICATE TARGET DATABASE FOR STANDBY FROM ACTIVE DATABASE NOFILENAMECHECK;(无需手动复制文件)
STARTUP MOUNT;(自动识别 Standby 控制文件) |
1. 密码文件:DUPLICATE自动同步,手动复制需保持 SID 匹配
DUPLICATE支持并行传输(PARALLELISM 4)
MOUNT或OPEN READ ONLY状态执行增量刷新
NOFILENAMECHECK默认生效) |
1. 密码文件:支持ALTER SYSTEM SET REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE SCOPE=SPFILE;自动同步
DUPLICATE增强并行传输(需提前配置 RMAN 通道:CONFIG ALLOCATE CHANNEL ... PARALLELISM 8;)
|
1. 密码文件:AI 自动检测并同步(DBMS_AI_DG.SYNC_PASSWORD_FILE)
DUPLICATE集成 AI 加速(动态调整并行度)
|
| 3. 日志传输配置 | 1. 主库启动日志传输:ALTER SYSTEM SWITCH LOGFILE;(触发归档)
SELECT DEST_ID, STATUS, ERROR FROM V$ARCHIVE_DEST WHERE DEST_ID=2;
SELECT SEQUENCE#, STATUS FROM V$ARCHIVED_LOG WHERE DEST_ID=1;(确认日志已接收) |
1. 主库配置简化:LOG_ARCHIVE_DEST_2='SERVICE=备库TNS DB_UNIQUE_NAME=备库名'(自动识别角色)
SSL_CLIENT_AUTHENTICATION=TRUE)
V$LOG_ARCHIVE_DEST_STATUS(更直观显示传输状态) |
1. 同 12c,新增ARCHIVE_LAG_TARGET=300(5 分钟自动切换日志,减少延迟)
COMPRESSION=MEDIUM)
|
1. 增强压缩:COMPRESSION=HIGH(更高压缩比,适合低带宽环境)
V$DG_LOG_TRANSPORT_STATUS(实时显示传输延迟、吞吐量)
|
1. AI 监控传输延迟:V$AI_DG_LAG(提前预警潜在传输中断)
|
| 4. 备库应用配置 | 1. 启动实时应用:
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;
SELECT PROCESS, STATUS FROM V$MANAGED_STANDBY WHERE PROCESS='MRP0';(需显示APPLYING_LOG)
|
1. 启动实时应用:同 11g,支持USING CURRENT LOGFILE自动启用
ALTER DATABASE OPEN READ ONLY;(12c 新特性,无需单独启动)
FAL_SERVER拉取缺失日志) |
1. 启动应用:ALTER DATABASE RECOVER MANAGED STANDBY DATABASE IN BACKGROUND;(进程更稳定)
ALTER DATABASE SET STANDBY_PARALLEL_DEGREE=4;
ALTER DATABASE SWITCHOVER TO PRIMARY;(无需手动停启) |
1. 并行应用增强:PARALLEL_APPLY=ENABLED(自动调整并行度)
|
1. AI 优化并行应用:动态调整线程数(基于负载自动适配)
|
| 5. 验证与监控 | 1. 主库查询归档应用状态:
SELECT SEQUENCE#, ARCHIVED, APPLIED FROM V$ARCHIVED_LOG;
SELECT NAME, VALUE FROM V$DATAGUARD_STATS WHERE NAME='apply lag';
|
1. 新增DBA_HIST_DG_STANDBY_STATS(历史监控)
DBMS_DG.VALIDATE_CONFIG验证配置完整性 |
1. 同 12c,增强V$DG_BROKER_CONFIG(显示详细配置差异)
ALTER DATABASE VERIFY STANDBY DATABASE;(自动校验主备一致性) |
1. 新增V$DG_PERFORMANCE(实时性能指标:传输速率、应用延迟)
FLASHBACK STANDBY DATABASE TO SCN ...) |
1. AI 诊断工具:DBMS_AI_DG.ANALYZE(自动识别配置错误、性能瓶颈)
|
2. 总结:各版本 ADG 搭建核心差异与注意事项
- 11g 核心特点:全手动流程,需严格同步密码文件、控制文件和参数文件,依赖
FAL_SERVER处理 GAP,适合对稳定性要求高的传统环境。 - 12c 核心升级:引入
DUPLICATE FROM ACTIVE DATABASE实现半自动化,支持备库只读打开与日志应用并行,适配多租户架构。 - 18c 核心优化:在线刷新能力增强,支持自动路径处理和断点续传,大幅降低手动操作量,更适合混合云环境。
- 21c 核心特性:并行传输 / 应用性能提升,自动 GAP 修复,集成更多监控视图,适合高可用要求的企业级部署。
- 23ai 核心突破:AI 驱动的参数配置、冲突修复和性能优化,云原生特性增强,支持跨版本同步,显著降低运维复杂度。
整体来看,Oracle ADG 搭建从 11g 的 “全手动、高门槛” 逐步演进到 23ai 的 “智能化、低干预”,核心目标是提升灾备系统的可靠性与易用性,同时适配云环境和复杂架构需求。
posted on
浙公网安备 33010602011771号