0
点赞
收藏
分享

微信扫一扫

ogg由于表分区字段修改引起同步异常后的修复


维护的一套两个单实例做的OGG同步库又出问题了,巡检发现OGG备库rep进程已经异常将近一周了。通过view report repl命令可以查看此进程的支持报告信息(直接在Report files  ./dirrpt看相应的文件也是可以的,或者看错误日志原文件),原因比较直接,是主库修改了同步进程中一个分区表的分区字段,备库日志报错(没有开启DDL同步)。 

找到原因后从备库REP进程配置文件中将出错的分区表去掉,先将备库REP进程启动来同步其它表的数据(在备库REP进程异常的这几天,主库的EXT进程是正常的,rmttrail 在备库也是成功创建的),因此可以正常同步除异常表外的其它数据。之后重新配置一组抽取、应用的进程来单独同步出错的分区表,OGG主备库之间即可正常同步。 

如下简单记录下处理过程:

 1.OGG备库REP进程异常原因的排查:

2017-06-12 09:03:25  WARNING OGG-00869  OCI Error ORA-14402: 更新分区关键字列将导致分区的更改 (status = 14402). UPDATE "ABC"."ABCD" SET "YWH" = :a1,"DJLX" = :a2,"FDCJYJG" = :a3,"DBR" = :a4,"DJSJ" = :a5,"FJ" = :a6,"QDFS" = :a7,.

2017-06-12 09:03:25 WARNING OGG-01004 Aborted grouped transaction on 'SJGX.FDCQ', Database error 14402 (OCI Error ORA-14402: 更新分区关键字列将导致分区的更改 (status = 14402). UPDATE "ABC"."ABCD" SET "YWH" = :a1,"DJLX" = :a2,"FDCJYJG" = :a3,"DBR" = :a4,"DJSJ" = :a5,"FJ" = :a6,"QDFS" = :a7,).

2017-06-12 09:03:25 WARNING OGG-01003 Repositioning to rba 28013790 in seqno 22.

2.编辑备库出错的REP进程参数中的报错分区表

 3.重新配置OGG主、备库的ext/pump/rep进程来对出错分区表的同步

配置的参数及命令如下:
主添加抽取和PUMP进程:
dblogin userid ogg password ogg
add extract eorc, tranlog,begin now
add exttrail d:\app\ogg\dirdat\ec,extract eorc

eorc进程参数文件:
extract eorc
dynamicresolution
setenv (NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK)
userid ogg,password ogg
exttrail d:\app\ogg\dirdat\ec
TABLE ABC.ABCD;
table OGG.TEST_C;


add extract pump_sc,exttrailsource d:\app\ogg\dirdat\ec
add rmttrail d:\app\ogg\dirdat\pc,extract pump_sc

pump_sc进程参数文件:
extract pump_sc
dynamicresolution
setenv (NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK)
userid ogg,password ogg
rmthost 20.12.0.180,mgrport 7809,compress
rmttrail d:\app\ogg\dirdat\pc
table ABC.ABCD;
table OGG.TEST_C;



备库添加进程:
dblogin userid ogg password ogg
add replicat repc, exttrail .\dirdat\pc, CHECKPOINTTABLE ogg.CHECKPOINT

备库REP进程:
GGSCI (WIN) 40> view params repb
replicat repc
userid ogg,password ogg
setenv (NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK)
--assumetargetdefs
sourcedefs D:\app\ogg\dirdef\recod.def
discardfile d:\app\ogg\dirrpt\repc.dsc,append,megabytes 1024,purge
DISCARDROLLOVER AT 2:00
dynamicresolution
ALLOWNOOPUPDATES
MAP ABC.ABCD, TARGET ABD.ABCD;
MAP OGG.TEST_C, TARGET OGG.TEST_C;

4.使用expdp/impdp来重新初始化异常分区表的数据

重新导数据来完成初始化同步:
col current_scn for 99999999999999
select current_scn from v$database;
select to_char(min(start_date),'yyyymmdd hh24:mi:ss') from v$transaction;

SQL> select current_scn from v$database;
CURRENT_SCN
---------------
15510590772819

expdp SYSTEM/ORACLE DUMPFILE=OGG0620_%U.dmp DIRECTORY=ogg TABLES=ABC.ABCD flashback_scn=15510590772819
-------导入,先DROP表
DROP TABLE ABD.ABCD;
impdp SYSTEM/ORACLE directory=impdir DUMPFILE=OGG0619_%U.dmp TABLES=ABC.ABCD remap_schema=ABC:ABD

5.启动备库REP进程并查看主、备库同步状态

启动REP进程:start repc aftercsn 15510590772819


GGSCI (WIN) 63> stats repc ,daily

Sending STATS request to REPLICAT REPC ...

Start of Statistics at 2017-06-20 10:44:04.

Replicating from ABC.ABCD to ABD.ABCD:

*** Daily statistics since 2017-06-20 10:38:31 ***
Total inserts 1871.00
Total updates 3844.00
Total deletes 1856.00
Total discards 0.00
Total operations 7571.00

Replicating from OGG.TEST_C to OGG.TEST_C:

*** Daily statistics since 2017-06-20 10:38:31 ***
Total inserts 2.00
Total updates 0.00
Total deletes 0.00
Total discards 0.00
Total operations 2.00

End of Statistics.

GGSCI (WIN) 64> info all

Program Status Group Lag at Chkpt Time Since Chkpt

MANAGER RUNNING
REPLICAT RUNNING REPB 00:00:00 00:00:04
REPLICAT RUNNING REPC 00:00:00 00:00:06
REPLICAT RUNNING REPL 00:00:00 00:00:01

举报

相关推荐

0 条评论