本例涉及两个站点.
主体定义站点:AVATAR.COOLYOUNG.COM.CN
主体站点:AUTHAA.COOLYOUNG.COM.CN
注:主体定义站点指配置复制工作的站点
本例涉及的用户.
复制治理员:repadmin
应用用户:hawa
本例复制的对象:hw_test 数据表
1.在主体定义站点复制用户下创建复制对象
SQL select * from global_name;
GLOBAL_NAME
-----------------------------------------------------------
AVATAR.COOLYOUNG.COM.CN
SQL connect hawa/passWord
Connected.
SQL create table hw_test as select * from hw_online;
Table created.
SQLselect count(*) from hw_test;
COUNT(*)
----------
464
SQL alter table hw_test add (constraint pk_userid primary key (numuserid));
Table altered.
2.在主体站点同样创建复制对象
SQL select * from global_name;
GLOBAL_NAME
------------------------------------------------------------------------
AUTHAA.COOLYOUNG.COM.CN
SQL connect hawa/password
Connected.
SQL create table hw_test as select * from hw_online;
Table created.
SQL select count(*) from hw_test;
COUNT(*)
----------
0
3.在主体站点手工同步数据
SQL connect repadmin/password
Connected.
SQL insert into hawa.hw_test select * from hawa.hw_test@avatar;
464 rows created.
SQL commit;
Commit complete.
4.在主体定义站点开始操作
登陆主体定义站点
$ sqlplus repadmin/password
SQL*Plus: Release 9.2.0.4.0 - ProdUCtion on Mon Jun 27 09:32:36 2005
Copyright (c) 1982, 2002, Oracle Corporation.All rights reserved.
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.4.0 - 64bit Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.4.0 - Production
SQL select * from global_name;
GLOBAL_NAME
----------------------------------------------------------------------------
AVATAR.COOLYOUNG.COM.CN
创建复制组:
SQL execute dbms_repcat.create_master_repgroup('rep_hh');
PL/SQL procedure successfully completed.
SQL select gname,master,status from dba_repgroup where gname='REP_HH';
GNAMEM STATUS
------------------------------ - ---------
REP_HH Y QUIESCED
在复制组里加入复制对象
SQL execute dbms_repcat.create_master_repobject
(sname='hawa',oname='hw_test',
type='table',use_existing_object=true,gname='rep_hh',copy_rows=false);
PL/SQL procedure successfully completed.
SQL select sname,oname,status,gname from dba_repobject where gname='REP_HH';
SNAMEONAMESTATUS GNAME
------------------------------ ------------------------------ ---------- ------------------------------
HAWA HW_TESTVALIDREP_HH
对复制对象产生复制支持
SQL execute dbms_repcat.generate_replication_support('hawa','hw_test','table');
PL/SQL procedure successfully completed.
SQL select gname, master, status from dba_repgroup where gname='REP_HH';
GNAMEM STATUS
------------------------------ - ---------
REP_HH Y QUIESCED
SQL select sname,oname,status,gname from dba_repobject where gname='REP_HH';
SNAMEONAMESTATUS GNAME
------------------------------ ------------------------------ ---------- ------------------------------
HAWA HW_TESTVALIDREP_HH
HAWA HW_TEST$RP VALIDREP_HH
HAWA HW_TEST$RP VALIDREP_HH
SQL
添加主体复制节点
SQL execute dbms_repcat.add_master_database
(gname='rep_hh',master='AUTHAA.COOLYOUNG.COM.CN',use_existing_objects=true,
copy_rows=false, propagation_mode = 'synchronous');
PL/SQL procedure successfully completed.
SQL column masterdef format a10
SQL column master format a10
SQL column dblink format a25
SQL column gname format a12
SQL select gname, dblink, masterdef MASTERDEF, master MASTER from sys.dba_repsites where gname='REP_HH';
GNAMEDBLINKMASTERDEFMASTER
------------ ------------------------- ---------- ----------
REP_HH AVATAR.COOLYOUNG.COM.CN YY
REP_HH AUTHAA.COOLYOUNG.COM.CN NY
登陆主体站点,检查复制对象情况:
[oracle@www167 oracle]$ sqlplus repadmin/password
SQL*Plus: Release 9.2.0.4.0 - Production on Mon Jun 27 09:34:49 2005
Copyright (c) 1982, 2002, Oracle Corporation.All rights reserved.
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning option
JServer Release 9.2.0.4.0 - Production
SQL select * from global_name;
GLOBAL_NAME
--------------------------------------------------------------------------------
AUTHAA.COOLYOUNG.COM.CN
SQL set linesize 120
SQL select sname,oname,status,gname from dba_repobject where gname='REP_HH';
SNAMEONAMESTATUS GNAME
------------------------------ ------------------------------ ---------- ------------------------------
HAWA HW_TESTVALIDREP_HH
HAWA HW_TEST$RP VALIDREP_HH
HAWA HW_TEST$RP VALIDREP_HH
在主体定义站点启动复制:
SQL select * from global_name;
GLOBAL_NAME
-----------------------------------------------------------------------------
AVATAR.COOLYOUNG.COM.CN
SQL execute dbms_repcat.resume_master_activity('rep_hh',true);
PL/SQL procedure successfully completed.
在主体定义站点删除数据测试:
SQL connect hawa/password
Connected.
SQL select count(*) from hw_test;
COUNT(*)
----------
464
SQL delete from hw_test where rownum <20;
19 rows deleted.
SQL commit;
Commit complete.
SQL select count(*) from hw_test;
COUNT(*)
----------
445
在主体站点观察变化:
SQL select * from global_name;
GLOBAL_NAME
--------------------------------------------------------------------------------
AUTHAA.COOLYOUNG.COM.CN
SQL select count(*) from hw_test;
COUNT(*)
----------
445
SQL