DG正常or异常切换后如何快速恢复OGG

来源:这里教程网 时间:2026-03-03 21:28:02 作者:

需求: 有一套生产-DG环境,且目前生产还有一套OGG,同步部分表至其他数据库。希望在生产和DG做切换后,尽量减少ogg改动并梳理步骤。 下面根据DG正常切换和异常切换两种情况简单的做了模拟及步骤梳理,供参考(仅列出ogg相关操作) 1.环境描述 切换前:

D G 生产端

D G 目标端

IP

1 92.168.238.56

1 92.168.238.57

S ID

o ra

o radg

O GG

12.2.0.2.2

/

切换后

D G 目标端

D G 生产端

IP

1 92.168.238.56

1 92.168.238.57

S ID

o ra

o radg

O GG

/

12.2.0.2.2

2.DG正常切换 基本步骤为:停业务,确认ogg,DG切换,恢复ogg (在停止业务后要检查OGG的状态,确保已经挖到最新) 2.1 OGG进程检查并停止 查看OGG挖掘进程是否挖掘到最新,如果为EOF则是最新的,则可以停止进程,否则需要等待挖掘到最新时才能停。 GGSCI 2> send ext1 status Sending STATUS request to EXTRACT EXT1 ... EXTRACT EXT1 (PID 19235)   Current status: Recovery complete: At EOF   Current read position:   Redo thread #: 1   Sequence #: 4   RBA: 1426944   Timestamp: 2024-12-22 11:08:46.000000   SCN: 2979.1786729399 (12796494304183)   Current write position:   Sequence #: 37   RBA: 1433   Timestamp: 2024-12-22 11:08:43.350762   Extract Trail: ./dirdat/aa 停止挖掘和传输进程 GGSCI 4> stop ext1 Sending STOP request to EXTRACT EXT1 ... Request processed. GGSCI 5> stop dmp1 Sending STOP request to EXTRACT DMP1 ... Request processed. GGSCI 6> stop mgr 2.2NFS挂载OGG目录 为尽可能减少ogg参数的修改,变动,我们将原生产的ogg目录(238.56上的ogg目录)nfs挂载到dg切换后的新生产端(也就是原来的dg端238.57) nfs的配置步骤不做说明,自行配置。 2.3现生产端启动OGG GGSCI 2> start mgr Manager started. GGSCI 3> start ext1 Sending START request to MANAGER ... EXTRACT EXT1 starting GGSCI 4> start dmp1 Sending START request to MANAGER ... EXTRACT DMP1 starting 2.4 OGG报错查看 OGG在生产库启动后,查看挖掘进程的信息 GGSCI (ogg) 3> info ext1 EXTRACT    EXT1      Last Started 2024-12-22 10:42   Status ABENDED Checkpoint Lag       00:00:00 (updated 00:01:10 ago) Log Read Checkpoint  Oracle Redo Logs                      2024-12-22 10:13:02  Seqno 31, RBA 3136512                      SCN 2979.1786705102 (12796494279886) 查看报错信息 2024-12-22 10:42:40  ERROR   OGG-02803  Oracle GoldenGate Capture for Oracle, ext1.prm:  Encountered a Data  Guard role transition. Alter Extract to SCN 12,796,494,300,848 and restart Extract, or recreate Extract with the correct  number of threads at SCN 12,796,494,300,848. 2.5重新指定SCN 我们可以看到报错信息里提示:因为数据库的角色进行转换,需要重新指定scn号。 GGSCI 4> alter ext1,scn 12796494300848 EXTRACT altered. GGSCI 5> info ext1 EXTRACT    EXT1      Initialized   20214-12-22 10:45   Status STOPPED Checkpoint Lag       00:00:00 (updated 00:00:09 ago) Log Read Checkpoint  Oracle Redo Logs                      First Record         Seqno 0, RBA 0                      SCN 2979.1786726064 (12796494300848) 2.6启动挖掘进程 启动挖掘进程 GGSCI 6> start ext1 3.DG灾难切换 由于DG灾难切换,DG需要重新搭建过,因此归档日志从1开始。 3.1现生产库启动OGG GGSCI 2> start mgr Manager started. GGSCI 3> start ext1 Sending START request to MANAGER ... EXTRACT EXT1 starting GGSCI 4> start dmp1 Sending START request to MANAGER ... EXTRACT DMP1 starting 3.2重新指定seqno 确保原先的归档日志已经挖掘最新后重新指定归档号 GGSCI 5> info ext1 EXTRACT    EXT1      Last Started 2024-12-22 10:56   Status RUNNING Checkpoint Lag       00:00:00 (updated 00:00:00 ago) Process ID           25799 Log Read Checkpoint  Oracle Redo Logs                      2024-12-22 10:55:12  Seqno 35, RBA 21504                      SCN 2979.1786728225 (12796494303009) 当状态是EOF时,表示挖掘到最新归档。 GGSCI 7> send ext1 status Sending STATUS request to EXTRACT EXT1 ... EXTRACT EXT1 (PID 26888)   Current status: Recovery complete: At EOF 由于生产库是强制拉起来,因此归档号也是从1开始,需要重新指定seqno号。

GGSCI 9> stop ext1
Sending STOP request to EXTRACT EXT1 ...
Request processed.
GGSCI 10> alter ext1 thread 1 extseqno 1 extrba 0
EXTRACT altered.

3.3启动挖掘进程 启动挖掘进程 GGSCI 11> start ext1

相关推荐

热文推荐