数据库教程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直接读磁盘redoIntegrated集成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_CAPTUREOGG_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_CAPTUREOGG_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;
  1. OGG23ai介质解压至/fgedudb/ogg,执行oggca.sh静默安装微服务Service Manager;配置HTTPS访问端口。
  2. WebUI增加DB Connection,分别指向源、目标业务PDB;禁止填写CDB$ROOT连接,23ai不支持根容器抽取
  3. WebUI创建Integrated Extract(PDB级别),创建Distribution投递路径;存量使用expdp初始化;目标创建Receiver与Integrated Replicat。
  4. 启动复制链路;执行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_CAPTUREOGG_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‑cn1fgedu‑net‑cn2两套测试环境完整复现,理解不同初始化方案、新旧版本OGG的差异,再落地企业数据库迁移、容灾真实项目。

相关推荐
颜颜yan_1 小时前
Firebird 鸿蒙 PC 适配全记录:打通数据库内核、Qt 管理端与原生维护工具
数据库·qt·harmonyos
风哥2号1 小时前
数据库教程FGMT25‑Oracle多租户架构CDB与PDB运维管理
数据库·oracle
程序猿乐锅1 小时前
【黑马点评 | 第一篇】从 Session 到 Redis+Token 的改造与拦截器实现
数据库·redis·缓存
南京兴帝文化传媒有限公司1 小时前
基于地图平台的本地商户信息优化:药店夜间服务标注与客户转化实操
前端·javascript·数据库·人工智能·geo 优化·geo优化避坑·ai搜索获客
u0109053591 小时前
NAS远程访问内网穿透方案之使用神卓N600实现不限速方法
服务器·网络·数据库
野生技术架构师2 小时前
Redis Hot Key 与 Big Key:危害、发现与解决方案
数据库·redis·缓存
杨云龙UP2 小时前
DB2 HADR 主备架构活动日志参数优化操作手册
linux·运维·服务器·数据库·db2·db2 hadr·日志参数调整
我是大猴子2 小时前
MyBatis‑Plus & MyBatis‑Flex 区别
java·服务器·数据库
鸽芷咕2 小时前
SQL Server数据库迁移避坑指南:老代码不用重写,金仓KES V9R4C019把路铺平了
数据库