代码:
declare
v_tables dbms_utility.uncl_array;
begin
v_tables(1) := 'strmadmin.test10';
--v_tables(2) := 'test11';
dbms_streams_adm.maintain_tables(
table_names => v_tables,
source_directory_object => null,
destination_directory_object => null,
source_database => 'LNK_61',
destination_database => 'LNK_62',
perform_actions => true,
capture_name => 'capture_stream61',
capture_queue_table => 'strm61_queue_table',
capture_queue_name => 'strm61_queue',
capture_queue_user => 'strmadmin',
propagation_name => 'db61_too_db62',
apply_name => 'apply_stream62',
apply_queue_table => 'strm62_queue_table',
apply_queue_name => 'strm62_queue',
apply_queue_user => 'strmadmin',
bi_directional => false,--false单向复制,true双向复制
include_ddl => true,
instantiation => dbms_streams_adm.instantiation_table_network);
end;
/
错误:
停止在第5步,错误信息是ORA-06550: 第 62 行, 第 22 列:
PLS-00103: 出现符号 ")"在需要下列之一时:
:= . ( @ % ;
符号 "(" 被替换为 ")" 后继续。
ORA-06550: 第 65 行, 第 11 列:
PLS-00103: 出现符号 "IF"在需要下列之一时:
; <an

------解决思路----------------------
没用过这种方式配置
但这里的source_database和destination_database对应的是两个dblink吧,在主库上要创建一个指向备库的dblink,备库同理创建一个到主库的,dblink的名称必须和对应数据库的global name一致