ITPub博客

首页 > 数据库 > Oracle > 数据库教程FGMT26‑1‑GoldenGate数据库容灾迁移01

数据库教程FGMT26‑1‑GoldenGate数据库容灾迁移01

原创 Oracle 作者:mfkqwyc86 时间:2026-09-16 11:00:07 0 删除 编辑

数据库教程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、数据集成工程师、迁移实施架构师;实验环境两TD立主机,源端`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的差异,再落地企业数据库迁移、容灾真实项目。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9664900/viewspace-3182511/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
风哥Oracle,MySQL,PostgreSQL,Linux,大数据,国产数据库,中间件等教程

注册时间:2010-10-26

  • 博文量
    68
  • 访问量
    406006