我做了个dataguard,两台服务器,做完之后两个数据库之间归档日志是同步的。但切换角色的时候,primary
alter database commit to switchover to physical standby;成功
可是到standby库上
select switchover_status from v$database ;
状态是swithover latent;
再切换的过程中归档日志生成的文件和个数也是同步的。
执行
alter database commit to switchover to primary; 
提示第一行出现错误,ora-16139:需要介质恢复。
我把两台数据库上的redo文件重新拷贝了一份还是不行。对dataguard熟悉的朋友指点下子,不胜感激。

解决方案 »

  1.   

    我再standby open 数据库出现这个错误。SQL> shutdown immediate
    ORA-01109: 数据库未打开
    已经卸载数据库。
    ORACLE 例程已经关闭。
    SQL> startup
    ORACLE 例程已经启动。Total System Global Area  218103808 bytes
    Fixed Size                  1248188 bytes
    Variable Size              83887172 bytes
    Database Buffers          130023424 bytes
    Redo Buffers                2945024 bytes
    数据库装载完毕。
    ORA-16004: 备份数据库需要恢复
    ORA-01152: 文件 1 没有从过旧的备份中恢复
    ORA-01110: 数据文件 1: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\STANDBY\SYSTEM01.DBF'
    怎么恢复????我重新拷贝过来还是不行...
      

  2.   

    Bug 6680806 - ORA-16139 from ALTER DATABASE COMMIT TO SWITCHOVER TO STANDBY
       文档 ID:  6680806.8  类型:  PATCH
       Modified Date:  24-SEP-2008  状态:  PUBLISHED
    Bug 6680806  ORA-16139 from ALTER DATABASE COMMIT TO SWITCHOVER TO STANDBY
     This note gives a brief overview of bug 6680806.
     The content was last updated on: 02-JUL-2008
     Click here for details of each of the sections below.
    Affects:    Product (Component) Oracle Server (Rdbms)
        Range of versions believed to be affected Versions < 11.2
        Versions confirmed as being affected         * 11.1.0.6     Platforms affected Generic (all / most platforms affected)Fixed:    This issue is fixed in         * 11.2 (Future Release)
            * 10.2.0.4 (Server Patch Set)
            * 11.1.0.7 (Server Patch Set) Symptoms:

    Related To:    * Error May Occur
        * ORA-16139      * Physical Standby Database / Dataguard Description    ORA-16139 or similar can occur during an 
         alter database commit to switchover to standby
        command. Whilst this can imply there may be an issue worth 
        looking into on the primary if V$DATABASE shows the primary
        DATABASE_ROLE as PHYSICAL STANDBY then such an error should
        not prevent completion of the switchover to standby.    Workaround:
          Verify that DATABASE_ROLE in V$DATABASE at the old primary 
          (now a physical) is displayed as PHYSICAL standby and if 
          so proceed with the switchover at the chosen target standby.Please note: The above is a summary description only. Actual symptoms can vary. Matching to any symptoms here does not confirm that you are encountering this problem. Always consult with Oracle Support for advice.
      

  3.   

    没啥实际意义啊,
    英文半懂不懂的,我都没有切换过,所以肯定现在的primary就是primary,另外一个台是standby
      

  4.   

    先在备库中看一下是不是有的归档没有被应用:
    select sequence#, applied from v$archived_log;
      

  5.   

    解决了。没有同步之前,再primary库上建了个表。使得system.dbf不一致,后来重新考了个system01.dbf和redo过去还是不行。
    还需要把undo文件也覆盖一下,这个疏忽了。
      

  6.   

    呵呵,楼主换专职DBA的工作了?