- 论坛徽章:
- 0
|
问题如上,
select * from dba_repcatlog
结果是空;
select sname,oname,status,gname from dba_repobject where gname='SCOTT_REPG';
结果:
sname oname status gname
SCOTT DEPT VALID SCOTT_REPG
SCOTT DEPT$RP VALID SCOTT_REPG
SCOTT DEPT$RP VALID SCOTT_REPG
SCOTT EMP VALID SCOTT_REPG
SCOTT EMP$RP VALID SCOTT_REPG
SCOTT EMP$RP VALID SCOTT_REPG
select gname, dblink, masterdef MASTERDEF, master MASTER from sys.dba_repsites where gname='SCOTT_REPG';
结果:
gname dblink masterdef master
SCOTT_REPG ORC33.WORLD N Y
SCOTT_REPG ORC22.WORLD Y Y
select gname,master,status from dba_repgroup where gname='SCOTT_REPG';
结果:
gname master status
SCOTT_REPG Y NORMAL
当dba_repgroup 中的status 为NORMAL时,我执行
SQL> BEGIN
2 DBMS_REPCAT.RESUME_MASTER_ACTIVITY (
3 gname => 'scott_repg');
4 END;
5 /
PL/SQL procedure successfully completed
此时我在ORC22.WORLD(主数据库)中参与复制的表EMP中插入或者删除一条数据,等待的时间超过了我设置的复制间隔时间10分钟,ORC33.WORLD(从数据库)中的EMP表没有变化。但是当我在ORC22.WORLD(主数据库)中执行
SQL>
SQL> begin
2 Dbms_Repcat. SUSPEND_MASTER_ACTIVITY (
3 gname => 'scott_repg');
4 end;
5 /
PL/SQL procedure successfully completed
过程挂起复制的之后,在查看从数据库中的EMP表就发生了预期的变化。不管时在主复制点所作的是删除或者插入都反映到了从数据库中。发生变化后仔细观察几个和复制相关的视图发现dba_repgroup 中的status这时候从normal变化到QUIESCED。就是这个时候实行了复制的功能。
请问这是什么原因引起的???
谢谢 |
|