按照两位网友的办法: 上面的测试应该一步搞定: 就是下面这个过程。这是10GR2里给封装了的。步骤还是一样的。只是ORACLE帮你做了好多事。如果顺利的话当然好,但如果出错了就不好调试了: DECLARE tables DBMS_UTILITY.UNCL_ARRAY; BEGIN tables(1) := 'rep.WEN'; DBMS_STREAMS_ADM.MAINTAIN_TABLES( table_names => tables, source_directory_object => NULL, destination_directory_object => NULL, source_database => 'ORCL.SUN.NET', destination_database => 'CENTLEDB.SUN.NET', perform_actions => true, bi_directional => false, include_ddl => false, instantiation => DBMS_STREAMS_ADM.INSTANTIATION_TABLE_NETWORK); END; / 这不。我执行完就出错了。 DECLARE * 第 1 行出现错误: ORA-23616: 执行块 7 时失败 (相对于脚本 24C1BF1E40BD495FB7229E7DA01DE823) ORA-06512: 在 "SYS.DBMS_RECOVERABLE_SCRIPT", line 560 ORA-06512: 在 "SYS.DBMS_RECOVERABLE_SCRIPT", line 583 ORA-06512: 在 "SYS.DBMS_STREAMS_MT", line 7673 ORA-06512: 在 "SYS.DBMS_STREAMS_ADM", line 2458 ORA-06512: 在 line 5 SQL> select error_number,error_message 2 from dba_recoverable_script_errors 3 where script_id='28E45B8F4F654E46984F939F0440C20D' 4 and block_num=7; ERROR_NUMBER -------------- ERROR_MESSAGE ------------------------------------------------------------------------ ---------------------------------------------- -21560 ORA-21560: argument 2 is null, invalid, or out of range ORA-06512: at "SYS.DBMS_RECO_SCRIPT_INVOK", line 129 ORA-06512: at "SYS.DBMS_STREAMS_RPC", line 358 不行。 接下来 用文档:
处理。 上面提供了stream_health_check的脚本。 也不行。 最后还是分步走,30分钟搞定。