資料庫:sc_source 和 sc_dest
要求:將sc_source中的product使用者下的所有對象都複製到sc_dest上去
一、準備工作:
1.1 將sc_source和sc_dest資料庫都置于歸檔模式
1.2 如果有些表沒有主鍵,為保證複製的準確性,需要在來源資料庫(sc_source)上配置輔助日誌
| alter database add supplemental log data(primary key,unique) columns; |
1.3 源,目標庫設定一些參數
job_queue_processes=4 aq_tm_processes=4 global_names=true |
1.4 建立流複製的系統管理使用者源,目標庫都需要配置
create tablespace streams_tbs datafile '/Oracle/oradata/streams_tbs01.dbf' size 1024M; create user strmadmin identified by strmadmin default tablespace streams_tbs quota unlimited on streams_tbs; grant dba,select_catalog_role to strmadmin; |
1.5 建立資料庫連接
sc_source: create database link sc_dest.net connect to strmadmin identified by strmadmin using 'sc_dest';
sc_dest: create database link sc_source.net connect to strmadmin identified by strmadmin using 'sc_source'; |
二,開始配置streams
sc_source
-----------------------------------
配置捕獲進程隊列
begin dbms_streams_adm.set_up_queue( queue_table => 'capture_scstab', queue_name => 'capture_scs', queue_user => 'strmadmin'); end; / |
sc_dest
-----------------------------------
配置應用進程隊列
begin dbms_streams_adm.set_up_queue( queue_table => 'apply_scdtab', queue_name => 'apply_scd', queue_user => 'strmadmin'); end; / |
sc_source
-----------------------------------
配置捕獲進程
begin dbms_streams_adm.add_schema_rules ( schema_name => 'product', streams_type => 'capture', streams_name => 'capture_scstrm', queue_name => 'capture_scs', include_dml => true, include_ddl => true, inclusion_rule => true); end; / |
配置傳播進程
begin dbms_streams_adm.add_schema_propagation_rules ( schema_name => 'product', streams_name => 'pro_source_to_dest', source_queue_name => 'capture_scs', destination_queue_name => 'apply_scd@sc_dest.net', include_dml => true, include_ddl => true, source_database => 'sc_source.net'); end; / |
sc_dest
--------------------------------------------------------
配置應用進程
begin dbms_streams_adm.add_schema_rules ( schema_name => 'product', streams_type => 'apply', streams_name => 'apply_scdtrm', queue_name => 'apply_scd', include_dml => true, include_ddl => true, source_database => 'sc_source.net'); end; / |