DB2_MEMBER 管理视图、DB2_CF 管理视图和 DB2_GET_INSTANCE_INFO 表函数

DB2_MEMBER 和 DB2_CF 管理视图以及 DB2_GET_INSTANCE_INFO 表函数返回有关单个和多分区实例的数据库 成员 以及 Db2® pureScale® 实例的 成员CF 的信息,包括适用的状态信息。

根据您使用的是管理视图还是表函数,请参阅下列其中一个部分:

DB2_MEMBER 和 DB2_CF 管理视图

DB2_MEMBER 管理视图返回诸如当前正在运行 成员 的机器名称,其状态,是否存在任何警报以及内部数据库通信的高速互连的名称之类的信息。

DB2_CF 管理视图返回 集群高速缓存工具 (也称为 CF) 的类似信息。

模式为 SYSIBMADM。

请参阅 返回的信息 中的表,以获取可返回的完整信息列表。

权限

需要下列其中一个权限:
  • 对管理视图的 SELECT 特权
  • 对管理视图的 CONTROL 特权
  • DATAACCESS 权限
  • DBADM 权限
  • SQLADM 权限
  • ACCESSCTRL 权限
  • SECADM 权限

示例

以下示例使用 DB2_MEMBER 管理视图来显示数据库实例中所有 成员 的状态。 这适用于以下类型的实例:
  • Db2 pureScale 实例
  • 使用高可用性灾难恢复 (HADR) 功能的分区或非分区数据库实例。
执行以下查询以显示数据库实例中所有 成员 的状态:
SELECT * FROM SYSIBMADM.DB2_MEMBER
下列是从此查询输出的示例。
ID     HOME_HOST CURRENT_HOST STATE      ALERT
------ --------- ------------ ---------- -----
     0 so1       so1          STARTED    NO
     2 so2       so2          STARTED    NO
     4 so3       so3          STARTED    NO

     3 record(s) selected.

以下示例使用 DB2_CF 管理视图来显示数据库实例中所有 CF 的状态。 这仅适用于 Db2 pureScale 实例。

执行以下查询以显示数据库实例中所有 集群高速缓存工具 的状态:
SELECT * FROM SYSIBMADM.DB2_CF
下列是从此查询输出的示例。
ID     CURRENT_HOST STATE      ALERT
------ ------------ ---------- -----
   128 so5          PRIMARY    NO
   129 so6          PEER       NO
   
     2 record(s) selected.

DB2_GET_INSTANCE_INFO 表函数

DB2_GET_INSTANCE_INFO 表函数返回与 DB2_MEMBER 和 DB2_CF 管理视图相同的信息,但允许您通过传递输入参数 (例如当前主机) 来过滤返回的信息。 当前主机是当前运行 成员 的主机。

语法

Read syntax diagramSkip visual syntax diagramDB2_GET_INSTANCE_INFO( id,home_host, current_host,type,db_partition_num )

模式为 SYSPROC。

表函数参数

标识
类型为 INTEGER 的可选输入参数,用于指定有效的 成员集群高速缓存工具 标识。 将针对与输入匹配的所有数据库 成员集群高速缓存工具 返回条目。 如果此参数为空或 -2 ,那么将返回所有记录。 如果此参数为 -1 ,那么将返回当前连接的 成员 的信息。
家庭主机
类型为 VARCHAR (255) 的可选输入参数,用于指定要返回其记录的 主主机 。 原始主机是创建 成员 时与特定 成员 关联的原始主机名。 使用主机名的简短格式,而不是 home_host 参数的 IP 地址。 如果此参数为 NULL 或空字符串,那么将返回所有记录。
当前主机
类型为 VARCHAR (255) 的可选输入参数,用于指定要返回其记录的当前主机。 当前主机是当前正在运行 成员 的主机,这可能与原始主机不同,例如,如果作为轻量级重新启动操作的一部分必须在另一主机上启动 成员 。 将主机名的短格式而不是 IP 地址用于 current_host 参数。
类型
类型为 VARCHAR (32) 的可选输入参数,用于指定是检索 成员 还是 集群高速缓存工具的信息。 可能的值包括:
  • CF-返回当前 Db2 pureScale 实例中 集群高速缓存工具 的所有记录
  • MEMBER-返回当前数据库实例中 成员 的所有记录。
如果此参数为 NULL 或空字符串,那么将返回所有记录。
db_partition_num
类型为 INTEGER 的可选输入参数,用于指定有效的数据库分区号。 将返回与输入匹配的所有数据库分区号的信息。 如果此参数为空或 -2 ,那么将返回所有记录。 如果此参数为 -1 ,那么将返回当前连接的 成员 的信息。 对于 Db2 pureScale 实例,唯一有效的输入为 0 或 null; 所有其他输入值都不会返回数据。

权限

对 DB2_GET_INSTANCE_INFO 表函数的 EXECUTE 特权。

缺省 PUBLIC 特权

示例

以下示例使用 DB2_GET_INSTANCE_INFO 表函数从具有四个 成员 和两个 集群高速缓存工具Db2 pureScale 实例中检索信息。 在此示例中,正在名为 so1: 的主机上重新启动 member number 2
SELECT * FROM TABLE(DB2_GET_INSTANCE_INFO(null,'','','',null)) as T 
下列是从此查询输出的示例。
ID  HOME_HOST CURRENT_HOST TYPE   STATE      ALERT DB_P..._NUM LOGICAL_PORT NETNAME
--- --------- ------------ ------ ---------- ----- ----------- ------------ -------
  0 so1       so1          MEMBER STARTED    NO              0            0 so1-ib0
  1 so2       so1          MEMBER RESTARTING NO              0            0 so2-ib0
  2 so3       so3          MEMBER STARTED    NO              0            0 so3-ib0
  3 so4       so4          MEMBER STARTED    NO              0            0 so4-ib0
128 so5       so5          CF     PRIMARY    NO              -            0 so5-ib0
129 so6       so6          CF     PEER       NO              -            0 so6-ib0

     6 record(s) selected.
以下示例使用 DB2_GET_INSTANCE_INFO 表函数,通过使用高可用性灾难恢复 (HADR) 功能从具有四个 成员 的分区数据库实例中检索信息:
SELECT * FROM TABLE(DB2_GET_INSTANCE_INFO(null,'','','',null)) as T 
下列是从此查询输出的示例。
ID HOME_HOST CURRENT_HOST TYPE   STATE   ALERT DB_PARTITION_NUM LOGICAL_PORT NETNAME
-- --------- ------------ ------ ------- ----- ---------------- ------------ -----
 0 so1       so1          MEMBER STARTED NO                   0            0 so1-ib0
 2 so2       so2          MEMBER STARTED NO                   2            0 so2-ib0
 4 so3       so3          MEMBER STARTED NO                   4            0 so3-ib0
 7 so4       so4          MEMBER STARTED NO                   7            0 so4-ib0
     4 record(s) selected.

返回的信息

表 1. 针对 DB2_MEMBER 管理视图返回的信息
列名 数据类型 描述
标识 SMALLINT id-cluster 高速缓存工具标识监视元素
HOME_HOST VARCHAR(255) 首次将 成员 添加到实例时与之关联的机器。
CURRENT_HOST VARCHAR(255) 当前运行 成员 的机器名称。
STATE VARCHAR(32) 成员集群高速缓存工具的状态。

成员 的潜在状态为 STARTED , STOPPED ,RESTAR, WAITING_FOR_FAILBACK , ERROR 和 UNKNOWN。

集群高速缓存设施 的潜在状态包括 "已停止" , "正在重新启动" , "成为主项" , "主项" , "CATCHUP"1, "PEER" , "错误" 和 "未知"。

成员集群高速缓存工具 的 NULL 状态指示该状态不适用。 例如,如果在分区数据库环境中。

请参阅 成员和集群高速缓存工具状态和警报的值 以获取更多信息。

ALERT VARCHAR(8)
有关实例上的警报的信息:
  • 是-存在警报
  • 否-没有警报
  • 成员集群高速缓存工具 的 NULL 状态指示该状态不适用。 例如,如果在分区数据库环境中。

使用 DB2_INSTANCE_ALERTS 管理视图来获取有关警报的更多信息。

表 2. 针对 DB2_CF 管理视图返回的信息
列名 数据类型 描述
标识 SMALLINT id-cluster 高速缓存工具标识监视元素
CURRENT_HOST VARCHAR(255) 当前运行 成员 的机器名称。
STATE VARCHAR(32) 成员集群高速缓存工具的状态。

成员 的潜在状态为 STARTED , STOPPED ,RESTAR, WAITING_FOR_FAILBACK , ERROR 和 UNKNOWN。

集群高速缓存设施 的潜在状态包括 "已停止" , "正在重新启动" , "成为主项" , "主项" , "CATCHUP"1, "PEER" , "错误" 和 "未知"。

成员集群高速缓存工具 的 NULL 状态指示该状态不适用。 例如,如果在分区数据库环境中。

请参阅 成员和集群高速缓存工具状态和警报的值 以获取更多信息。

ALERT VARCHAR(8)
有关实例上的警报的信息:
  • 是-存在警报
  • 否-没有警报
  • 成员集群高速缓存工具 的 NULL 状态指示该状态不适用。 例如,如果在分区数据库环境中。

使用 DB2_INSTANCE_ALERTS 管理视图来获取有关警报的更多信息。

表 3. 针对 DB2_GET_INSTANCE_INFO 表函数返回的信息
列名 数据类型 描述
标识 SMALLINT id-cluster 高速缓存工具标识监视元素
HOME_HOST VARCHAR(255) 首次将 成员 添加到实例时与之关联的机器。
CURRENT_HOST VARCHAR(255) 当前运行 成员 的机器名称。
类型 VARCHAR(32) "MEMBER" 或 "CF"。
STATE VARCHAR(32) 成员集群高速缓存工具的状态。

成员 的潜在状态为 STARTED , STOPPED ,RESTAR, WAITING_FOR_FAILBACK , ERROR 和 UNKNOWN。

集群高速缓存设施 的潜在状态包括 "已停止" , "正在重新启动" , "成为主项" , "主项" , "CATCHUP"1, "PEER" , "错误" 和 "未知"。

成员集群高速缓存工具 的 NULL 状态指示该状态不适用。 例如,如果在分区数据库环境中。

请参阅 成员和集群高速缓存工具状态和警报的值 以获取更多信息。

ALERT VARCHAR(8)
有关实例上的警报的信息:
  • 是-存在警报
  • 否-没有警报
  • 成员集群高速缓存工具 的 NULL 状态指示该状态不适用。 例如,如果在分区数据库环境中。

使用 DB2_INSTANCE_ALERTS 管理视图来获取有关警报的更多信息。

DB_PARTITION_NUM SMALLINT 成员的数据库分区号。
逻辑端口 SMALLINT 成员集群高速缓存工具的逻辑端口号。
NETNAME VARCHAR(255) 内部数据库通信使用的高速互联的名称。
注:
  1. CATCHUP 包含百分比值作为返回状态的一部分。 此百分比值表示辅助集群高速缓存设施已捕获到的达到主高速缓存设施当前状态的数量。