需求: 有一套生产-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
