Linux 上 Oracle 复制的主流方案与适用场景
Oracle Data Guard 实现步骤(Linux 19c 示例)
ALTER DATABASE FORCE LOGGING;ALTER SYSTEM SET log_archive_config='DG_CONFIG=(orcl_primary,orcl_standby)';ALTER SYSTEM SET log_archive_dest_1='LOCATION=/u01/app/oracle/archivelog VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=orcl_primary';ALTER SYSTEM SET log_archive_dest_2='SERVICE=standby ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orcl_standby';ALTER SYSTEM SET fal_server='standby';ALTER SYSTEM SET standby_file_management='AUTO';DB_FILE_NAME_CONVERT、LOG_FILE_NAME_CONVERT;必要时设置 DB_UNIQUE_NAME 区分主备。STARTUP NOMOUNT;使用 RMAN Duplicate 从主库创建备库:
rman target sys/Oracle123@primary auxiliary /duplicate target database for standby from active database spfile set db_unique_name='orcl_standby' set ... nofilenamecheck;V$ARCHIVE_DEST_STATUS、V$DATAGUARD_STATS,在备库检查 V$MANAGED_STANDBY 与 V$RECOVERY_PROGRESS。Oracle GoldenGate 实现步骤(Linux Oracle 11g/19c 通用)
ggsci → create subdirs 创建运行目录。ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;(必要时 ALTER SYSTEM SWITCH LOGFILE;)SELECT ANY TABLE/INSERT/UPDATE/DELETE 等),并授予 DBMS_GOLDENGATE_AUTH 包权限(视版本而定)。START MANAGERADD EXTRACT ext1, TRANLOG, BEGIN NOWADD EXTTRAIL /u01/app/oracle/ogg/dirdat/et, EXTRACT ext1EXTRACT ext1 ...; TABLE schema.*;ADD EXTRACT dp1, EXTTRAILSOURCE /u01/app/oracle/ogg/dirdat/et;ADD RMTTRAIL /u01/app/oracle/ogg/dirdat/rt, EXTRACT dp1ADD REPLICAT rep1, EXTTRAIL /u01/app/oracle/ogg/dirdat/rt, BEGIN NOWREPLICAT rep1 ...; MAP schema.table, TARGET schema.table;START EXTRACT/START REPLICAT 进入实时 CDC。GGSCI> INFO ALL、VIEW REPORT 与 ERROR 日志,核对 LAG 与 CHECKPOINT。HANDLECOLLISIONS/RESOLVECONFLICT)。Data Pump 与 RMAN 的复制用法(初始化/迁移/快速备库)
expdp user/pwd DIRECTORY=tmpDir DUMPFILE=exp.dmp LOGFILE=exp.log SCHEMAS=your_schema → 用 scp/rsync 传输 .dmp 至目标。impdp user/pwd DIRECTORY=tmpDir DUMPFILE=exp.dmp LOGFILE=imp.log [REMAP_SCHEMA=src:trg] [TABLE_EXISTS_ACTION=REPLACE/TRUNCATE]。RMAN> BACKUP DATABASE PLUS ARCHIVELOG;RMAN> STARTUP NOMOUNT; RESTORE DATABASE; RECOVER DATABASE;RMAN> DUPLICATE TARGET DATABASE FOR STANDBY ...(可与 Data Guard 无缝衔接)。方案选型与对比
| 方案 | 复制方式 | 时延与一致性 | 主要优势 | 典型场景 |
|---|---|---|---|---|
| Data Guard(物理) | Redo/归档日志,物理一致 | 近实时,RPO 近 0 | 高可用/灾备、维护简单、成熟可靠 | 生产库容灾、主备切换 |
| Data Guard(逻辑) | LogMiner/SQL 应用 | 近实时 | 跨平台/跨字符集、对象选择性 | 跨版本迁移、报表/查询库 |
| GoldenGate | 事务日志挖掘(Extract/Replicat) | 实时,低延迟 | 异构、双向/多向、灵活转换与分发 | 实时 CDC、零停机迁移、多活/分发 |
| Data Pump | 逻辑导出/导入 | 批量/一次性 | 简单易用、跨版本/平台 | 初始化、迁移、开发测试 |
| RMAN 复制 | 物理备份/还原 | 取决于备份频率 | 快速搭建备库、恢复能力强 | 快速恢复、备库搭建与演练 |