您的位置:首页 > 移动开发

流复制报ORA-26687错误,警告日志报Streams APPLY A001 with pid=22, OS id=22929 stopped

2014-03-26 11:10 330 查看
操作系统:Redhat5.6

源数据库:oracle11.2.0.1

目标数据库:oracle10.2.0.5

问题症状:配置好流复制后,测试流复制,在源端插入数据,目标端查询,发现没有数据

分析处理过程:

1.目标库的警告日志中报错:

Wed Mar 26 10:44:19 CST 2014

Streams APPLY A001 started with pid=22, OS id=22929

Streams Apply Reader started P000 with pid=24 OS id=22931

Streams Apply Server started P001 with pid=25 OS id=22933

Streams Apply Reader P000 pid=24 OS id=22931 stopped

Streams Apply Server P001 pid=25 OS id=22933 stopped

Streams Apply Server P000 pid=24 OS id=22931 stopped

Streams Apply Server P001 pid=25 OS id=22933 stopped

Wed Mar 26 10:46:11 CST 2014

Streams APPLY A001 with pid=22, OS id=22929 stopped

2.查看目标库的APPLY进程,发现ABORTED

SQL> select apply_name,queue_name,status from dba_apply;

APPLY_NAME                     QUEUE_NAME                     STATUS

------------------------------ ------------------------------ --------

TARGET_APPLY_STREAM            TARGET_QUEUE                   ABORTED

3.查看dba_apply_error数据字典,报ORA-26687错误

SQL> select APPLY_NAME,ERROR_MESSAGE from dba_apply_error;

APPLY_NAME                     ERROR_MESSAGE

------------------------------ --------------------------------------------------------------------------------

TARGET_APPLY_STREAM            ORA-26687: no instantiation SCN provided for "HFF"."T" in source database "OGGD"

4.搜索相关资料后,找到了解决方法,方法如下

在源数据库端,使用strmadmin用户执行如下命令

SELECT * FROM DBA_CAPTURE_PREPARED_TABLES;

得到HFF".T表的SCN值,用于目标数据库中 

在目标数据库中执行如下命令

BEGIN

DBMS_APPLY_ADM.SET_TABLE_INSTANTIATION_SCN (

source_object_name => 'schema.tablename',

source_database_name => 'global db name of source',

instantiation_scn => &iscn);

END;

/

输入上面找到的SCN,然后重新启用APPLY进程

begin                              

dbms_apply_adm.start_apply(        

apply_name=>'target_apply_stream');

end;                               

/

5.再次测试流复制,在源端插入数据,目标端查询,问题解决。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐