- 最后登录
- 2015-6-28
- 在线时间
- 14 小时
- 威望
- 78
- 金钱
- 483
- 注册时间
- 2011-12-27
- 阅读权限
- 50
- 帖子
- 28
- 精华
- 0
- 积分
- 78
- UID
- 127
|
1#
发表于 2012-7-3 09:07:03
|
查看: 7270 |
回复: 3
问题:1)怎么让流复制恢复正常?
2)ORA-26687:no instantiation SCN provided。。。。问题有办法快速一次解决4089条记录的办法吗?我现在是手机一条条清除的,感觉效率太差,这一星期还折腾不完。 3)如果用EXEC DBMS_APPLY_ADM.DELETE_ALL_ERRORS(apply_name => ‘APPLY_DEST’);解决“ORA-26687:no instantiation SCN。。。”问题会有什么不良影响?
背景:两台机器按刘大的贴子做的双向流复制(Schema级别)。上周五成功后在周末两天测试中都正常,昨天同事测试出异常:发现两边都无法同步到另一台机器。登录源、目标两台机器发现流复制配置都正常,但在告警和apply_error中有大量报错。具体情况如下:
证据1:登录源机查看
SQL> SELECT CAPTURE_NAME,QUEUE_NAME,RULE_SET_NAME,NEGATIVE_RULE_SET_NAME,STATUS FROM DBA_CAPTURE;
CAPTURE_NAME QUEUE_NAME
------------------------------ ------------------------------
RULE_SET_NAME NEGATIVE_RULE_SET_NAME STATUS
------------------------------ ------------------------------ --------
CAPTURES_SRC CAPTURE_SRC
RULESET$_3 ENABLED
证据2:登录源机查看
SQL>SELECT CAPTURE_NAME,ERROR_NUMBER,ERROR_MESSAGE STATUS FROM DBA_CAPTURE;
CAPTURE_NAME ERROR_NUMBER STATUS
------------------ ----------------------------------------------------------------------------------------------
证据3:登录目标机查看
SQL> SELECT apply_name, apply_captured, status FROM dba_apply;
APPLY_NAME APPLY_ STATUS
---------------------- ------ ----------------
APPLY_DEST YES ENABLED
证明4:登录目标机查看
SQL> select APPLY_NAME,LOCAL_TRANSACTION_ID,SOURCE_COMMIT_SCN,MESSAGE_NUMBER,ERROR_MESSAGE from dba_apply_error;
APPLYS_DEST 14.0.491 6426162079 1 ORA-26687: no instantiation SCN provided for "TEST"."CUSTOMERS" in source database "HOST.COM.CN"
.
.
.
.
.
.
此处一共有4089条记录
证据5:登录目标机查看告警日志有大量报错
ORA-24010 encountered when generating server alert SMG-4120
ORA-24010 encountered when generating server alert SMG-4121
ORA-24010 encountered when generating server alert SMG-4121
.
.
.
.
.
.
太多不一一贴出
附录:我手动解决ORA-26687: no instantiation SCN provided for "XXX" in source database “XXX”的办法
在源机操作:
begin
DBMS_APPLY_ADM.set_table_instantiation_scn(
source_object_name=> 'TEST.CUSTOMERS',
source_database_name => 'HOST.COM.CN',
instantiation_scn => 6426162079);
end;
/
在目标库执行即可
BEGIN
DBMS_APPLY_ADM.EXECUTE_ERROR(
local_transaction_id => '14.0.491',
execute_as_user => FALSE,
user_procedure => NULL);
END;
/
[ 本帖最后由 tsx197 于 2012-7-3 09:19 编辑 ] |
|