VALIDATE_PENDING_REPLICATION_CRITERIA 表函数

VALIDATE_PENDING_REPLICATION_CRITERIA 表函数返回受给定 apply-label影响的复制条件列表 (RCL) 规则集。 返回的规则列表包含与 apply-label 匹配的所有暂挂复制条件规则以及在落实 apply-label 时将受影响的任何活动规则。

每行都是 RCL 中的活动规则或暂挂规则。 将验证所有暂挂规则,以确保在落实暂挂规则的 apply-label 组时不会发生故障。 如果针对暂挂规则检测到故障,那么将在该规则的 SQLSTATE , MESSAGE_ID , MESSAGE_TEXT 和 MESSAGE_SECOND_LEVEL_TEXT 列中返回有关该错误的信息。 此故障详细信息可用于了解无法落实暂挂 apply-label 的原因。

授权: 语句的授权标识所拥有的特权必须包含以下1:
  • 有关使用此过程所需的权限,请参阅 授权
  • 对 QSYS2 库的 *EXECUTE 权限。
  • 对 QSYS2/MIRROR_RCL 具有 *OBJOPR 和 *READ 权限
读取语法图跳过可视语法图 VALIDATE_PENDING_REPLICATION_CRITERIA ( IASP_NAME =>  iasp-name ,应用标签 => 应用标签 )
模式为 QSYS2。
iasp-name
用于标识 apply-label的辅助存储池 (ASP) 组的名称的字符或图形字符串表达式。 可以包含以下特殊值:
*SYSBAS
apply-label 与系统 ASP (ASP 1) 和任何基本用户 ASP (ASP 2-32) 相关联。
应用标签
用于标识与一组暂挂复制条件规则相关联的标签的字符或图形字符串表达式。
apply-label 标识通过添加或除去具有此标签的请求创建的暂挂复制条件规则。
*生成
使用系统为此作业生成的 apply-label 。 对于特定作业,生成的值始终相同。 此行为允许在 PENDING 状态下添加或除去作业中的多个规则更改,然后在单个操作中进行处理。 这是缺省情况。
标签标识
apply-label 值,用于标识一组暂挂规则。

此函数的结果是包含具有下表中所示格式的行的表。 所有列都是可空的。

表 1. VALIDATE_PENDING_REPLICATION_CRITERIA 表函数
列名 数据类型 描述
规则标识符 BIGINT 标识此 RCL 规则的系统分配值。

可以存在具有 SYSTEMUSERRULE_SOURCE 值的相同活动规则。 这些规则将具有相同的规则标识。

应用状态 VARCHAR(14) RCL 中复制条件规则的状态。
活动
此复制条件规则用于确定对象的包含状态。
暂挂添加
此复制条件规则是对尚未落实的 RCL 的添加。 此规则对确定活动复制期间对象的包含状态没有影响。
暂挂移除
此复制条件规则是从尚未落实的 RCL 中除去。 此规则对确定活动复制期间对象的包含状态没有影响。
跟踪
此复制条件规则当前处于活动状态,并在此分区上用于确定对象的包含状态。 在分区处于跟踪状态时应用了该规则,因此当发生节点再同步时,必须与另一个节点上的 RCL 协调该规则。
包含状态 VARCHAR(10) RCL 中此规则的复制包含状态。
定义
将复制与此复制条件规则最匹配的对象。 仅复制对象的定义。
EXCLUDE
将从复制中排除与此复制条件规则最匹配的对象。
INCLUDE
将复制与此复制条件规则最匹配的对象。
正在处理
此规则当前正在落实到 RCL。 它的最终包含状态尚未确定。

APPLY_STATEPENDING REMOVE时包含空值。

先例顺序 SMALLINT 系统生成的值,指示应用暂挂规则的相对顺序 (按升序排列)。 当对 RCL 的所有更改将同时发生时,将使用优先顺序来说明逻辑步骤,任何暂挂的规则更改都将应用于 RCL。

对于 SYSTEMUSERRULE_SOURCE 值,可以存在相同的规则。 这些将具有相同的优先顺序。

应用标签 VARCHAR (26) 分配给暂挂规则的 apply-label 。 所有具有相同标签的暂挂规则都将作为一个组应用。

如果 APPLY_STATE 不是 PENDING ADDPENDING REMOVE,那么包含空值。

IASP_NAME VARCHAR(10) 与复制条件规则关联的独立 ASP 组的名称。 包含 ASP 组的名称或以下特殊值:
*SYSBAS
此规则与存储在系统 ASP (ASP 1) 和任何基本用户 ASP (ASP 2-32) 中的对象相关联。
库名 VARCHAR(10) 与复制条件规则关联的库的名称。

如果此复制条件规则未在其定义中使用库名,那么包含空值。

对象类型 VARCHAR(8) 与复制条件规则关联的对象类型。
*AUTL
权限列表
*DTAARA
数据区
*DTAQ
数据队列
*ENVVAR
系统级别环境变量
*文件
数据库文件
*JOBD
作业描述
*JOBQ
作业队列
*JRN
日志
*OUTQ
输出队列
*PGM
程序
*SQLPKG
SQL程序包
*SQLUDT
SQL 用户定义的类型
*SQLXSR
SQL XML 模式存储库
*SRVPGM
服务程序
*SYSVAL
系统值
*USRIDX
用户索引
*USRPRF
用户概要文件
*USRSPC
用户空间

如果此复制条件规则未在其定义中使用对象类型,那么包含空值。

object_name VARCHAR(128) 与复制条件规则关联的对象,系统级环境变量或系统值的系统名称。

如果此复制条件规则未在其定义中使用对象名,那么包含空值。

规则来源 VARCHAR (6) 指示此复制条件规则的源。
SYSTEM
规则由 IBM® i 操作系统隐式添加。
用户
此规则由用户显式添加。
可移除 VARCHAR(3) 指示是否可以使用 QSYS2.REMOVE_REPLICATION_CRITERIA 过程。
无法除去该规则。
可以除去该规则。
受限 VARCHAR(3) 指示此复制条件规则是否限制添加其他规则。 仅当 RULE_SOURCESYSTEM时,才能出现值 YES
此规则不会限制添加相关规则。
此规则限制添加相关规则。
SQLSTATE CHAR(5) 与此暂挂规则的验证关联的 SQLSTATE 值。

如果未检测到暂挂规则的警告或异常条件,那么 SQLSTATE 的值将为 "00000"。 否则, SQLSTATE 将包含在尝试落实这组暂挂规则时将返回的值。 表示警告的值的格式为 "01xxx"。

MESSAGE_ID VARCHAR (7) 在验证此暂挂规则期间检测到的警告或失败的消息标识。

此规则是由 apply-label 参数标识的一组暂挂规则的一部分,当任何复制服务尝试使用此规则时,将会迂到错误。 必须先解决此错误,然后才能将 apply-label 规则组成功落实到 RCL。

如果 APPLY_STATE 列为 ACTIVETRACKED ,或者如果这是无故障信息的暂挂规则,那么包含空值。

消息文本 VARGRAPHIC (1024)
CCSID 1200
对应于 MESSAGE_ID的第一级消息文本。

如果 MESSAGE_ID 为空,那么包含空值。

消息第二级文本 VARGRAPHIC (4096)
CCSID 1200
对应于 MESSAGE_ID的第二级消息文本。

如果 MESSAGE_ID 为空,那么包含空值。

示例

  • 列出与 apply-label TESTGROUP1关联的所有活动和暂挂复制条件规则。
    
    SELECT * 
    FROM TABLE(QSYS2.VALIDATE_PENDING_REPLICATION_CRITERIA(IASP_NAME => '*SYSBAS', 
                                                           APPLY_LABEL => 'TESTGROUP1'))
    ORDER BY PRECEDENCE_ORDER;
  • 确定与 apply-label TESTGROUP2 相关联的任何暂挂复制条件规则是否将阻止落实这些规则,因为检测到警告或异常情况。
    SELECT SQLSTATE, RULE_IDENTIFIER, LIBRARY_NAME, OBJECT_NAME, OBJECT_TYPE, 
           INCLUSION_STATE, MESSAGE_ID, MESSAGE_INFO, MESSAGE_INFO_TEXT 
    FROM TABLE(QSYS2.VALIDATE_PENDING_REPLICATION_CRITERIA(IASP_NAME => '*SYSBAS',
                                                           APPLY_LABEL => 'TESTGROUP2')) 
    WHERE SQLSTATE <> '00000' 
    ORDER BY RULE_IDENTIFIER;
    将仅返回已检测到警告或异常情况的暂挂复制条件规则。 这些规则将阻止落实暂挂复制条件规则组。
1 对于每个数据库 IASP ,库 QSYS2nnnnn/MIR_RCLnnn; 中存在单独的 RCL 表; 授权规则也适用于这些表。