-STOP FUNCTION SPECIFIC 命令 ( )Db2

-STOP FUNCTION 命令SPECIFIC可以防止 Db2 接受调用指定函数的SQL语句。

如果SQL语句中的函数调用已经排入队列或由 Db2 安排,则此命令不会阻止其运行。 您不能使用此命令来停止内置函数或基于其他函数的用户定义函数。

Db2 对于超出最大中断次数的任何功能,默认为其发出“停止功能特定操作(拒绝)”的命令。 该计数由安装面板 DSNTIPX 的 MAX ABEND COUNT 字段设置。

缩写 :-STO FUNC SPEC

环境

该命令可以从 z/OS® 控制台、TSO下的DSN会话或 DB2I 面板( DB2 命令)、 IMS 或 CICS® 终端,或使用仪器设施接口(IFI)的程序。

数据共享范围: 团体或成员

授权

要执行此命令,您必须使用该进程的特权集,其中每个功能都包含以下权限之一:
  • 拥有该功能
  • 系统 DBADM 权限
  • 系统管理员权限
  • SYSCTRL 权限
  • SYSADM 权限
如果您指定了STOP FUNCTION SPECIFIC *.* 或者 schema.partial-name *,该流程的特权设置必须包括以下权限之一:
  • 系统管理员权限
  • SYSCTRL 权限
  • SYSADM 权限

Db2 登录 控制台或TSO 发出的命令可通过 授权进行查看,使用主授权ID和次授权ID。 z/OS SDSF Db2 更改开始必须在 RACF 或类似的安全服务器中定义一个已登录的 z/OS 用户ID。更改结束

语法 -STOP FUNCTION SPECIFIC

阅读语法图跳过可视化语法图STOP FUNCTION SPECIFIC( *.*)(,schema.specific-function-nameschema.partial-name*)ACTION(QUEUEREJECT)SCOPE(LOCALGROUP)

选项说明 -STOP FUNCTION SPECIFIC

(*.*)
停止访问所有功能,包括 Db2 应用程序尚未访问的功能。

如果没有指定功能,则停止所有功能。

schema.specific-function-name
停止一个特定的功能名称。 您不能像在SQL中那样指定函数名称,而必须使用特定的名称。 如果CREATE FUNCTION语句中没有指定特定名称,请查询 SYSIBM.SYSROUTINES 以获取正确的特定名称:
SELECT SPECIFICNAME, PARM_COUNT
  FROM SYSIBM.SYSROUTINES
   WHERE NAME='function_name'
    AND SCHEMA='schema_name';
对于过载的功能,此查询可能会返回多行。
schema.partial-name *
停止指定架构中的一系列功能。 集合中所有函数的特定名称以 部分名称 开头,可以以任何字符串结尾,包括空字符串。 例如, schema1.ABC* 会停止 schema1 中所有以ABC开头的特定名称的功能。
操作
指示在函数停止时如何处理调用函数的SQL语句。 如果您对某个功能多次发出“停止特定功能”命令,则根据最近一次命令中的“操作”选项确定所采取的操作。
(排队)
将请求排队,直到满足以下条件之一:
  • 等待时间超过了安装超时值。
  • 您为该功能发出START FUNCTION SPECIFIC命令。
(拒绝)
拒绝请求。
范围
指定命令的范围。
(本地)
指定仅对本地成员停止该功能。
(集团)
指定停止数据共享组中所有成员的功能。

使用说明 -STOP FUNCTION SPECIFIC

停止功能的局限性 具体
特定停止功能仅适用于在WLM应用程序环境中运行的外部功能或非内联SQL函数。 特定停止功能无法停止内置功能、内联SQL函数或基于其他函数的用户定义函数。
永久禁用功能
如果 Db2 停止并重新启动,已停止的功能不会保持停止状态。 要永久禁用某个功能,您可以:
  • 使用ALTER FUNCTION将LOADMOD名称改为不存在的 z/OS 加载模块
  • 重命名或删除 z/OS 加载模块
SQL函数的注意事项
STOP FUNCTION SPECIFIC命令会影响您在命令中指定的所有版本的SQL函数。
以组为范围发出的命令的跟踪信息
如果此命令在 Db2 数据共享成员中指定组范围,则它也将在所有其他活动成员中运行。 IFICID 090 跟踪记录显示,除了发出原始命令的成员的跟踪记录外, 016.TLPKN5F 相关 ID 的 SYSOPR 授权 ID 也发出了相同的命令。 请参阅 Db2 数据共享中的命令范围

例子 -STOP FUNCTION SPECIFIC

示例1:禁止 访问所有功能。 当STOP FUNCTION SPECIFIC命令生效时, Db2 会排队等待所有试图执行的功能。
-STOP FUNCTION SPECIFIC ACTION(QUEUE)
此命令的输出结果与以下内容类似:
DSNX974I - DSNX9SP2 STOP FUNCTION SPECIFIC SUCCESSFUL FOR *.* 
DSN9022I - DSNX9COM '-STOP FUNC' NORMAL COMPLETION
示例2:禁止 访问所有功能。 当STOP FUNCTION SPECIFIC命令生效时, Db2 会拒绝执行功能的尝试。
-STOP FUNCTION SPECIFIC ACTION(REJECT)
此命令的输出结果与以下内容类似:
DSNX974I - DSNX9SP2 STOP FUNCTION SPECIFIC SUCCESSFUL FOR *.* 
DSN9022I - DSNX9COM '-STOP FUNC' NORMAL COMPLETION
示例3:停止 功能 PAYROLL.USERFN1 和 PAYROLL.USERFN3。 当STOP FUNCTION SPECIFIC命令生效时, Db2 会排队等待所有试图执行的功能。
-STOP FUNCTION SPECIFIC(PAYROLL.USERFN1,PAYROLL.USERFN3)
此命令的输出结果与以下内容类似:
DSNX974I - DSNX9SP2 STOP FUNCTION SPECIFIC SUCCESSFUL
FOR PAYROLL.USERFN1

DSNX974I - DSNX9SP2 STOP FUNCTION SPECIFIC SUCCESSFUL 
FOR PAYROLL.USERFN3

DSN9022I - DSNX9COM '-STOP FUNC' NORMAL COMPLETION 
示例4:停止 功能 PAYROLL.USERFN1 和 PAYROLL.USERFN3。 当STOP FUNCTION SPECIFIC命令生效时, Db2 会拒绝执行这两个功能中的任何一个。
-STOP FUNCTION SPECIFIC(PAYROLL.USERFN1,PAYROLL.USERFN3) ACTION(REJECT)
此命令的输出结果与以下内容类似:
DSNX974I - DSNX9SP2 STOP FUNCTION SPECIFIC SUCCESSFUL
FOR PAYROLL.USERFN1

DSNX974I - DSNX9SP2 STOP FUNCTION SPECIFIC SUCCESSFUL 
FOR PAYROLL.USERFN3

DSN9022I - DSNX9COM '-STOP FUNC' NORMAL COMPLETION