用于 Oracle 的 Sun Cluster 数据服务指南(适用于 Solaris OS)

Procedure如何更改 DataGuard 实例的角色

  1. 防止 Sun Cluster 以错误的角色启动实例。

    如果在更改 DataGuard 实例的角色时节点或区域发生故障,Sun Cluster 可能会以错误的角色重新启动该实例。要防止这种可能性,将代表该实例的 Oracle 服务器资源的 Dataguard_role 扩展属性更改为 IN_TRANSITION


    # clresource set -p Dataguard_role=IN_TRANSITION server-rs
    
  2. 在 Oracle 数据库上执行必要的操作,将数据库转换为新角色。

  3. 更改代表该实例的 Oracle 服务器资源的以下扩展属性,以反映该实例的新角色:

    • Dataguard_role

    • Standby_mode

    需要的 Dataguard_roleStandby_mode 组合取决于角色的更改,如下所示:

    • 要从主数据库更改为物理备用数据库,运行以下命令:


      # clresource set -p Dataguard_role=STANDBY -p Standby_mode=PHYSICAL server-rs
      
    • 要从主数据库更改为逻辑备用数据库,运行以下命令:


      # clresource set -p Dataguard_role=STANDBY \
       -p Standby_mode=LOGICAL server-rs
      
    • 要从备用数据库更改为主数据库,运行以下命令:


      # clresource set -p Dataguard_role=PRIMARY server-rs