数据库教程FGMT26‑1‑GoldenGate数据库容灾迁移01(OGG同构异构、数据库迁移、数据同步、容灾复制)
前言
Oracle GoldenGate(简称OGG)作为Oracle企业级CDC逻辑复制工具,广泛应用于Oracle同版本迁移、跨大版本升级迁移、RAC向单机迁移、ASM存储环境迁移、跨Windows‑Linux平台迁移、CDB/PDB容器数据库复制场景。OGG存在经典GGSCI架构与微服务Microservices架构两大分支,经典架构依靠GGSCI命令行管理后台进程,适配传统Linux物理机、虚拟机;微服务架构提供Web图形控制台、REST API接口,适配云平台、自动化运维。风哥教程本文覆盖OGG19c经典架构多套同构迁移实战,包含Oracle11g‑to‑11g、Oracle11g‑to‑19c、RAC‑to‑单机、ASM‑to‑ASM、跨Windows‑Linux迁移;同时包含OGG21c微服务CDB/PDB复制;新增Oracle 26ai数据库搭配OGG23ai相关部署、约束、实操要点;讲解GoldenGate Veridata数据校验修复、全套日常运维管理、DDL变更处理、无主键表处理、logdump日志解析、灾备切换完整流程。风哥 itpux‑com
本套风哥教程面向DBA、数据集成工程师、迁移实施架构师;实验环境两台独立主机,源端fgedu‑net‑cn1,目标端fgedu‑net‑cn2,单台主机硬件规格64G内存,8颗CPU ;数据库名fgedudb,业务schema用户名fgedu;OGG软件根目录统一/fgedudb/ogg;涵盖Oracle11g、Oracle19c、Oracle26ai;OGG19c经典架构、OGG21c微服务、OGG23ai微服务。风哥教程本文分为前言大纲、核心理论知识、实战操作演练、风哥针对本文总结四大模块;实战提供大量可直接复制shell、GGSCI、PL/SQL脚本,读者可以在两套独立测试主机完整复现各类迁移、运维操作。网上搜索风哥教程可以学习全套数据库教程
内容大纲
- OGG同构复制整体综述,多套迁移场景环境规划,经典架构、微服务架构差异;Oracle26ai+OGG23ai版本说明
- 核心理论:Extract抽取、DataPump投递、Replicat应用,trail队列、检查点Checkpoint;FORCE LOGGING、schema补充日志;存量初始化各类方案对比;OGG23ai针对26ai数据库的新特性与约束
- OGG各类初始化方案:经典直接加载、expdp数据泵初始化、RMAN备份恢复初始化;经典模式与集成模式原理与互相转换
- 实战1:OGG19c Oracle11g‑to‑11g单文件系统经典初始化部署
- 实战2:OGG19c Oracle11g‑to‑19c单文件系统expdp初始化迁移
- 实战3:OGG19c Oracle19c RAC‑to‑单机 expdp初始化部署
- 实战4:OGG19c Oracle19c ASM‑to‑ASM RMAN初始化迁移
- 实战5:OGG19c Oracle19c单文件系统集成Extract expdp初始化
- 实战6:OGG19c Oracle19c Windows‑to‑Linux ASM跨平台集成复制
- 实战7:OGG21c CDB/PDB微服务图形界面expdp初始化复制
- 实战8:OGG21c微服务命令行RMAN初始化复制
- 实战9:GoldenGate Veridata源目标数据对比、差异自动修复实操
- 补充实战:Oracle26ai搭配OGG23ai微服务部署实操要点
- OGG全套日常维护高级管理:进程启停流程、小表DDL变更步骤、大表变更步骤、表重新初始化、数据过滤分发、字段映射转换、目标端增加列、无主键表处理、logdump工具分析trail、进程合并拆分、中文对象处理、归档丢失故障处理
- OGG灾备环境计划切换完整实施步骤
- OGG项目上线验收清单,高频故障汇总
一、核心理论知识
本章节为本套风哥教程理论基础,理解OGG经典架构、集成模式、微服务架构差异,掌握多种存量初始化方案适用场景,理清运维变更、切换底层逻辑;同时补充Oracle26ai数据库与OGG23ai配套的版本约束。风哥教程 113257174
1.1 OGG经典架构与微服务架构对比
- 经典GGSCI架构(OGG19c为主) :GGSCI命令行交互;MGR管理进程、Extract、DataPump、Replicat全部操作系统后台进程;参数文件存放在本地文件;适合传统物理机、虚拟机,部署简单,运维依靠脚本与手工命令。注意:OGG23ai已经不再支持经典GGSCI架构,仅保留微服务架构。
- 微服务Microservices架构(OGG21c、OGG23ai):Service Manager统一管理;Administration Server、Distribution Server、Receiver Server、Performance Metrics Server;提供Web控制台、REST API;配置存放在元数据库;支持容器、K8s;可以图形或者curl命令行部署复制链路。OGG23ai是适配Oracle26ai的主流版本,安装包仅提供微服务模式,不再提供传统GGSCI经典二进制程序。
核心组件通用概念,两种架构都适用:
- Extract抽取进程:读取源端redo/归档日志,捕获已提交事务,生成本地trail二进制队列;分为经典Extract直接读磁盘redo 、Integrated集成Extract依托数据库LogMiner挖掘日志两种模式。
- DataPump投递进程:读取本地trail,网络传输投递到目标端,网络中断本地持久化trail,网络恢复自动续传,生产强烈部署DataPump,禁止Extract直接写远程trail。
- Replicat应用进程:读取目标端trail,解析为SQL在目标库执行;分为经典Replicat、Integrated集成Replicat,集成模式依托数据库Inbound Server引擎。
- Trail文件:二进制队列,按大小切分,序列号递增;源本地trail、目标remote trail。
- Checkpoint检查点:记录Extract读取日志位置、Replicat消费trail位置;分为文件检查点、数据库检查点表;进程重启接续处理,避免重复或者丢失数据。网上搜索风哥教程可以学习全套数据库教程
1.2 Oracle 26ai + OGG23ai配套版本理论要点
Oracle26ai(AI Database)为新一代LTS数据库,配套复制软件为OGG23ai(版本号23.26.x)。
- 参数强制要求:数据库参数
enable_goldengate_replication=true必须开启,否则复制捕获功能不可用。 - 权限模型变化:不再推荐使用C##公共账号,优先在PDB内部创建本地OGG账号,使用内置角色
OGG_CAPTURE、OGG_APPLY,不再需要手工授予海量零散权限。 - CDB/PDB约束:OGG23ai不再支持CDB$ROOT根容器级别的Extract抽取,必须针对每一个业务PDB独立创建Extract进程,不支持根捕获多PDB统一抽取。
- 能力增强:原生支持Vector向量类型复制;支持JSON Duality视图复制;ACDR冲突检测解析能力得到增强。
- 架构硬性约束:OGG23ai只有微服务架构,没有传统GGSCI经典模式,升级旧环境必须做架构迁移。风哥数据库教程 itpux‑com
1.3 Oracle源端数据库硬性前置约束
- 数据库必须开启归档模式;
- FORCE LOGGING强制日志,nologging直接路径插入可以生成完整redo,防止OGG捕获不到变更;
- Schema级别补充日志
ADD SCHEMATRANDATA fgedu,update/delete操作需要主键、唯一键列信息; - OGG数据库账号:源端需要读取redo、logmnr、字典视图权限;目标端需要DML、DDL、检查点表创建权限;26ai优先使用系统预置角色
OGG_CAPTURE、OGG_APPLY。
1.4 存量数据初始化方案对比
增量Extract只能捕获进程启动之后产生的事务;存量基线数据必须做初始化,实现存量+增量无缝衔接。
- OGG Direct Load直接加载:Extract直接全表读取源表,网络发送Replicat写入目标;适合小量表,大表性能差。
- expdp/impdp数据泵初始化:Oracle‑Oracle同构迁移主流方案;导出记录flashback_time对应的SCN;Extract从该SCN开始捕获,存量导入同时增量持续追赶延迟。
- RMAN备份恢复初始化:适合ASM‑to‑ASM大库迁移;RMAN恢复目标库,记录恢复结束SCN,Extract从该SCN启动;适合TB级超大数据库。
- 跨平台迁移:Windows向Linux迁移,RMAN跨平台转换或者expdp,配合集成Extract。
迁移核心流程:源库业务不停机 → 启动Extract捕获增量 → 执行存量初始化加载 → 等待Replicat追赶增量延迟趋近于0 → 业务停止源端写入 → 确认trail全部应用完成 → 业务切换指向目标库。网上搜索风哥教程可以学习全套数据库教程
1.5 经典模式与Integrated集成模式
- 经典Extract:进程直接操作系统层读取redo/归档磁盘文件;优点不占用数据库内部资源;缺点RAC环境多thread日志处理复杂,归档被提前删除直接abend。
- Integrated集成Extract:Extract作为LogMiner客户端,数据库内部完成redo解析输出LCR记录;RAC、DG切换场景兼容性更好;数据库会消耗少量内存用于Streams Pool。
- 集成Replicat:Replicat把LCR交给数据库Inbound Server执行SQL;数据库内部处理约束、触发器;支持ACDR冲突解析。>
模式之间可以互相转换,转换前务必备份参数文件、trail、检查点。
1.6 GoldenGate Veridata原理
Veridata是Oracle配套数据校验工具,独立于OGG复制进程;低压力对比源端、目标端表数据,输出不一致记录,并且可以生成修复SQL脚本,执行自动修复;迁移割接前后、容灾日常巡检用来验证源目标数据一致性,迁移项目必备工具。
1.7 OGG日常运维关键知识点
- 进程启停顺序:MGR优先启动;之后Extract,之后DataPump;最后Replicat;停止顺序反向,先停Replicat,再DataPump,再Extract,最后MGR。
- DDL表变更:小表可以在线执行DDL;大表ALTER操作,需要评估锁等待,部分场景需要暂停复制进程;
- 无主键表:必须配置
KEYCOLS手工指定唯一定位列,否则update、delete操作无法执行; - logdump工具:解析trail二进制文件,排查捕获、应用异常,查看事务原始记录;
- 归档日志丢失:源端归档被RMAN提前删除,经典Extract直接abend;集成Extract依赖LogMiner,同样会报错,需要重新初始化受影响表。
上51CTO搜索风哥可以学习全套数据库教程
二、实战操作演练
环境说明:
源主机
fgedu‑net‑cn1,目标主机fgedu‑net‑cn2;硬件64G内存8CPU;OGG家目录/fgedudb/ogg;Oracle版本包含11g、19c、26ai;OGG19c(经典)、OGG21c(微服务)、OGG23ai(微服务,适配26ai);
操作系统操作用户oracle;除特别说明,经典架构使用GGSCI交互;微服务架构使用WebUI/RESTAPI;
通用前置:所有主机OGG执行
create subdirs;MGR进程端口7809,防火墙放行7809‑7900端口。
实战1:OGG19c Oracle11g‑to‑11g单文件系统经典初始化部署
源fgedu‑net‑cn1 Oracle11g,目标fgedu‑net‑cn2 Oracle11g,文件系统存储,OGG19c经典架构,Direct Load直接加载初始化。
2.1.1 源端数据库预配置
alter database force logging;
alter database archivelog;
create user ogg_src identified by fgedudb default tablespace users temporary tablespace temp;
grant connect,resource,select any dictionary,execute on dbms_logmnr to ogg_src;
exec dbms_goldengate_auth.grant_admin_privilege('ogg_src');
add schematrandata fgedu;
--业务测试schema
create user fgedu identified by fgedudb default tablespace users;
grant connect,resource to fgedu;
create table fgedu.t_ord(id number primary key,ord_name varchar2(120),create_dt date);
insert into fgedu.t_ord values(1,'ORD001',sysdate);
commit;
2.1.2 源端MGR、Extract、DataPump配置
edit params mgr
mgr参数
PORT 7809
DYNAMICPORTLIST 7810‑7900
AUTOSTART EXTRACT *
AUTORESTART EXTRACT *,RETRIES 5,WAITMINUTES 2
PURGEOLDEXTRACTS ./dirdat/*,USECHECKPOINTS,MINKEEPDAYS 7
start mgr
add extract ext_o11g,tranlog,begin now
add exttrail ./dirdat/o11,extract ext_o11g,megabytes 200
edit params ext_o11g
ext_o11g.prm
EXTRACT ext_o11g
USERID ogg_src,PASSWORD fgedudb
EXTTRAIL ./dirdat/o11
TABLE fgedu.t_ord;
add extract dp_o11g,exttrailsource ./dirdat/o11
add rmttrail ./dirdat/o11,extract dp_o11g,megabytes 200
edit params dp_o11g
dp_o11g.prm
EXTRACT dp_o11g
USERID ogg_src,PASSWORD fgedudb
RMTHOST fgedu‑net‑cn2,MGRPORT 7809
RMTTRAIL ./dirdat/o11
TABLE fgedu.t_ord;
start extract ext_o11g
start extract dp_o11g
info all
2.1.3 目标端数据库与Replicat配置
目标库预创建业务表;GLOBALS配置检查点表
vi /fgedudb/ogg/GLOBALS
CHECKPOINTTABLE ogg_tgt.gg_checkpoint
dblogin userid ogg_tgt,password fgedudb
add checkpointtable ogg_tgt.gg_checkpoint
add replicat rep_o11g,exttrail ./dirdat/o11,checkpointtable ogg_tgt.gg_checkpoint
edit params rep_o11g
rep_o11g.prm
REPLICAT rep_o11g
USERID ogg_tgt,PASSWORD fgedudb
ASSUMETARGETDEFS
HANDLECOLLISIONS
MAP fgedu.t_ord,TARGET fgedu.t_ord;
start replicat rep_o11g
info replicat rep_o11g
lag replicat rep_o11g
Direct Load初始化:适合小表,参数增加
SOURCEISTABLE,extract直接读取全表推送目标Replicat。网上搜索风哥教程可以学习全套数据库教程
实战2:OGG19c Oracle11g‑to‑19c单文件系统expdp初始化迁移
源Oracle11g,目标Oracle19c,文件系统存储,使用expdp做存量初始化。
-
源库开启归档、force logging、补充日志,创建ogg_src、业务fgedu表,进程MGR/Extract/DataPump配置同实战1;启动extract捕获增量变更。
-
源端执行expdp,记录flashback_time,锁定SCN。
expdp ogg_src/fgedudb directory=DATA_PUMP_DIR dumpfile=exp_fgedu.dmp schemas=fgedu flashback_time=systimestamp logfile=exp_fgedu.log
sqlplus -s / as sysdba <<EOF
select current_scn from v$database;
EOF -
将dmp文件scp至目标主机,impdp导入目标Oracle19c数据库。
scp /fgedudb/app/oracle/admin/fgedudb/dpdump/exp_fgedu.dmp oracle@fgedu‑net‑cn2:/fgedudb/app/oracle/admin/fgedudb/dpdump/
impdp ogg_tgt/fgedudb directory=DATA_PUMP_DIR dumpfile=exp_fgedu.dmp schemas=fgedu logfile=imp_fgedu.log remap_schema=fgedu:fgedu -
目标端配置Replicat rep_11to19,ASSUMETARGETDEFS;启动Replicat,等待lag趋近于0;执行DML验证同步。
实战3:OGG19c Oracle19c RAC‑to‑单机 expdp初始化部署
源端fgedu‑net‑cn1/fgedu‑net‑cn2 RAC集群,目标端fgedu‑net‑cn2单机Oracle19c。
关键点:RAC环境Extract读取多thread归档;必须配置
THREADOPTIONS MAXTHREADS 2;归档日志全部节点共享访问;源端执行ADD SCHEMATRANDATA fgedu。源端Extract参数片段:
EXTRACT ext_rac
USERID ogg_src,PASSWORD fgedudb
THREADOPTIONS MAXTHREADS 2
EXTTRAIL ./dirdat/rac
TABLE fgedu.*;
DataPump投递进程配置不变;expdp导出RAC源库,记录SCN,目标单机impdp导入;目标Replicat配置,启动后监控lag replicat;RAC环境注意归档删除策略,必须确认OGG消费完毕才允许删除归档。风哥数据库教程 itpux‑com
实战4:OGG19c Oracle19c ASM‑to‑ASM RMAN初始化迁移
源、目标全部ASM存储,TB级大库场景,采用RMAN备份恢复作为存量初始化手段。
- 源库开启force logging、归档、schema补充日志;启动Extract捕获增量。
- RMAN备份源数据库,拷贝备份集到目标主机;目标端执行RMAN restore recover,记录recover完成时刻SCN。
- Extract确认从该SCN开始捕获事务;目标端配置Replicat进程;等待Replicat追赶延迟;业务割接切换。>
注意:ASM环境OGG需要配置
ASMUSER账号,Extract可以访问ASM磁盘组内归档日志。
实战5:OGG19c Oracle19c单文件系统集成Extract expdp初始化
使用Integrated集成Extract,依托LogMiner,不再直接读取磁盘redo文件。
源端GGSCI注册集成extract:
add extract ext_int,INTEGRATED TRANLOG,BEGIN NOW
add exttrail ./dirdat/int,extract ext_int,megabytes 200
edit params ext_int
EXTRACT ext_int
USERID ogg_src,PASSWORD fgedudb
EXTTRAIL ./dirdat/int
TABLE fgedu.*;
start extract ext_int
info extract ext_int
view report ext_int
后续DataPump、expdp初始化、目标Replicat流程同前面实战。网上搜索风哥教程可以学习全套数据库教程
实战6:OGG19c Oracle19c Windows‑to‑Linux ASM跨平台集成复制
源Windows Oracle19c,目标Linux(fgedu‑net‑cn2)ASM存储;使用集成Extract;跨平台同构Oracle依然使用ASSUMETARGETDEFS,不需要defgen;存量使用expdp跨平台导出导入;注意Windows与Linux换行符、路径分隔符差异;tnsnames配置保证两端互通。
实战7:OGG21c CDB/PDB微服务图形界面expdp初始化复制
OGG21c微服务架构;源CDB,业务PDB名字fgedu_pdb;WebUI访问Service Manager端口。
- 源CDB登录PDB,创建PDB本地ogg账号,授权;开启force logging、pdb内部补充日志。
- WebUI创建DB Connection指向源PDB;创建Extract(Integrated模式);创建Distribution Path投递trail至目标端。
- expdp在源PDB导出schema;拷贝dmp到目标PDB,impdp导入。
- 目标WebUI创建Receiver Path;创建Integrated Replicat指向目标PDB;启动链路,监控延迟,DML验证。
实战8:OGG21c微服务命令行RMAN初始化复制
微服务架构支持REST API curl调用,不依赖图形界面;RMAN备份恢复做存量基线;通过API完成DB Connection、Extract、Distribution、Receiver、Replicat资源创建;适合自动化脚本批量部署。
实战9:GoldenGate Veridata源目标数据对比、差异自动修复实操
- 安装Veridata软件,配置源、目标数据库连接;
- 创建Compare Job,指定对比schema:
fgedu;设置分块对比,降低源库压力; - 执行对比Job,生成差异报告;
- 查看不一致记录,Veridata生成repair修复SQL脚本;
- 在目标库执行修复脚本,再次执行对比Job确认差异消除。
补充实战:Oracle26ai + OGG23ai微服务部署实操要点(源fgedu‑net‑cn1,目标fgedu‑net‑cn2)
OGG23ai只有微服务架构,无GGSCI经典模式,WebUI访问Service Manager。
-
Oracle26ai源PDB数据库配置(登录业务PDB执行)
alter system set enable_goldengate_replication=true scope=both;
alter database force logging;
alter database add supplemental log data;
create user ogg_src identified by fgedudb default tablespace users temporary tablespace temp;
grant ogg_capture to ogg_src;
add schematrandata fgedu;
目标26ai PDB:
alter system set enable_goldengate_replication=true scope=both;
create user ogg_tgt identified by fgedudb default tablespace users temporary tablespace temp;
grant ogg_apply to ogg_tgt;
- OGG23ai介质解压至
/fgedudb/ogg,执行oggca.sh静默安装微服务Service Manager;配置HTTPS访问端口。 - WebUI增加DB Connection,分别指向源、目标业务PDB;禁止填写CDB$ROOT连接,23ai不支持根容器抽取。
- WebUI创建Integrated Extract(PDB级别),创建Distribution投递路径;存量使用expdp初始化;目标创建Receiver与Integrated Replicat。
- 启动复制链路;执行DML测试;监控WebUI延迟指标;查看Service Manager运行日志排查异常。>
注意:23ai不再支持旧版
USERID明文密码写法,强制使用USERIDALIAS别名凭据管理。上51CTO搜索风哥可以学习全套数据库教程
2.10 OGG全套日常维护高级管理
2.10.1 日常管理命令(经典架构GGSCI)
info all --查看全部进程状态
info extract ext_name
info replicat rep_name
lag extract ext_name --抽取延迟
lag replicat rep_name --应用延迟
stats extract ext_name,total
stats replicat rep_name,total
view report ext_name --查看进程报告,排查abend
view ggsevt --ogg事件日志
send extract ext_name,showtrans --查看源端未提交长事务
2.10.2 数据库进程启停流程
启动顺序:MGR → Extract → DataPump → Replicat
停止顺序:Replicat → DataPump → Extract → MGR
示例停止脚本:
stop replicat rep*
stop extract dp*
stop extract ext*
stop mgr
2.10.3 经典模式与集成模式互相转换
经典转集成:
alter extract ext_name,integrated tranlog;
集成转回经典,需要停止进程,修改参数,重新注册tranlog。
2.10.4 监控脚本编写示例(shell,经典架构,输出告警)
#!/bin/bash
export OGG_HOME=/fgedudb/ogg
cd $OGG_HOME
./ggsci <<EOF
info all
EOF
#可以结合grep判断ABEND状态,对接邮件/短信告警;微服务环境建议抓取REST API返回指标。
2.10.5 小表DDL变更在线执行
前提参数开启DDLINCLUDE ALL;业务低峰在源库执行alter table;观察trail、目标端DDL应用成功。
2.10.6 大表DDL变更
大表alter会持有锁,风险高;推荐步骤:
- 业务低峰;停止业务写入该表;
- 停止Replicat;源库执行DDL;
- 源库切换日志;启动Replicat;验证DDL同步完成;恢复业务写入。
2.10.7 表重新初始化
单张表数据不一致:
- 停止Replicat;过滤该表复制;
- 源端expdp单张表导出;目标impdp导入;
- 调整Extract SCN位点,跳过已经初始化数据;开启该表复制,恢复Replicat。
2.10.8 数据过滤、分发、字段映射
过滤(不复制删除操作)
TABLE fgedu.t_ord, FILTER (@OPTYPE <> 'DELETE');
字段映射COLMAP
MAP fgedu.t_ord,TARGET fgedu.t_ord,
COLMAP(id=id,ord_name=ord_name);
2.10.9 目标端增加列
源alter table add column;开启DDLINCLUDE则自动同步字段;若关闭DDL复制,目标端手工增加列,不影响DML复制。
2.10.10 无主键表处理
源表无主键,在Extract与Replicat同时指定KEYCOLS
TABLE fgedu.t_no_pk, KEYCOLS(org_code,trans_no);
MAP fgedu.t_no_pk,TARGET fgedu.t_no_pk, KEYCOLS(org_code,trans_no);
2.10.11 logdump分析trail文件
cd /fgedudb/ogg
./logdump
open ./dirdat/o1100000000
gh on
n
gh on显示hex;n逐条读取记录,用于定位捕获异常事务。
2.10.12 归档备份被删除故障
经典Extract:归档丢失直接abend;解决方案:受影响表重新初始化;
集成Extract:LogMiner字典缺失同样abend;需要重建LogMiner字典,重新初始化受影响对象。
2.10.13 灾备环境计划切换完整步骤
- 业务窗口通知,停止源端业务写入;
- GGSCI执行
lag replicat xxx确认应用延迟为0; - 确认trail全部消费完毕;Veridata快速做核心表数据对比校验;
- 应用连接串修改指向目标数据库;业务切换;
- 若需要回退:反向搭建OGG复制链路,将目标变更同步回源库,业务切回源端。
三、风哥针对本文总结
本套风哥教程完整覆盖OGG19c经典架构多套Oracle‑Oracle同构迁移实战:Oracle11g‑to‑11g、Oracle11g‑to‑19c、RAC‑to‑单机、ASM‑to‑ASM、Windows‑Linux跨平台;OGG21c微服务CDB/PDB复制;新增Oracle26ai搭配OGG23ai微服务部署实战;讲解Veridata数据校验、全套日常运维命令、模式转换、DDL变更、表重新初始化、过滤映射、无主键表处理、logdump工具、归档丢失故障、灾备计划切换流程。
- OGG经典架构(19c)依靠GGSCI命令行;OGG23ai适配Oracle26ai,仅支持微服务架构,不再支持经典GGSCI ;26ai数据库必须开启参数
enable_goldengate_replication=true,23ai禁止CDB$ROOT根容器Extract抽取,只能针对独立PDB创建抽取进程,优先使用系统预置OGG_CAPTURE、OGG_APPLY角色。 - 迁移项目核心逻辑:不停业务启动Extract捕获增量,再执行存量初始化(Direct Load / expdp / RMAN),等待Replicat追赶延迟趋近于零,业务窗口停止源写入,确认trail全部应用完成,业务切换至目标库。RAC源环境需要配置THREADOPTIONS,归档删除策略必须保证OGG消费完成才允许RMAN清理归档。
- 经典Extract直接读取redo磁盘文件;Integrated集成Extract依托数据库LogMiner,RAC、DG切换场景兼容性更好,可以互相转换模式,但转换前务必备份trail、参数文件、检查点。
- DDL复制小表可以在线执行;大表DDL变更存在锁风险,业务低峰建议暂停复制链路再执行DDL;无主键表必须配置KEYCOLS指定业务唯一定位列,否则update/delete操作复制报错。
- Veridata工具用于源目标数据一致性对比,可生成修复SQL脚本,迁移割接前后建议执行对比校验;logdump工具解析二进制trail,用于定位复制异常事务。
- 灾备计划切换严格执行流程,切换前校验复制延迟、数据一致性;回退需要反向搭建OGG复制链路;归档日志被提前删除会造成Extract进程abend,一般需要受影响表重新初始化。
- 微服务架构(OGG21c、OGG23ai)支持WebUI与REST API,适合云、自动化运维;23ai密码管理强制USERIDALIAS别名,不再支持明文USERID参数。
全部shell、GGSCI、PL/SQL脚本,建议读者在fgedu‑net‑cn1、fgedu‑net‑cn2两套测试环境完整复现,理解不同初始化方案、新旧版本OGG的差异,再落地企业数据库迁移、容灾真实项目。