• Oracle DG主备切换


    主备库切换原因

    1. switch:用户主动切换;

    2. failover:主库出现故障,强行切换;

    switch 切换过程:先主库再备库
    主库

    v$database Switchover_Status 值的含义

    NOT ALLOWED 当前的数据库不是带有备用数据库的主数据库
    PREPARING DICTIONARY 该逻辑备用数据库正在向一个主数据库和其他备用数据库发送它的重做数据,以便为切换做准备
    PREPARING SWITCHOVER 接受用于切换的重做数据时,逻辑备用配置会使用它
    RECOVERY NEEDED 备用数据库还没有接收到切换请求
    SESSIONS ACTIVE 在主数据库中存在活动的SQL会话;在继续执行之前必须断开这些会话
    SWITCHOVER PENDING 适用于那些已收到主数据库切换请求但是还没有处理该请求的备用数据库
    SWITCHOVER LATENT 切换没有完成并返回到主数据库
    TO LOGICAL STANDBY 主数据库已经收到了来自逻辑备用数据库的完整的字典
    TO PRIMARY 该备用数据库可以转换为主数据库
    TO STANDBY 该主数据库可以转换为备用数据库


    1. 查看 switchover_status:
    select database_role, switchover_status from v$database;

    如果switchover_status为:to standby 则:

    alter database commit to switchover to physical standby;

    否则用:

    alter database commit to switchover to physical standby with session shutdown;

    2. 重启数据库:

    shutdown immediate;
    startup nomount;

    3. 以备库mount

    alter database mount standby database;

    备库

    1. 应用redo:alter database recover managed standby database disconnect from session;

    2. 查看switchover_status:select database_role, switchover_status from v$database;

    如果switchover_status为:to primary 则:ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY

    否则用:ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN;

    3. 重启数据库

    shutdown immediate;

    startup;


    failover 主备库切换

    1.停止日志应用
    alter database recover managed standby database cancel;

    2. 关闭standby日志传输
    alter database recover managed standby database finish force;

    3. 切换到primary
    alter database commit to switchover to primary with session shutdown;

    做这一步的时候,若存在gap,则会报ORA-16139:Switchover: Media recovery required - standby not in limbo 错误。

    做测试的时候,若先起主库再起备库,且未等待备库相关日志传输完毕,就会出现这个问题。此时需要强制切换
    alter database activate physical standby database;

    4. 重启数据库到open状态

     alter database open;

    --原文地址:https://www.modb.pro/db/46562?xzs

    日积月累
  • 相关阅读:
    分布式与云计算有什么区别?
    多线程学习笔记
    docker解决报错WARNING: IPv4 forwarding is disabled. Networking will not work.
    Docker问题解决:Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io: no such host
    docker学习笔记
    linux命令学习
    Xftp5提示要继续使用此程序,您必须应用最新的更新的解决方案
    Springboot学习笔记
    maven学习笔记
    Spring学习笔记(6)
  • 原文地址:https://www.cnblogs.com/ss-33/p/14858063.html
Copyright © 2020-2023  润新知