MASTER.ANYMUSIC.COM
表示数据库到此连接成功。
登陆数据库机器A
开始复制实施进程,在主数据库执行
用repadmin 登陆数据库
创建主复制组rep_anymusic,此名可以任意命名
SQL> execute dbms_repcat.create_master_repgroup('REP_anymusic');
察看复制主体组相关信息:
SQL> select gname,master,status from dba_repgroup
GNAME M STATUS
------------------------------ - ---------
REP_ANYMUSIC Y QUIESCED
QUIESCED表示主体组未开始运行。
在主体组中添加复制对象
SQL> execute dbms_repcat.create_master_repobject (sname=>'wcms',oname=>'test', type=>'TABLE', use_existing_object=>true,gname=>'REP_anymusic',copy_rows=>true);
sname 实现数据库复制的用户名称
oname 实现数据库复制的数据库对象名称
type 实现数据库复制的数据库对象类别。(支持的类别:表,索引,同义词,触发器,视图,过程,函数,程序包,程序包体)
use_existing_object true表示用主复制节点已经存在的数据库对象
gname 主复制组名
copy_rows true表示第一次开始复制时和主复制节点保持一致
察看复制主体组中复制对象的相关信息:
SQL>select sname,oname,status,gname from dba_repobject
SNAME ONAME STATUS GNAME
------------------------------
WCMS TEST VALID REP_ANYMUSIC
为复制对象生成复制支持:
SQL> execute dbms_repcat.generate_replication_support('wcms','test','TABLE');
(说明:产生支持wcms用户下test表复制的数据库触发器和程序包)
再次察看对应的复制对象的相关信息:
SQL> select sname,oname,status,gname from dba_repobject
SNAME ONAME STATUS GNAME
------------------------------
WCMS TEST VALID REP_ANYMUSIC
WCMS TEST$RP VALID REP_ANYMUSIC
WCMS TEST$RP VALID REP_ANYMUSIC
为复制主体组添加数据库主站点:
SQL>execute dbms_repcat.add_master_database(gname=>'REP_anymusic',master=>'salse.anymusic.com',
gname 主复制组名
master 加入主复制节点的另一个数据库
use_existing_object true表示用主复制节点已经存在的数据库对象
copy_rows false表示第一次开始复制时不用和主复制节点保持一致
propagation_mode 异步地执行
察看复制站点信息:
SQL> select gname,dblink,masterdef,master from dba_repsites
GNAME DBLINK M M
REP_ANYMUSIC MASTER.ANYMUSIC.COM Y Y
REP_ANYMUSIC SALSE.ANYMUSIC.COM N Y
启动复制进程:
SQL> execute dbms_repcat.resume_master_activity('REP_anymusic',true);
再次察看复制主体组相关信息:
SQL> select gname,master,status from dba_repgroup
GNAME M STATUS
------------------------------ - ---------
REP_ANYMUSIC Y NORMAL
确认复制的任务队列已经加入数据库的数据字典
SQL>select job,log_user,this_date,next_date,next_sec,broken,failures,what from user_jobs;
JOB LOG_USER THIS_DATE NEXT_DATE
NEXT_SEC B FAILURES WHAT
21 REPADMIN 05-JAN-09
14:23:42 N 0 dbms_repcat.do_deferred_repcat_admin('"REP_ANYMUSIC"', FALSE);
注释:job:表示当前此工作的标示号
log_user: 表示当前工作的操作者
this_date:表示当前工作是否正在工作,空为空闲。
next_date:表示此工作下次执行日期
next_sec:表示此工作下次执行时间
broken:表示工作是否被挂起
failures:表示工作失败次数
what: 应该是工作执行语句
注意:复制主体组的状态由QUIESCED变为NORMAL。停顿(quiesced )正常(normal)
这里在以repadmin登陆机器B,察看结果如下就表示正确
SQL>select job,log_user,this_date,next_date,next_sec,broken,failures,what from user_jobs;
JOB LOG_USER THIS_DATE NEXT_DATE NEXT_SEC B FAILURES WHAT
21 REPADMIN 05-JAN-09 14:52:04 N 0 dbms_repcat.do_deferred_repcat_admin('"REP_ANYMUSIC"', FALSE);
至此,这个复制过程实施完毕。可以进行