REBIND PLAN 命令(数据链路层)

当您对计划(如软件包列表)的属性进行更改时,DSN 子命令 REBIND PLAN 会重新绑定该计划。

例如,当您更改授权、修改计划包列表或使用RUNSTATS时,可以使用REBIND PLAN。 如果重新装订成功,则该流程会准备一份应用计划,并在目录表SYSPLAN中更新其描述。

REBIND PLAN通常比BIND PLAN更快、更经济。 但是,如果您更改SQL语句或重新编译程序,则应使用带有ACTION(REPLACE)选项的BIND PLAN。

环境 REBIND PLAN

您可以通过 DB2I 使用 REBIND PLAN,或者在前台或后台运行的 DSN 会话中输入 REBIND PLAN 子命令。

数据共享范围 :集团

授权 REBIND PLAN

计划所有者必须是一个角色,在可信的环境中执行重新绑定计划,并拥有角色所有权。

如果您使用PKLIST关键字,则必须对PKLIST上指定的软件包或集合具有EXECUTE权限。

下表根据指定的选项说明了运行REBIND PLAN所需的授权。

表 1. 特权摘要 REBIND PLAN
选项 运行REBIND PLAN需要授权
重新绑定计划,所有权不变,因为未指定所有者关键字。 流程的授权ID必须具有以下权限之一:
  • 计划的所有权
  • 计划中的绑定特权
  • 计划所有者授予的绑定权限
  • SYSADM或SYSCTRL或系统DBADM权限
重新绑定计划,所有权不变,但“所有者”关键字中指定了原所有者。 流程的授权ID必须具有以下权限之一:
  • 所有者 授权ID 必须是活页夹的主要或次要授权 ID 之一
  • 计划所有者授予的绑定权限
  • SYSADM或SYSCTRL或系统DBADM权限
所有权变更后的重新绑定计划。 (非原车主的授权ID在OWNER关键字中指定。) 新的车主必须具备以下权限之一:
  • 计划中的绑定特权
  • SYSADM或SYSCTRL或系统DBADM权限

如果进程的任何授权ID或角色具有SYSADM权限、SYSCTRL权限或系统DBADM权限,则当子系统参数SEPARATE_SECURITY设置为NO时,OWNER 授权ID 可以为任何值。 如果授权ID中包含所有者授予的BINDAGENT权限,则 授权ID 可以将授权者指定为所有者。 否则,OWNER 授权ID 必须是活页夹的主授权ID或次授权ID之一。

如果您指定了所有者 授权IDDb2 会首先检查所有者,然后检查活页夹是否具有必要的活页夹权限。

如果绑定者没有 SYSADM、SYSCTRL 或系统 DBADM 权限,则所有者必须具有以下权限之一,才能将新软件包或现有软件包的新版本添加到集合中:

  • BINDADD系统特权以及CREATE IN特权或PACKADM权限,适用于单个或所有收藏
  • SYSADM、SYSCTRL或系统DBADM权限
COLLID,指定(*),表示集合中的所有包 您无需任何授权特权即可使用此选项。
COLLID,指定单独的套餐 流程的授权ID必须包含以下权限之一:
  • 您指定的COLLID的CREATEIN权限。
PKLIST,指定单个软件包 流程的授权ID必须包含以下权限之一:
  • 对PKLIST中指定的每个软件包执行特权
  • PACKADM 特定收藏包或收藏包的权威机构 *
  • SYSADM或DATAACCESS权限
PKLIST,指定(*),表示集合中的所有包 流程的授权ID必须包含以下权限之一:
  • 对collection-id 执行权限。*
  • PACKADM 权威机构,关于 收藏编号 或*
  • SYSADM或DATAACCESS权限

REBIND PLAN的语法

阅读语法图跳过可视化语法图REBIND PLAN(,计划名称*)COLLID(*)COLLID( 收藏-ID)OWNER( 授权ID)QUALIFIER( 限定词)启用块pklist-blockNODEFER(PREPARE)DEFER(PREPARE)ACQUIRE(USEALLOCATE)CACHESIZE( 十进制值)CURRENTDATA(NOYES)CURRENTSERVER( 地点名称)DBPROTOCOL(DRDA)DEGREE(1ANY)DISCONNECT(EXPLICITAUTOMATICCONDITIONAL)DYNAMICRULES(RUNBIND)ENCODING(ASCIIEBCDICUNICODEccsid)EXPLAIN(NOYES)FLAG(IWEC)IMMEDWRITE(NOYES)ISOLATION(RRRSCSUR)KEEPDYNAMIC(NOYES)REOPT(NONE1ALWAYS2ONCEAUTO)OPTHINT(' 提示-ID')PATH(,模式名称USER)PATHDEFAULT3RELEASE(COMMITDEALLOCATE)ROUNDING(CEILINGDOWNFLOORHALFDOWNHALFEVENHALFUPUP)SQLRULES(DB2STD)VALIDATE(RUNBIND)CONCURRENTACCESSRESOLUTION(USECURRENTLYCOMMITTEDWAITFOROUTCOME)PROGAUTH(DISABLEENABLE)
注意:
  • 1 REOPT(VARS) 可以被指定为 REOPT(ALWAYS) 的同义词
  • 2 NOREOPT(VARS) 可以被指定为 REOPT(NONE) 的同义词
  • 3 不能使用 PATH 关键字指定 PATHDEFAULT 关键字。

启用块

阅读语法图跳过可视化语法图ENABLEDISABLE(,BATCHDLIBATCHDB2CALLCICSIMSIMSBMPIMSMPPRRSAF)ENABLE( *)DLIBATCH(,连接名称)CICS(,APPLID)IMSBMP(,)IMSMPP(,)

pklist-block

阅读语法图跳过可视化语法图PKLIST(,地点名称*.收藏-ID*.包裹ID*)NOPKLIST

描述 REBIND PLAN

计划名称
指定要重新绑定的应用程序计划的名称,该名称存储在 SYSPLAN目录表的 NAME列中。
(*)
重新绑定所有授权ID具有绑定权限的计划。 适用的授权ID是:
  • 如果您指定了OWNER,则其价值。 参见车主绑定选项
  • 如果您指定了OWNER选项,则运行绑定过程的授权ID。
重新绑定计划的其他选项

语法图中显示的选项说明,请参阅 “软件包、计划和服务绑定和重新绑定选项 ”主题。

使用说明

重新绑定多个计划
如果您重新绑定多个计划, Db2 会在重新绑定下一个计划之前提交每个成功的重新绑定。
当您无法重新制定计划时
当计划正在执行时,您无法重新绑定该计划。
数据共享成员的信息追踪
当在 Db2 数据共享成员中发出具有组范围的命令时,该命令也会在所有其他活动成员中运行。 IFICID 090 跟踪记录显示,除了发出原始命令的成员的跟踪记录外, 016.TLPKN5F 相关 ID 的 SYSOPR 授权 ID 也发出了相同的命令。 请参阅 Db2 数据共享中的命令范围

示例

示例:重新绑定计划以替换包裹清单
假设PLANA使用COLLA*的包装清单 假设您想用COLLB替换该包列表 发出这样的命令:
REBIND PLAN (PLANA) -
  PKLIST(COLLB.*) -
  FLAG(W) -
  VALIDATE(BIND) -
  ISOLATION(CS)

REBIND命令还可以执行以下操作:

  • 使用FLAG(W)发出警告、错误和完成信息,但不包括信息性消息。
  • 使用 VALIDATE(BIND) 指出绑定过程中的任何错误情况。
  • 使用ISOLATION(CS)来防止其他应用程序在应用程序使用数据库值时更改这些值。 这种隔离级别可保护更改后的值,直到应用程序提交或终止。 在这个例子中,隔离级别不是为包设置的,因此 ISOLATION(CS) 成为计划和包的隔离级别。
  • 省略OWNER关键字,使计划所有者授权ID保持不变。
  • 省略 ENABLE 或 DISABLE 关键字,使用之前为计划定义的连接。