在schema模式下的Streams数据传输,出现某个表不能传输错误ORA-26687

在配置Streams数据传输时,配置schema传输,如果出现某个表不能传输。如果如果为ORA-26687: no instantiation SCN provided
可以参考itpub论述上的一个帖子来试试处理。

l、流复制目标数据库出现错误如下:
STRMADMIN_APPLY  ORA-26687: no instantiation SCN provided
for "BASECONF"."PUB_USER" in source database "BILLBJ.CHINACACHE"

2、查看apply_error等相关信息
SQL> desc dba_apply_error
Name                                      Null?    Type
----------------------------------------- -------- ----------------------------
APPLY_NAME                                         VARCHAR2(30)
QUEUE_NAME                                NOT NULL VARCHAR2(30)
QUEUE_OWNER                               NOT NULL VARCHAR2(30)
LOCAL_TRANSACTION_ID                               VARCHAR2(22)
SOURCE_DATABASE                                    VARCHAR2(128)
SOURCE_TRANSACTION_ID                              VARCHAR2(22)
SOURCE_COMMIT_SCN                                  NUMBER
MESSAGE_NUMBER                                     NUMBER
ERROR_NUMBER                                       NUMBER
ERROR_MESSAGE                                      VARCHAR2(4000)
RECIPIENT_ID                                       NUMBER
RECIPIENT_NAME                                     VARCHAR2(30)
MESSAGE_COUNT                                      NUMBER
ERROR_CREATION_TIME                                DATE

select APPLY_NAME,LOCAL_TRANSACTION_ID,SOURCE_COMMIT_SCN,MESSAGE_NUMBER,ERROR_MESSAGE from dba_apply_error;
得到SOURCE_COMMIT_SCN 34327911302

3、然后在源库执行
SQL>
SQL> begin
  2    DBMS_APPLY_ADM.set_table_instantiation_scn@billdb.fs(source_object_name   => 'BASECONF.PUB_USER',
  3                                                         source_database_name => 'BILLBJ.CHINACACHE',
  4                                                         instantiation_scn    => 34327911302);
  5  end;
  6  /

4、在目标库执行即可
BEGIN
  DBMS_APPLY_ADM.EXECUTE_ERROR(
    local_transaction_id => '14.39.3430485',
    execute_as_user      => FALSE,
    user_procedure       => NULL);
END;

问题解决。

 

 

 

请使用浏览器的分享功能分享到微信等