首页 > 数据库 > Oracle > DG正常or异常切换后如何快速恢复OGG
需求:
有一套生产-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
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29956245/viewspace-3071614/ ,如需转载,请注明出处,否则将追究法律责任。