Oracle 高级复制报告.doc
文本预览下载声明
物化视图复制站点的配置步骤
主站点:test.ncl(dbtest)
物化视图站点:peixun.ncl(db58)
复制用户:lis
复制表:test_a
准备工作:
在站点创建将要被复制的表test_a
SQL create table test_a as select * from user_tables;
表已创建。
――创建主键
SQL alter table test_a add (constraint pk_name primary key (table_name));
表已更改。
SQL commit;
提交完成。
复制开始
检查初始化参数:
参数global_names 为true;job_queue_process 大于0.
检查全局数据库名称
两个数据库的 db_domain 名称应该相同,只有db_name 不同。可以通过下面语句检查
Select * form global_name;
如果全局数据库名设置不符合规范,可以通过如下语句动态修改。
alter database rename global_name to test.ncl
alter database rename global_name to peixun.ncl;
检查tnsname
建立主体站点
--以system 用户连接到主站点
CONN system@test
--建立复制管理用户repadmin 并授权
SQL conn system/system@test
已连接。
--建立复制管理用户repadmin 并授权
SQL CREATE USER repadmin IDENTIFIED BY repadmin;
用户已创建
SQL BEGIN
2 DBMS_REPCAT_ADMIN.GRANT_ADMIN_ANY_SCHEMA (username = repadmin);
3 END;
4 /
PL/SQL 过程已成功完成。
SQL commit;
提交完成。
SQL GRANT COMMENT ANY TABLE TO repadmin;
授权成功。
SQL GRANT LOCK ANY TABLE TO repadmin;
授权成功。
SQL GRANT SELECT ANY DICTIONARY TO repadmin;
授权成功。
--注册传播用户并授权,这里使用了管理用户repadmin,也可以分别建立用户
SQL BEGIN
2 DBMS_DEFER_SYS.REGISTER_PROPAGATOR (username = repadmin);
3 END;
4 /
PL/SQL 过程已成功完成。
--注册接收用户,这里使用了管理用户repadmin
SQL BEGIN
2 DBMS_REPCAT_ADMIN.REGISTER_USER_REPGROUP (
3 username = repadmin,
4 privilege_type = receiver,
5 list_of_gnames = NULL);
6 END;
7 /
PL/SQL 过程已成功完成。
--建立物化视图站点复制管理员的代理用户,出于简单考虑,这里也使用repadmin 用户
SQL BEGIN
2 DBMS_REPCAT_ADMIN.REGISTER_USER_REPGROUP (
3 username = repadmin,
4 privilege_type = proxy_snapadmin,
5 list_of_gnames = NULL);
6 END;
7 /
PL/SQL 过程已成功完成。
SQL commit;
提交完成。
--设置代理刷新用户,并授权,这里仍然使用repadmin 用户
--对于repadmin 而言,不需要create session 权限
--但是这里如果新建用户的话,create session 权限则是必须的
SQL GRANT CREATE SESSION TO repadmin;
授权成功。
SQL GRANT SELECT ANY TABLE TO repadmin;
授权成功。
--设置清除延迟序列的job
--以复制管理员身份登陆到主站点
SQL conn repadmin/repadmin
已连接。
SQL BEGIN
2 DBMS_DEFER_SYS.SCHEDULE_PURGE (
3 next_date = SYSDATE,
4 interval = SYSDATE + 1/8640,------------每10秒更新一次
5 delay_seco
显示全部