环境为win2k3 x64 + oracle11g 11.1.6
由于客户需要在physical standby上面做查询以分担主库压力,所以需要用到11G的active data guard功能。
前些天做过测试,能够正常使用。但是这两天做测试的时候,总是不成功,而且是连错两遍。贴出过程,哪位仁兄做过,给看看是哪一步出错了。这次配置的过程与10G上的步骤基本相似。使用rman对主库进行全备之后拷到备库上,将自动备份的控制文件恢复出来后,mount,catalog start with,restore database,修改两个pfile,从主库trace出standby control file并在备库应用。
做到这里,可以按照10g的方式将备库置于mount状态下并且应用主库过来的日志。但是在打开备库的时候,提示说必须在resetlogs的情况下打开数据库。问题就在这里了……我记得11G这里打开的时候是不用resetlogs的啊,否则就没有备库了额。在我的测试环境中,mount状态下,下面两句都能接收并应用日志:
alter database recover managed standby database disconnect from session
alter database recover managed standby database using current logfile disconnect但是就是不能打开,大家帮忙看一下,我哪一步出错了,或者是少了什么步骤。谢谢。

解决方案 »

  1.   

    你是怎么打开的?
    oracle 10g,
    alter database open;
    它会自动给你默认为read onlyoracle 9i
    必须
    alter database open read only;oracle 11g,没测试过暂时打开的操作,建议你使用
    alter database open read only;上边说的都是临时打开备库的方式,如果你确信要主备库切换,这个时候你就必须完全打开了,看你的需求不是这个情况
      

  2.   


    SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
    SQL> SHUTDOWN;
    SQL> STARTUP MOUNT;
    SQL> ALTER DATABASE OPEN READ ONLY;查询完后继续同步:
    SQL> SHUTDOWN IMMEDIATE
    SQL> STARTUP NOMOUNT
    SQL> ALTER DATABASE MOUNT STANDBY DATABASE;
    SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
      

  3.   

    jinxino_o你好11G的dataguard在active data guard模式下,open的状态时,
    通过alter database recover managed standby database using current logfile disconnect 这句可以应用日志的,这实际上还是一个physical standby,在保证了数据安全性的同时,又可以提供查询服务,分担了主库的压力。你在2楼贴的是10G支持的查询方法,现在11G更聪明了,不用来回这么切换了。
      

  4.   

    我的需求是做一个dataguard
    在备库不断应用日志的同时,提供查询服务,以消化主库的压力。11G和10G最大的不同时10G如果想要在备库查询的话就不能同时应用日志!也就是说在你查询的过程中,无法做到与主库同步。
      

  5.   

    没报600的错误只是告诉我必须加resetlogs语句才能打开,要么是open read only.很郁闷……以前做测试的时候是能够正常打开的。现在还没敢告诉客户呢,要被他们骂死的。唉