eygle's life

没有Oracle,世界将会怎样?

用户操作
[即时聊天] [发私信] [加为好友]
盖国强ID:eygle
322375次访问,排名163好友0人,关注者15
eygle的文章
原创 223 篇
翻译 0 篇
转载 5 篇
评论 368 篇
eygle的公告


最近评论
sap99:www.sap99.com/,SAP99资料多多

SAP免费资料下载
http://www.sap99.com

有很多的学习资料,推荐一下,
lynx1111:老大, 能问一下一本书赚多少银子吗?
cyco008:我运行的两种取得的SCN值也不同,而且第一次运行select max(ktuxescnw*power(2,32)+ktuxescnb) from x$ktuxe;与第二次也不同,之后的与第二次才一样。
liuya1985liuya:买了,看完了 感觉不错。
请问怎样才看一个DBA,我是做J2EE开发的,计划转做DBA,事实是也正在努力,两个多月了想找一份初级DBA或是维护又或是开发的工作,仍未找到......
liuya1985liuya:不错 买了
文章分类
收藏
    相册
    友情链接
    eygle的个人站点
    Fenng的个人站点
    我在itpub的Blog
    雪狼的个人站点
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 高级复制中如何应对主体站点故障收藏

    新一篇: B*Tree索引能有多高?--推荐Jonathan Lewis 的一篇经典文章 | 旧一篇: 如何有条件的分步删除数据表中的记录

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

    作者:eygle

    出处:http://blog.eygle.com

    日期:February 18, 2005

    « 在高级复制中如何切换主体定义站点 | Blog首页 | 自己动手,丰衣足食 »


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

    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 rows selected
    
    SQL> 
    

    此时DML操作不能进行
    SQL> insert into scott.dept values (36,'Oracle','Beijing');
    
    insert into scott.dept values (36,'Oracle','Beijing')
    
    ORA-02068: following severe error from TESTORA9
    ORA-03113: end-of-file on communication channel
    ORA-02068: following severe error from TESTORA9
    ORA-03113: end-of-file on communication channel
    
    SQL> select gname,dblink,masterdef from dba_repsites;
    
    GNAME                          DBLINK                  MASTERDEF 
    ------------------------------ ----------------------------------
    REP_TT                         CONNER.HURRAY.COM.CN    Y         
    REP_TT                         TESTORA9.HURRAY.COM.CN  N         
    

    简单的,我们可以移除出问题的主体站点
    SQL> exec dbms_repcat.remove_master_databases(gname => 'rep_tt',master_list => 'TESTORA9.HURRAY.COM.CN');
    
    PL/SQL procedure successfully completed
    

    此后DML操作可以继续:
    SQL> insert into scott.dept values (36,'Oracle','Beijing');
    
    1 row inserted
    
    SQL> COMMIT;
    
    Commit complete
    
    SQL> select gname,dblink,masterdef from dba_repsites;
    
    GNAME                          DBLINK                  MASTERDEF 
    ------------------------------ ----------------------------------
    REP_TT                         CONNER.HURRAY.COM.CN    Y         
    

    如果故障站点修复之后,需要重新加入复制组,可以先在故障站点删除复制组:
    SQL> exec dbms_repcat.drop_master_repgroup(gname => 'rep_tt',drop_contents => false,all_sites => false)
    
    PL/SQL procedure successfully completed
    

    然后在主体定义站点重新加入该主体站点:
    SQL> exec dbms_repcat.suspend_master_activity(gname => 'rep_tt')
    
    PL/SQL procedure successfully completed
    
    SQL> execute dbms_repcat.add_master_database(gname=>'rep_tt',
         master=>'TESTORA9.HURRAY.COM.CN',use_existing_objects=>true, 
         copy_rows=>false, propagation_mode => 'synchronous');
    
    PL/SQL procedure successfully completed
    
    SQL> execute dbms_repcat.resume_master_activity('rep_tt',true);
    
    PL/SQL procedure successfully completed
    
    SQL> 
    

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

    发表于 @ 2005年02月22日 23:52:00|评论(loading...)|编辑

    新一篇: B*Tree索引能有多高?--推荐Jonathan Lewis 的一篇经典文章 | 旧一篇: 如何有条件的分步删除数据表中的记录

    评论:没有评论。

    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © eygle