在Oracle中实现数据库的复制(二)

文章作者 100test 发表时间 2007:03:14 13:44:25
来源 100Test.Com百考试题网


6、创建要复制的组scott_mg,加入数据库对象,产生对象的复制支持
①、用repadmin身份登录shenzhen数据库,创建主复制组scott_mg
SQL> execute dbms_repcat.create_master_repgroup(scott_mg).
说明:scott_mg组名可以根据用户的需求自由命名。
②、在复制组scott_mg里加入数据库对象
SQL>execute dbms_repcat.create_master_repobject(sname=>scott,oname=>dept, type=>table,use_existing_object=>true,gname=>scott_mg).
参数说明:
sname 实现数据库复制的用户名称
oname 实现数据库复制的数据库对象名称
(表名长度在27个字节内,程序包名长度在24个字节内)
type 实现数据库复制的数据库对象类别
(支持的类别:表,索引,同义词,触发器,视图,过程,函数,程序包,程序包体)
use_existing_object true表示用主复制节点已经存在的数据库对象
gname 主复制组名
③、对数据库对象产生复制支持
SQL>execute dbms_repcat.generate_replication_support(scott,dept,table).
(说明:产生支持scott用户下dept表复制的数据库触发器和程序包)
④、确认复制的组和对象已经加入数据库的数据字典
SQL>0select gname, master, status from dba_repgroup.
SQL>0select * from dba_repobject.
7、创建主复制节点
①、用repadmin身份登录shenzhen数据库,创建主复制节点
SQL>execute dbms_repcat.add_master_database
(gname=>scott_mg,master=>beijing.test.com.cn,use_existing_objects=>true, copy_rows=>false, propagation_mode => asynchronous).
参数说明:
gname 主复制组名
master 加入主复制节点的另一个数据库
use_existing_object true表示用主复制节点已经存在的数据库对象
copy_rows false表示第一次开始复制时不用和主复制节点保持一致
propagation_mode 异步地执行
②、确认复制的任务队列已经加入数据库的数据字典
SQL>0select * from user_jobs.
8、使同步组的状态由停顿(quiesced )改为正常(normal)
①、用repadmin身份登录shenzhen数据库,运行以下命令
SQL> execute dbms_repcat.resume_master_activity(scott_mg,false).
②、确认同步组的状态为正常(normal)
SQL> 0select gname, master, status from dba_repgroup.
③、如果这个①命令不能使同步组的状态为正常(normal),可能有一些停顿的复制,运行以下命令再试试(建议在紧急的时候才用):
SQL> execute dbms_repcat.resume_master_activity(scott_mg,true).
9、创建复制数据库的时间表,我们假设用固定的时间表:10分钟复制一次。
①、用repadmin身份登录shenzhen数据库,运行以下命令
SQL>begin
dbms_defer_sys.schedule_push (
destination => beijing.test.com.cn,
interval => sysdate 10/1440,
next_date => sysdate).
end.
/

SQL>begin
dbms_defer_sys.schedule_purge (
next_date => sysdate,
interval => sysdate 10/1440,
delay_seconds => 0,
rollback_segment => ).
end.
/

②、用repadmin身份登录beijing数据库,运行以下命令
SQL>begin
dbms_defer_sys.schedule_push (
destination => shenzhen.test.com.cn ,
interval => sysdate 10 / 1440,
next_date => sysdate).
end.
/

相关文章


关于控制文件与数据文件头信息的说明(一)
关于控制文件与数据文件头信息的说明(三)
Oracle认证基本知识介绍(1)
Oracle10g认证考试途径详解
在Oracle中实现数据库的复制(二)
产品带动认证·知名IT企业职业认证盘点
Oracle9i的DBCA无法启动问题之解决
综合辅导:在Oracle中发送Email
在Oracle中实现数据库的复制(一)
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛