(流复制-单向复制-sechma级别复制)
oracle11gr2环境
具体的streams环境的配置,请查看前面的文档:下面只是具体的streams脚本执行过程
复制scott用户
源库执行
BEGIN
DBMS_STREAMS_ADM.SET_UP_QUEUE(
queue_table => 'strmadmin.qs_capture_queue',
queue_name => 'strmadmin.capture_queue_scm');
END;
/
BEGIN
DBMS_STREAMS_ADM.ADD_SCHEMA_RULES(
schema_name => 'SCOTT',
streams_type => 'CAPTURE',
streams_name => 'STRMADMIN_CAPTURE_SCM',
queue_name => 'STRMADMIN.CAPTURE_QUEUE_SCM',
include_dml => true,
include_ddl => true,
source_database => 'DBMASTER.COM');
END;
/
BEGIN
DBMS_STREAMS_ADM.ADD_SCHEMA_PROPAGATION_RULES(
schema_name => 'SCOTT',
streams_name => 'STRMADMIN_PROPAGATION_SCM',
source_queue_name => 'STRMADMIN.CAPTURE_QUEUE_SCM',
destination_queue_name => 'STRMADMIN.APPLY_QUEUE_SCM@DBSNAP.COM',
include_dml => true,
include_ddl => true,
source_database => 'DBMASTER.COM');
END;
/
删除传播进程
begin
DBMS_PROPAGATION_ADM.DROP_PROPAGATION(
propagation_name => 'STRMADMIN_PROPAGATION_SCM');
end;
/
目标库执行:
BEGIN
DBMS_STREAMS_ADM.SET_UP_QUEUE(
queue_table => 'strmadmin.qs_apply_queue',
queue_name => 'strmadmin.apply_queue_scm');
END;
/
BEGIN
DBMS_STREAMS_ADM.ADD_SCHEMA_RULES(
schema_name => 'SCOTT',
streams_type => 'APPLY',
streams_name => 'STRMADMIN_APPLY_SCM',
queue_name => 'STRMADMIN.APPLY_QUEUE_SCM',
include_dml => true,
include_ddl => true,
source_database => 'DBMASTER.COM');
END;
/
初始化数据:
exp scott/scott@dbmaster OWNER=scott FILE=c:\dmp\scott.dmp OBJECT_CONSISTENT=Y STATISTICS=NONE
imp scott/scott@dbsnap CONSTRAINTS=Y FILE=C:\dmp\scott.dmp IGNORE=Y COMMIT=Y STREAMS_INSTANTIATION=Y FULL=Y
启动/停止应用,捕获进程
begin
dbms_apply_adm.start_apply(
apply_name => 'STRMADMIN_APPLY_SCM');
end;
/
begin
dbms_capture_adm.start_capture(
capture_name => 'STRMADMIN_CAPTURE_SCM');
end;
/
begin
dbms_apply_adm.stop_apply(
apply_name => 'STRMADMIN_APPLY_SCM');
end;
/
begin
dbms_capture_adm.stop_capture(
capture_name => 'STRMADMIN_CAPTURE_SCM');
end;
/
测试数据
均测试成功,就不举例了。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21266384/viewspace-767477/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/21266384/viewspace-767477/