Linux 上 Oracle 数据库容灾的主流做法
在 Linux 环境下,企业级容灾通常采用 Oracle Data Guard:通过 重做传输服务 将主库的 重做数据 持续复制到 备库,并由 应用服务 在备库上应用,实现故障切换与灾难恢复。Data Guard 支持一主多备、跨机房/跨城部署,备库可在 MOUNT 状态进行 只读查询(取决于配置),主库故障时可将任一备库切换为生产角色,显著降低停机时间。物理备库与主库 块到块一致,逻辑备库将重做转为 SQL 在备库执行,二者用途与特性不同,可按业务选择或组合部署。
部署步骤与关键配置
ALTER DATABASE FORCE LOGGING;STARTUP MOUNT; ALTER DATABASE ARCHIVELOG; ALTER DATABASE OPEN;(可按需设置 DB_RECOVERY_FILE_DEST 与 DB_RECOVERY_FILE_DEST_SIZE)。SID_LIST_LISTENER),确保主库可远程连接到备库实例。orapworcladg),确保 SYS 远程登录可用。DB_UNIQUE_NAME=orcl;LOG_ARCHIVE_CONFIG='DG_CONFIG=(orcl,orcladg)'LOG_ARCHIVE_DEST_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=orcl'DB_UNIQUE_NAME=orcladg;LOG_ARCHIVE_CONFIG='DG_CONFIG=(orcl,orcladg)'LOG_ARCHIVE_DEST_2='SERVICE=orcl LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orcl'(示例为 ASYNC;需零数据丢失时可用 SYNC 并配合 LOG_ARCHIVE_DEST_STATE_2=ENABLE)。STARTUP NOMOUNT 并用该控制文件 MOUNT,然后开始 REDO 应用。ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;V$DATAGUARD_STATUS、V$ARCHIVE_DEST_STATUS、V$MANAGED_STANDBY 等视图,确认 重做传输与应用 正常、无 GAP。保护模式与切换演练
监控与运维要点
V$ARCHIVE_GAP、V$RECOVERY_PROGRESS、V$DATAGUARD_STATS 等视图。LOG_ARCHIVE_CONFIG、LOG_ARCHIVE_DEST_n 的 SERVICE/DB_UNIQUE_NAME、网络连通性与权限;处理 GAP 后观察 MRP 恢复进度。