zoukankan      html  css  js  c++  java
  • 来个ADG switch over

    怕以后忘了,做个试验记录一下,这个switch比较常规
    1】主--备库先查一遍,如下的话就可以开始了
    两者当前序列一致
    角色状态如下
    --主库
    SQL> archive log list;
    数据库日志模式 存档模式
    自动存档 启用
    存档终点 /u01/app/oracle/oradata/test/flash_recovery_area
    最早的联机日志序列 524
    下一个存档日志序列 526
    当前日志序列 526
    SQL> select switchover_status,database_role from v$database;

    SWITCHOVER_STATUS DATABASE_ROLE
    -------------------- ----------------
    TO STANDBY PRIMARY

    --备库
    SQL> archive log list;
    数据库日志模式 存档模式
    自动存档 启用
    存档终点 /u01/app/oracle/oradata/test/flash_recovery_area
    最早的联机日志序列 524
    下一个存档日志序列 0
    当前日志序列 526
    SQL> select switchover_status,database_role from v$database;

    SWITCHOVER_STATUS DATABASE_ROLE
    -------------------- ----------------
    NOT ALLOWED PHYSICAL STANDBY

    2】切换
    --主库
    --将primary角色转换为standby角色
    SQL> alter database commit to switchover to physical standby;

    数据库已更改。
    SQL> shutdown immediate
    ORA-01012: not logged on

    --shutdown immediate
    SQL> startup mount
    ORACLE 例程已经启动。

    Total System Global Area 3975139328 bytes
    Fixed Size 2259360 bytes
    Variable Size 2768242272 bytes
    Database Buffers 1191182336 bytes
    Redo Buffers 13455360 bytes
    数据库装载完毕。

    mount之后原主库成了备库
    SQL> select switchover_status,database_role from v$database;

    SWITCHOVER_STATUS DATABASE_ROLE
    -------------------- ----------------
    RECOVERY NEEDED PHYSICAL STANDBY

    --备库
    --查看standby状态
    SQL> select switchover_status,database_role from v$database;

    SWITCHOVER_STATUS DATABASE_ROLE
    -------------------- ----------------
    SESSIONS ACTIVE PHYSICAL STANDBY

    --将--备库的角色修改为primary
    /*执行下面时需要关闭其他sql窗口,否则报下面的错

    SQL> alter database commit to switchover to primary;
    alter database commit to switchover to primary
    *
    第 1 行出现错误:
    ORA-01093: ALTER DATABASE CLOSE 仅允许在没有连接会话时使用
    */

    确认没有会话连接了执行结果
    SQL> alter database commit to switchover to primary;

    数据库已更改。

    原备库变成原主库那样了,
    SQL> select switchover_status,database_role from v$database;

    SWITCHOVER_STATUS DATABASE_ROLE
    -------------------- ----------------
    NOT ALLOWED PRIMARY

    原主库呢,刚才mount了,需要recover,现在新主库也open了,可以开始recover了
    SQL> select status from v$instance;

    STATUS
    ------------
    MOUNTED

    SQL> alter database recover managed standby database disconnect from session;

    SQL> recover managed standby database cancel;
    完成介质恢复。
    SQL> alter database open;

    数据库已更改。

    开启实时应用
    SQL> alter database recover managed standby database using current logfile disconnect from session;

    数据库已更改。

    --这时新备库正常了
    SQL> select switchover_status,database_role from v$database;

    SWITCHOVER_STATUS DATABASE_ROLE
    -------------------- ----------------
    NOT ALLOWED PHYSICAL STANDBY

    检查】
    新主库切换日志查看下两边序列是否一致(简单方式)
    alter system switch logfile;
    archive log list;

    查看主、备库是否有gap
    SELECT STATUS,GAP_STATUS FROM V$ARCHIVE_DEST_STATUS WHERE DEST_ID=2;

  • 相关阅读:
    Matrix-tree 定理的一些整理
    多项式
    多项式
    vijos 1641 Vs Snowy
    noip 提高组 2010
    军训有感
    我的将军啊
    洛谷 P3302 [SDOI2013]森林
    关于线段树
    关于KMP
  • 原文地址:https://www.cnblogs.com/ritchy/p/10948639.html
Copyright © 2011-2022 走看看