数据库教程FGMT26‑1‑GoldenGate数据库容灾迁移01(OGG同构异构、数据库迁移、数据同步、容灾复制)
数据库教程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脚本,读者可以在两套独立测试主机完整复现各类迁移、运维操作。网上搜索风哥教程可以学习全套数据库教程
### 内容大纲
1. OGG同构复制整体综述,多套迁移场景环境规划,经典架构、微服务架构差异;Oracle26ai+OGG23ai版本说明
2. 核心理论:Extract抽取、DataPump投递、Replicat应用,trail队列、检查点Checkpoint;FORCE LOGGING、schema补充日志;存量初始化各类方案对比;OGG23ai针对26ai数据库的新特性与约束
3. OGG各类初始化方案:经典直接加载、expdp数据泵初始化、RMAN备份恢复初始化;经典模式与集成模式原理与互相转换
4. 实战1:OGG19c Oracle11g‑to‑11g单文件系统经典初始化部署
5. 实战2:OGG19c Oracle11g‑to‑19c单文件系统expdp初始化迁移
6. 实战3:OGG19c Oracle19c RAC‑to‑单机 expdp初始化部署
7. 实战4:OGG19c Oracle19c ASM‑to‑ASM RMAN初始化迁移
8. 实战5:OGG19c Oracle19c单文件系统集成Extract expdp初始化
9. 实战6:OGG19c Oracle19c Windows‑to‑Linux ASM跨平台集成复制
10. 实战7:OGG21c CDB/PDB微服务图形界面expdp初始化复制
11. 实战8:OGG21c微服务命令行RMAN初始化复制
12. 实战9:GoldenGate Veridata源目标数据对比、差异自动修复实操
13. 补充实战:Oracle26ai搭配OGG23ai微服务部署实操要点
14. OGG全套日常维护高级管理:进程启停流程、小表DDL变更步骤、大表变更步骤、表重新初始化、数据过滤分发、字段映射转换、目标端增加列、无主键表处理、logdump工具分析trail、进程合并拆分、中文对象处理、归档丢失故障处理
15. OGG灾备环境计划切换完整实施步骤
16. OGG项目上线验收清单,高频故障汇总
## 一、核心理论知识
本章节为本套风哥教程理论基础,理解OGG经典架构、集成模式、微服务架构差异,掌握多种存量初始化方案适用场景,理清运维变更、切换底层逻辑;同时补充Oracle26ai数据库与OGG23ai配套的版本约束。风哥教程 113257174
### 1.1 OGG经典架构与微服务架构对比
1. **经典GGSCI架构(OGG19c为主)**:GGSCI命令行交互;MGR管理进程、Extract、DataPump、Replicat全部操作系统后台进程;参数文件存放在本地文件;适合传统物理机、虚拟机,部署简单,运维依靠脚本与手工命令。**注意:OGG23ai已经不再支持经典GGSCI架构,仅保留微服务架构**。
2. **微服务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)。
1. 参数强制要求:数据库参数`enable_goldengate_replication=true`必须开启,否则复制捕获功能不可用。
2. 权限模型变化:不再推荐使用C##公共账号,优先在PDB内部创建本地OGG账号,使用内置角色`OGG_CAPTURE`、`OGG_APPLY`,不再需要手工授予海量零散权限。
3. CDB/PDB约束:OGG23ai**不再支持CDB$ROOT根容器级别的Extract抽取**,必须针对每一个业务PDB独立创建Extract进程,不支持根捕获多PDB统一抽取。
4. 能力增强:原生支持Vector向量类型复制;支持JSON Duality视图复制;ACDR冲突检测解析能力得到增强。
5. 架构硬性约束:OGG23ai只有微服务架构,没有传统GGSCI经典模式,升级旧环境必须做架构迁移。风哥数据库教程 itpux‑com
### 1.3 Oracle源端数据库硬性前置约束
1. 数据库必须开启归档模式;
2. **FORCE LOGGING强制日志**,nologging直接路径插入可以生成完整redo,防止OGG捕获不到变更;
3. Schema级别补充日志`ADD SCHEMATRANDATA fgedu`,update/delete操作需要主键、唯一键列信息;
4. OGG数据库账号:源端需要读取redo、logmnr、字典视图权限;目标端需要DML、DDL、检查点表创建权限;26ai优先使用系统预置角色`OGG_CAPTURE`、`OGG_APPLY`。
### 1.4 存量数据初始化方案对比
增量Extract只能捕获进程启动之后产生的事务;存量基线数据必须做初始化,实现存量+增量无缝衔接。
1. **OGG Direct Load直接加载**:Extract直接全表读取源表,网络发送Replicat写入目标;适合小量表,大表性能差。
2. **expdp/impdp数据泵初始化**:Oracle‑Oracle同构迁移主流方案;导出记录flashback_time对应的SCN;Extract从该SCN开始捕获,存量导入同时增量持续追赶延迟。
3. **RMAN备份恢复初始化**:适合ASM‑to‑ASM大库迁移;RMAN恢复目标库,记录恢复结束SCN,Extract从该SCN启动;适合TB级超大数据库。
4. **跨平台迁移**:Windows向Linux迁移,RMAN跨平台转换或者expdp,配合集成Extract。
>
> 迁移核心流程:源库业务不停机 → 启动Extract捕获增量 → 执行存量初始化加载 → 等待Replicat追赶增量延迟趋近于0 → 业务停止源端写入 → 确认trail全部应用完成 → 业务切换指向目标库。网上搜索风哥教程可以学习全套数据库教程
### 1.5 经典模式与Integrated集成模式
1. **经典Extract**:进程直接操作系统层读取redo/归档磁盘文件;优点不占用数据库内部资源;缺点RAC环境多thread日志处理复杂,归档被提前删除直接abend。
2. **Integrated集成Extract**:Extract作为LogMiner客户端,数据库内部完成redo解析输出LCR记录;RAC、DG切换场景兼容性更好;数据库会消耗少量内存用于Streams Pool。
3. **集成Replicat**:Replicat把LCR交给数据库Inbound Server执行SQL;数据库内部处理约束、触发器;支持ACDR冲突解析。>
> 模式之间可以互相转换,转换前务必备份参数文件、trail、检查点。
### 1.6 GoldenGate Veridata原理
Veridata是Oracle配套数据校验工具,独立于OGG复制进程;低压力对比源端、目标端表数据,输出不一致记录,并且可以生成修复SQL脚本,执行自动修复;迁移割接前后、容灾日常巡检用来验证源目标数据一致性,迁移项目必备工具。
### 1.7 OGG日常运维关键知识点
1. 进程启停顺序:MGR优先启动;之后Extract,之后DataPump;最后Replicat;停止顺序反向,先停Replicat,再DataPump,再Extract,最后MGR。
2. DDL表变更:小表可以在线执行DDL;大表ALTER操作,需要评估锁等待,部分场景需要暂停复制进程;
3. 无主键表:必须配置`KEYCOLS`手工指定唯一定位列,否则update、delete操作无法执行;
4. logdump工具:解析trail二进制文件,排查捕获、应用异常,查看事务原始记录;
5. 归档日志丢失:源端归档被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做存量初始化。
1. 源库开启归档、force logging、补充日志,创建ogg_src、业务fgedu表,进程MGR/Extract/DataPump配置同实战1;**启动extract捕获增量变更**。
2. 源端执行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
“`
3. 将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
“`
4. 目标端配置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备份恢复作为存量初始化手段。
1. 源库开启force logging、归档、schema补充日志;启动Extract捕获增量。
2. RMAN备份源数据库,拷贝备份集到目标主机;目标端执行RMAN restore recover,记录**recover完成时刻SCN**。
3. 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端口。
1. 源CDB登录PDB,创建PDB本地ogg账号,授权;开启force logging、pdb内部补充日志。
2. WebUI创建DB Connection指向源PDB;创建Extract(Integrated模式);创建Distribution Path投递trail至目标端。
3. expdp在源PDB导出schema;拷贝dmp到目标PDB,impdp导入。
4. 目标WebUI创建Receiver Path;创建Integrated Replicat指向目标PDB;启动链路,监控延迟,DML验证。
### 实战8:OGG21c微服务命令行RMAN初始化复制
微服务架构支持REST API curl调用,不依赖图形界面;RMAN备份恢复做存量基线;通过API完成DB Connection、Extract、Distribution、Receiver、Replicat资源创建;适合自动化脚本批量部署。
### 实战9:GoldenGate Veridata源目标数据对比、差异自动修复实操
1. 安装Veridata软件,配置源、目标数据库连接;
2. 创建Compare Job,指定对比schema:`fgedu`;设置分块对比,降低源库压力;
3. 执行对比Job,生成差异报告;
4. 查看不一致记录,Veridata生成repair修复SQL脚本;
5. 在目标库执行修复脚本,再次执行对比Job确认差异消除。
### 补充实战:Oracle26ai + OGG23ai微服务部署实操要点(源fgedu‑net‑cn1,目标fgedu‑net‑cn2)
>
> OGG23ai只有微服务架构,无GGSCI经典模式,WebUI访问Service Manager。
1. 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;
“`
2. OGG23ai介质解压至`/fgedudb/ogg`,执行`oggca.sh`静默安装微服务Service Manager;配置HTTPS访问端口。
3. WebUI增加DB Connection,分别指向源、目标业务PDB;**禁止填写CDB$ROOT连接,23ai不支持根容器抽取**。
4. WebUI创建Integrated Extract(PDB级别),创建Distribution投递路径;存量使用expdp初始化;目标创建Receiver与Integrated Replicat。
5. 启动复制链路;执行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会持有锁,风险高;推荐步骤:
1. 业务低峰;停止业务写入该表;
2. 停止Replicat;源库执行DDL;
3. 源库切换日志;启动Replicat;验证DDL同步完成;恢复业务写入。
#### 2.10.7 表重新初始化
单张表数据不一致:
1. 停止Replicat;过滤该表复制;
2. 源端expdp单张表导出;目标impdp导入;
3. 调整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 灾备环境计划切换完整步骤
1. 业务窗口通知,停止源端业务写入;
2. GGSCI执行`lag replicat xxx`确认应用延迟为0;
3. 确认trail全部消费完毕;Veridata快速做核心表数据对比校验;
4. 应用连接串修改指向目标数据库;业务切换;
5. 若需要回退:反向搭建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工具、归档丢失故障、灾备计划切换流程。
1. OGG经典架构(19c)依靠GGSCI命令行;OGG23ai适配Oracle26ai,**仅支持微服务架构,不再支持经典GGSCI**;26ai数据库必须开启参数`enable_goldengate_replication=true`,23ai禁止CDB$ROOT根容器Extract抽取,只能针对独立PDB创建抽取进程,优先使用系统预置`OGG_CAPTURE`、`OGG_APPLY`角色。
2. 迁移项目核心逻辑:不停业务启动Extract捕获增量,再执行存量初始化(Direct Load / expdp / RMAN),等待Replicat追赶延迟趋近于零,业务窗口停止源写入,确认trail全部应用完成,业务切换至目标库。RAC源环境需要配置THREADOPTIONS,归档删除策略必须保证OGG消费完成才允许RMAN清理归档。
3. 经典Extract直接读取redo磁盘文件;Integrated集成Extract依托数据库LogMiner,RAC、DG切换场景兼容性更好,可以互相转换模式,但转换前务必备份trail、参数文件、检查点。
4. DDL复制小表可以在线执行;大表DDL变更存在锁风险,业务低峰建议暂停复制链路再执行DDL;无主键表必须配置KEYCOLS指定业务唯一定位列,否则update/delete操作复制报错。
5. Veridata工具用于源目标数据一致性对比,可生成修复SQL脚本,迁移割接前后建议执行对比校验;logdump工具解析二进制trail,用于定位复制异常事务。
6. 灾备计划切换严格执行流程,切换前校验复制延迟、数据一致性;回退需要反向搭建OGG复制链路;归档日志被提前删除会造成Extract进程abend,一般需要受影响表重新初始化。
7. 微服务架构(OGG21c、OGG23ai)支持WebUI与REST API,适合云、自动化运维;23ai密码管理强制USERIDALIAS别名,不再支持明文USERID参数。
全部shell、GGSCI、PL/SQL脚本,建议读者在`fgedu‑net‑cn1`、`fgedu‑net‑cn2`两套测试环境完整复现,理解不同初始化方案、新旧版本OGG的差异,再落地企业数据库迁移、容灾真实项目。
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
