首页 > Linux操作系统 > Linux操作系统 > 高级复制实施手记(2)
2.创建主体站点
本文可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明.
http://husthxd.itpub.net/post/11/111302
假定有两个主体站点simis.simis,web.simis。其中,simis.simis为主体定义站点
1) 设置init参数:要注意db_name和db_domain的大小写
主体定义站点simis.simis的init参数
db_name=simis
db_domain=simis
# global_names设置为true
global_names=true
#用于执行dbms_job中的任务
job_queue_processes = 20
复制站点web.simis的init参数
db_name=web
db_domain=simis
# global_names设置为true
global_names=true
#用于执行dbms_job中的任务
job_queue_processes = 20
2) 在simis和web上分别配置网络服务名,服务名 service name分别为web和simis,通过tnsping和sqlplus测试是否连通。
3) 设置global_name和数据库链接
主体定义站点simis.simis上
alter database rename global_name to simis.simis;
复制站点web.simis上
alter database rename global_name to web.simis;
建立公共数据库连接
主体定义站点simis.simis上,配置有名为web的有网络服务名
create public database link web.simis using 'web';
select *from ;-- 如果显示web.simis则表示设置成功
复制站点web.simis上,配置有名为simis的网络服务名
create public database link simis.simis using 'simis';
select *from ;-- 如果显示simis.simis则表示设置成功
4) 1.4在simis.simis上创建主复制站点
创建repadmin:复制环境管理用户
conn
drop user repadmin cascade;
CREATE USER repadmin IDENTIFIED BY repadmin;
授权
BEGIN
DBMS_REPCAT_ADMIN.GRANT_ADMIN_ANY_SCHEMA (username => 'repadmin');
END;
/
GRANT COMMENT ANY TABLE TO repadmin;
GRANT LOCK ANY TABLE TO repadmin;
GRANT SELECT ANY DICTIONARY TO repadmin;
注册propagator,该用户把延迟事务push到其他主体站点上
BEGIN
DBMS_DEFER_SYS.REGISTER_PROPAGATOR (username => 'repadmin');
END;
/
注册接收用户,接受其他站点propagator所push的延迟事务
BEGIN
DBMS_REPCAT_ADMIN.REGISTER_USER_REPGROUP (username => 'repadmin', privilege_type => 'receiver',list_of_gnames => NULL);
END;
/
延迟事务执行完毕后,需要清除高级复制事务,在此定义清除时间间隔
CONNECT
BEGIN
DBMS_DEFER_SYS.SCHEDULE_PURGE (
next_date => SYSDATE
,interval => 'SYSDATE + 30/1440'
, delay_seconds => 0);
END;
/
创建代理主体站点用户来响应物化视图站点上的用户
创建代理物化视图管理员
CONNECT
drop user proxy_mviewadmin cascade;
CREATE USER proxy_mviewadmin IDENTIFIED BY proxy_mviewadmin;
BEGIN
DBMS_REPCAT_ADMIN.REGISTER_USER_REPGROUP (
username => 'proxy_mviewadmin',
privilege_type => 'proxy_snapadmin',
list_of_gnames => NULL);
END;
/
grant SELECT_CATALOG_ROLE to proxy_mviewadmin;
创建代理刷新用户refresher
CREATE USER proxy_refresher IDENTIFIED BY proxy_refresher;
GRANT CREATE SESSION TO proxy_refresher;
GRANT SELECT ANY TABLE TO proxy_refresher;
在用户repadmin下创建私有数据库链接
connect
create database link web.simis connect to repadmin identified by repadmin;
测试连接
select *from ;
设置延迟事务的时间间隔
CONNECT
BEGIN
BMS_DEFER_SYS.SCHEDULE_PUSH (
destination => 'web.simis',
interval => 'SYSDATE + (10/1440)',
next_date => SYSDATE,
parallelism => 1,
execution_seconds => 1500,
delay_seconds => 1200);
END;
/
5) 在web.simis上创建主复制站点
创建复制环境管理员/创建propagator/创建接受者receiver
conn
drop user repadmin cascade;
CREATE USER repadmin IDENTIFIED BY repadmin;
给repadmin用户授权
BEGIN
DBMS_REPCAT_ADMIN.GRANT_ADMIN_ANY_SCHEMA (
username => 'repadmin');
END;
/
GRANT COMMENT ANY TABLE TO repadmin;
GRANT LOCK ANY TABLE TO repadmin;
GRANT SELECT ANY DICTIONARY TO repadmin;
注册propagator
BEGIN
DBMS_DEFER_SYS.REGISTER_PROPAGATOR (
username => 'repadmin');
END;
/
注册receiver
BEGIN
DBMS_REPCAT_ADMIN.REGISTER_USER_REPGROUP (
username => 'repadmin',
privilege_type => 'receiver',
list_of_gnames => NULL);
END;
/
定义purge的时间间隔
CONNECT
BEGIN
DBMS_DEFER_SYS.SCHEDULE_PURGE (
next_date => SYSDATE,
interval => 'SYSDATE + 1/1440',
delay_seconds => 0);
END;
/
在用户repadmin下创建私有数据库链接
connect
create database link simis.simis connect to repadmin identified by repadmin;
select *from ;
CONNECT
BEGIN
DBMS_DEFER_SYS.SCHEDULE_PUSH (
destination => 'simis.simis',
interval => 'SYSDATE + (1/1440)',
next_date => SYSDATE,
parallelism => 1,
execution_seconds => 1500,
delay_seconds => 1200);
END;
/
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/6906/viewspace-22050/,如需转载,请注明出处,否则将追究法律责任。