高级复制中如何应对主体站点故障

高级复制中如何应对主体站点故障,第1张

高级复制中如何应对主体站点故障,第2张

在同步复制
中,一旦任何一个主站点出现故障,数据库就会出现问题。


SQL > select * from Scott . dept;DEPTNO DNAME LOC---10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON 33 ORACLE Beijing 35 ORACLE Beijing 6行选择SQL >

此时,无法执行DML操作。

SQL >插入scott.dept值(36,@#Oracle@#,@ # Beijing @ #);insert into scott.dept values (36,@#Oracle@#,@#Beijing@#) ORA-02068:出现TESTORA9ORA的严重错误后-03113:通信通道上的文件尾ORA-02068:出现TESTORA9ORA的严重错误后-03113:通信通道上的文件尾SQL> select gname,dblink,masterdef from dba _ repsitesCONNER.HURRAY.COM.CN代表TT和TESTORA9.HURRAY.COM.CN代表TT

是的,我们可以删除有问题的主站点。

SQL > exec DBMS _ rep cat . remove _ master _ databases(gname = > @ # rep _ TT @ #,master_list => @#TESTORA9 .HURRAY . com . cn @ #);PL/SQL过程已成功完成

此后,DML操作可以继续:

SQL >插入scott.dept值(36,@#Oracle@#,@ # Beijing @ #);1行insertedSQL > COMMITCommit completeSQL> select gname,dblink,masterdef from dba _ repsitesCONNER.HURRAY.COM.CN TT代表

如果需要在故障站点修复后重新加入复制组,可以先删除故障站点上的复制组:

SQL > exec DBMS _ rep cat . drop _ master _ rep group(gname = > @ # rep _ TT @ #,drop_contents => false,all_sites => false)PL/SQL过程已成功完成

然后在主体定义站点重新加入主体站点:

SQL > exec DBMS _ rep cat . suspend _ master _ activity(gname = > @ # rep _ TT @ #)PL/SQL过程成功完成SQL > execute DBMS _ rep cat . add _ master _ database(gname = > @ # rep _ TT @ #,master=>@#TESTORA9 .HURRAY.COM.CN@#,use_existing_objects=>true,copy_rows=>false,propagation _ mode = > @ # synchronous @ #);PL/SQL过程已成功完成SQL > execute DBMS _ rep cat . resume _ master _ activity(@ # rep _ TT @ #,true);PL/SQL过程成功完成SQL >

此时,复制恢复正常。
接下来,你需要解决数据冲突。请参考:使用dbms_rectifier_diff解决高级复制中的数据冲突问题。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 高级复制中如何应对主体站点故障

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情