| begin dbms_defer_sys.register_purpagator(username=>’repadmin’); end; |
3.调度清除作业,该作业会定时清除延迟事务队列并用传播方将延迟事务推入其他主体站点或者实体化视图站点。先更换用户:
| disconnect; connect repadmin/repadmin@SH; begin dbms_defer_sys.schedule_purge( next_date=>sysdate,interval=>’sysdate + 1’,delay_seconds=>0); end; |
next_date:下一次执行日期,sysdate表示立即。
interval:间隔时段,sysdate + 1表示间隔一天,sysdate+ 1/24表示间隔一小时
delay_seconds:当延迟队列没有延迟事件时停止被次清除操作的延迟时间。
4.为实体化视图站点建立复制代理。创建复制代理用户并授予视图接受方权限。复制代理是复制接收方连接主体站点的用户
| disconnect; connect system/passwd@SH; create user proxy_bjoracle identified by proxy_bjOracle; begin dbms_repcat_admin.register_user_repgroup( user_name=>’proxy_bjOracle, privilege_type => ’proxy_snapadmin’,list_of_gnames => NULL); end; / grant select_catalog_role to proxy_bjOracle; |
5. 创建主体组。
| disconnect; connect repadmin/repadmin@SH; begin dbms_repcat.create_master_repgroup(gname=>’sh_rep’); end; / |
a) 添加表:
| begin dbms_repcat.create_master_repobject( gname=>’sh_rep’, type=>’TABLE’, oname=>’ CREDIT_CARD’ sname=>’SHORACL’ use_existing_object=>TRUE, copy_rows=>TRUE); end; |
b) 添加索引
| begin dbms_repcat.create_master_repobject( gname=>’sh_rep’, type=>’INDEX’, oname=>’ INDEX_CREDIT_CARD’ sname=>’SHORACL’ use_existing_object=>TRUE, copy_rows=>FALSE); end; / |
7. 如果添加的表没有主键需要设置可以代替主键的列或者列的集合
| begin dbms_repcat.set_columns( sname => ’SHORACL’, oname => ’ CREDIT_CARD ’, column_list => ’ CREDIT_CARD_ID’); end; / |
8. 在主体组中的数据对象可以被复制之前,必须为他们生成复制支持。该方法为复制创建必要的触发器、包或者存储过程:
| begin dbms_repcat.generate_replication_support( sname=>’SHORACL’, oname=>’ CREDIT_CARD’, type=>’TABLE’, min_communication=>TRUE); end; / |
9. 为快速刷新创建实体化视图日志:
| create materialized view log on SHORACL. CREDIT_CARD; |
如果是没有主键的