功能

v$ob_cluster 用于展示当前集群的基本信息。

字段说明

字段名称

类型

是否可以为 NULL

描述

cluster_id

bigint(20)

NO

集群唯一 ID。

cluster_name

varchar(4096)

NO

集群名。

created

timestamp(6)

NO

集群创建时间。

cluster_role

varchar(4096)

NO

集群角色:

  • PRIMARY:表示主集群

  • PHYSICAL STANDBY:表示备集群

cluster_status

varchar(4096)

NO

当前集群状态:

  • VALID:表示有效状态

  • DISABLED:表示禁止同步数据状态

默认是VALID状态,用户可以在主库上禁止某一个备集群同步。在 Failover 过程中,新主集群会自动设置其他备集群库为DISABLED状态,默认禁止其他备集群与新主集群同步数。

switchover#

bigint(20)

NO

一次 Switchover 或 Failover 操作的唯一标识。

switchover_status

varchar(4096)

NO

Switchover 状态:

  • NOT ALLOWED:

    • 主集群上显示NOT ALLOWED表示当前集群不能 Switchover 成备集群。

    • 备集群上显示NOT ALLOWED表示当前集群不能 Switchover 成主集群。

  • TO PRIMARY:只在备集群上显示,表示当前集群可以切换成主集群。

  • TO STANDBY:只在主集群上显示,表示当前集群可以切换成备集群。

  • SWITCHOVER SWITCHING:主集群 Switchover 成备集群的中间状态。处于该状态的集群不能提供写服务,内部停写日志。

  • FAILOVER FLASHBACK:备集群 Failover 成主集群的中间状态,集群正在回滚数据到一致状态。处于该状态的集群不能提供写服务,用户可以持续重试 Failover 命令,直到成功 Failover 成主集群。

  • FAILOVER CLEANUP:备集群Failover 成主集群的中间状态,集群正在做最后的清理工作,包括清理无效的 Freeze info、删除无效的 Schema 等。处于该状态的集群提供写服务,但是不能执行 DDL 操作。

switchover_info

varchar(4096)

NO

展示 Switchover 相关信息,SWITCHOVER_STATUS 的详细说明如下:

  • NOT ALLOWED :表示为何不允许切换。

  • TO STANDBY:表示有哪些备集群可以切为主集群。

  • 其他状态时,该列值为空。

具体取值示例:

  • CHECK PRIMARY CLUSTER SERVER STATUS:表示需要校验主集群的 Server 状态,可能存在 Server 不在线的情况。

  • CHECK STADNBY CLUSTER SERVER STATUS:表示需要校验备集群的 Server 状态,可能存在 Server 不在线的情况。

  • CHECK PRIMARY CLUSTER REBALANCE TASK STATUS:表示需要校验主集群的负载均衡任务是否完成。

  • CHECK STANDBY CLUSTER REBALANCE TASK STATUS:表示需要校验备集群的负载均衡任务是否完成。

  • CHECK MERGE STATUS:表示检查合并状态是否出现 ERROR。

  • NONE SYNCED STANDBY CLUSTER:没有同步的备集群存在,主集群不能切换为备集群。

  • SYNCED STANDBY CLUSTERS: cluster1, cluster2 :表示处于同步状态的备集群列表。

  • CHECK SYS SCHEMA SYNC STATUS :表示需要校验备集群中系统租户的 Schema 是否同步完成。

  • CHECK USER SCHEMA SYNC STATUS:表示需要校验备集群中普通租户的 Schema 是否同步完成。

  • CHECK FREEZE INFO SYNC STATUS:表示需要校验备集群冻结信息是否同步完成。

  • CHECK ENOUG REPLICA:表示需要检查备集群的副本个数是否齐全。

  • CHECK REDO LOG SYNC STATUS:表示需要校验备集群的 REDO 日志是否同步完成。

  • CAN NOT ACCESS CLUSTERS: cluster1, cluster2:表示某些集群不能访问,需要校验这些备集群的状态。

  • NO CLUSTER IN SWITCHING:表示没有集群处于SWITCHING状态,不能执行switchover to primary。该信息是备集群处于NOT ALLOW状态时可能展示的信息。

  • INNER ERROR:表示发生内部错误,需要查看集群日志排查问题,日志关键字为SWITCHOVER_STATUS

  • PRIMARY CLUSTER NOT IN SYNC MODE:最大保护和最大可用模式下,要求主集群的日志传输参数配置为强同步(SYNC)模式,同时,执行 Switchover 后,保护模式不变,并且原主集群变为强同步的备集群。用户可以在主集群上修改自己的日志传输参数为SYNC来解决该问题。

  • STANDBY CLUSTER NOT IN SYNC MODE:最大保护和最大可用模式下,只能选择强同步(SYNC)模式的备集群切换为主集群。当备集群没有配置为SYNC模式,不允许切换为主集群。

  • PRIMARY CLUSTER HAS REPLICA IN RESTORE :表示当前主集群有部分副本没有创建完成,不允许执行角色切换。需要用户主动删除这部分副本之后才能继续进行角色切换。

  • STANDBY CLUSTER HAS REPLICA IN RESTORE:表示当前备集群有部分副本没有创建完成,不允许执行角色切换。需要等副本创建完成才能继续进行角色切换。

  • PRIMARY CLUSTER DOING BACKUP:表示主集群正在执行备份,不允许执行角色切换,因为切换为备集群后不再支持备份,要求用户先停止备份任务。

  • CHECK OTHER PRIMARY CLUSTE:表示存在其他主集群,不允许执行角色切换,防止集群出现双主

current_scn

bigint(20)

NO

当前集群连续已回放的最大快照版本

standby_became_primary_scn

bigint(20)

NO

备集群强制切换为主集群的快照版本

注意

执行 Switchover 不会影响该值,该值在所有正常接入的主集群和备集群上均可查询到,并且主备集群保持一致。

primary_cluster_id

bigint(20)

YES

  • 对于备集群,该字段表示它认为的主集群的唯一 ID;如果没有主集群,则该值为 NULL

  • 对于主集群,该字段为 NULL

注意

此处与 Oracle 数据库不兼容,Oracle 数据库中,如果主集群之前曾经是备集群,则该字段为上一个主集群的信息;如果主集群没有成为过备集群,则该字段为 NULL。

protection_mode

varchar(4096)

NO

保护模式:

  • MAXIMUM PROTECTION:最大保护模式

  • MAXIMUM AVAILABILITY:最大可用模式

  • MAXIMUM PERFORMANCE:最大性能模式

protection_level

varchar(4096)

NO

当前集群的保护级别:

  • MAXIMUM PROTECTION:最大保护级别

  • MAXIMUM AVAILABILITY:最大可用级别

  • RESYNCHRONIZATION:追赶数据级别

  • MAXIMUM PERFORMANCE:最大性能级别

redo_transport_options

varchar(4096)

NO

当前集群接收日志的传输模式,支持的参数如下:

  • SYNC/ASYNC

  • NET_TIMEOUT