• dataguard failover切换


    Failovers:
    FAILOVER切换一般是PRIMARY数据库发生故障后的切换,这种情况是STANDBY数据库发挥其作用的情况。这种切换发生后,可能会造成数据的丢失。而且这个过程不是可逆的,DATA GUARD环境会被破坏。由于PRIMARY数据库已经无法启动,所以FAILOVER切换所需的条件并不多,只要检查STANDBY是否运行在最大保护模式下,如果是的话,需要将其置为最大性能模式,否则切换到PRIMARY角色也无法启动。
    FailOver后,主库会做一次resetlogs,整个DG环境也就破坏了.
     
    1.查看是否有日志GAP,没有应用的日志:
    SQL> select unique thread#, max(sequence#) over(partition by thread#) last from v$archived_log;
    SQL> select thread#, low_sequence#, high_sequence# from v$archive_gap;
      如果有,则拷贝过来并且注册
    SQL> alter database register physical logfile '拷贝过来归档日志路径';
    重复查看直到没有应用的日志:

    2.然后停止应用归档:
    SQL> alter database recover managed standby database cancel;
    Database altered.


    3.下面将STANDBY数据库切换为PRIMARY数据库:
    SQL> alter database recover managed standby database finish;
    Database altered.
    SQL> select database_role from v$database;
    DATABASE_ROLE
    ----------------
    PHYSICAL STANDBY
    SQL> alter database commit to switchover to primary;
    Database altered.
    SQL> alter database open;
    Database altered.
     
    检查数据库是否已经切换成功:
    SQL> select database_role from v$database;
    DATABASE_ROLE
    ----------------
    PRIMARY

    4.修改主库,暂停日志传送
    通过设置 defer 参数来暂停主库对备库的日志传输
    SQL> alter system set log_archive_dest_state_2 = 'defer' scope=both;

  • 相关阅读:
    雅虎35条优化黄金守则
    安装入门
    NPOI 2.0 Excel读取显示
    STL算法
    MVVM框架avalon在兼容旧式IE
    Asp.Net MVC3.0网站统计登录认证的在线人数
    Windows Server 服务器安全配置
    SignalR的服务器广播
    angularjs + seajs构建Web Form3
    MVC应用程序显示上传的图片
  • 原文地址:https://www.cnblogs.com/hxlasky/p/11925942.html
Copyright © 2020-2023  润新知