基于windows环境Oracle主备切换之后OGG同步进程恢复
基于windows环境Oracle主备切换之后OGG同步进程恢复
场景:db1是主库,db2是备库,ogg从db2备库抽取数据同步到目标数据库
db1 - db2(ADG) – ogg – targetdb
场景:db2是主库,db1是备库,ogg从db1备库抽取数据同步到目标数据库
db2 - db1(ADG) – ogg – targetdb
主备库切换完成之后抽取进程报错如下:
2025-05-15 14:28:41 INFO OGG-06604 Database ORCL CPU info: CPU Count 8, CPU Core Count 8, CPU Socket Count 4.Source Context :SourceModule : [er.redo.ora]SourceID : [/scratch/aime/adestore/views/aime_adc00jza/oggcore/OpenSys/src/app/er/redo/oracle/redoora.c]SourceMethod : [ce_validate_config]SourceLine : [6302]ThreadBacktrace : [14] elements: [_ZN3ggs5gglib14MultiThreading6Thread9RunThreadEPNS2_10ThreadArgsE]: [/OSdata/ogg123_oracle/extract(_ZN3ggs5gglib14MultiThreading6Thread9RunThreadEPNS2_10ThreadArgsE+0x14c) [0x83e1bc]]: [/OSdata/ogg123_oracle/extract(_ZN3ggs5gglib14MultiThreading6Thread9RunThreadEPNS2_10ThreadArgsE+0x14c) [0x83e1bc]]: [/OSdata/ogg123_oracle/extract()]: [_ZN3ggs5gglib14MultiThreading6Thread9RunThreadEPNS2_10ThreadArgsE]: [/OSdata/ogg123_oracle/extract(ggs::gglib::MultiThreading::MainThread::Run(int, char**))]: [/OSdata/ogg123_oracle/extract(ggs::gglib::MultiThreading::MainThread::Run(int, char**))]: [/OSdata/ogg123_oracle/extract()]: [/OSdata/ogg123_oracle/extract(ggs::gglib::MultiThreading::MainThread::Run(int, char**))]: [ : [/OSdata/ogg123_oracle/extraextras::gglib::MultiThreading::Mng::Mng::MnRunMnRun char**))]
]: [/OSdata/ogg123_oracle/extract(ggs::gglib::MultiThreading::MainThread::Run(int, char**))]: [/lib64/libc.so.6(__libc_start_main)]: [/lib64/libc.so.6(__libc_start_main)]: [/OSdata/ogg123_oracle/extract()]2025-05-15 14:28:41 ERROR OGG-02801 Parameter MINEFROMACTIVEDG can only be used when the database is in READ ONLY mode.2025-05-15 14:28:41 ERROR OGG-01668 PROCESS ABENDING.
GGSCI (oggser as ggs@orcl) 6> dblogin useridalias s_source2120
ERROR: OCI Error ORA (status = 1033-ORA-01033: ORACLE 正在初始化或关闭
Process ID: 0
Session ID: 0 Serial number: 0
).
把新的备库切换到只读状态
SQL> select open_mode from v$database;OPEN_MODE
--------------------
MOUNTEDSQL> recover managed standby database cancel;
完成介质恢复。
SQL> alter database open read only;数据库已更改。SQL> alter database recover managed standby database using current logfile disconnect from session;数据库已更改。SQL>
SQL> select sequence#,status,process from v$managed_standby;SEQUENCE# STATUS PROCESS
---------- ------------ ---------0 CONNECTED ARCH0 CONNECTED ARCH100 CLOSING ARCH101 CLOSING ARCH102 APPLYING_LOG MRP00 IDLE RFS0 IDLE RFS102 IDLE RFS已选择8行。SQL>
GGSCI (oggser) 7> dblogin useridalias s_source2120
Successfully logged into database.
GGSCI (oggseras ggs@orcl) 8> info allProgram Status Group Lag at Chkpt Time Since ChkptMANAGER RUNNING
EXTRACT ABENDED EXTEP 00:00:00 00:10:11
REPLICAT RUNNING REPE 00:00:00 00:00:07
修改读取连接到新的备库
GGSCI (oggser as ggs@orcl) 17> view param extepextract extep
--useridalias s_source
useridalias s_source2120
exttrail ./dirdat/ep
warnlongtrans 3h, checkinterval 10m
tranlogoptions logretention enabled
tranlogoptions dblogreader
tranlogoptions minefromactivedg
--tables
table scims.tscim;
重启抽取进程
GGSCI (oggser as ggs@orcl) 13> start extepSending START request to MANAGER ...
EXTRACT EXTEP startingGGSCI (oggser as ggs@orcl) 14> info allProgram Status Group Lag at Chkpt Time Since ChkptMANAGER RUNNING
EXTRACT STARTING EXTEP 00:00:00 00:16:16
REPLICAT RUNNING REPE 00:00:00 00:00:07 GGSCI (oggser as ggs@orcl) 15> info allProgram Status Group Lag at Chkpt Time Since ChkptMANAGER RUNNING
EXTRACT RUNNING EXTEP 00:00:00 00:00:00
REPLICAT RUNNING REPE 00:00:00 00:00:10
最后测试验证数据同步正常。