您可以使用管理任务调度程序来根据基于时间或基于事件的调度执行管理任务。
开始之前
您应该先运行作业 DSNTIJRA 和作业 DSNTIJIN,然后再设置管理任务调度程序。
关于此任务
限制: 在迁移到转换方式之后,运行作业 DSNTIJSG 之前,将禁用管理任务调度程序。
过程
- 设置管理任务调度程序。
- 在作业 DSNTIJMV 中定制管理任务调度程序地址空间启动过程 (xxxxADMT)。 启动过程的名称需要与 ADMTPROC 子系统参数值相匹配。在使用启动过程之前,查找并复审以下参数的设置:
- DB2SSID
- 此 DB2 子系统的名称。
- DFLTUID
- 由管理任务调度程序用于执行其任务的缺省标识。DFLTUID 必须不同于用于启动此地址空间的标识。
- TRACE
- 指示是否激活管理任务调度程序的跟踪。值可以为 ON 或缺省值 OFF。
您可以在启动过程中以与 DB2SSID、DFLTUID 和 TRACE 这三个参数类似的方式指定其他参数,如 ERRFREQ、MAXHIST、MAXTHD 或 STOPONDB2STOP。
- ERRFREQ
- 指定消息 DSNA679I 在控制台上显示的频率,该消息指示任务列表的某个冗余的活动副本不可访问。缺省情况下,此消息在控制台上每分钟显示一次,例如,在 DB2® 处于脱机状态时。
- MAXHIST
- 指定每个任务存储的状态条目数。此参数是正整数,缺省值为 10。达到这一限制时,将删除最旧的状态条目。
- MAXTHD
- 为管理任务调度程序指定执行线程的最大数量。缺省值为 99。
- STOPONDB2STOP
- 指定管理任务调度程序将在 DB2 停止时终止。
此外,查找并复审 ADMTDD1 DD 语句。指示的 VSAM 数据集必须与在作业 DSNTIJIN 中定义的 VSAM 任务列表数据集匹配。
以下示例显示可以如何更新这些参数。
//DSNADMT PROC LIB='DSN!!0.SDSNLOAD',
// DB2SSID=DSN,
// DFLTUID=DFLTUID,
// TRACE=OFF,
// MAXTHD=10
//*
//STARTADM EXEC PGM=DSNADMT0,DYNAMNBR=100,REGION=0K,
// PARM=('DB2SSID=&DB2SSID',
// ' DFLTUID=&DFLTUID',
// ' TRACE=&TRACE'
// ' MAXTHD=&MAXTHD'
// ' ERRFREQ=1440'
// ' STOPONDB2STOP')
//STEPLIB DD DISP=SHR,DSN=&LIB
//ADMTDD1 DD DISP=SHR,DSN=DSNC!!0.TASKLIST
- 确保管理任务调度程序例程已启用。这些例程在作业 DSNTIJSG 的步骤 DSNTIAS 和 DSNTIJG 中启用。
- 创建作业来创建管理任务调度程序表空间的映像副本。 建立调度来创建映像副本。通常,您应该定期备份重要数据库。管理任务调度程序的数据库也不例外,并且应该以与 DB2 目录 (catalog) 和目录 (directory) 相同的频率进行复制。以下示例显示如何将此数据库中的表空间复制到磁带上的堆栈化数据集并将保留期设置为 99 天:
//*
//DSNTIC EXEC PGM=DSNUTILB,PARM='DSN,IMAGCOPY',COND=(4,LT)
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//DSNTRACE DD SYSOUT=*
//SYSLISTD DD *
LISTDEF DSNLDEF
INCLUDE TABLESPACES DATABASE DSNADMDB
//SYSIN DD *
TEMPLATE DSNTPLT
DSN(prefix.IMAGCOPY.&DB..;&TS.;)
DISP (NEW,KEEP,DELETE)
UNIT TAPE
STACK YES
RETPD 99
COPY LIST DSNLDEF
COPYDDN(DSNTPLT)
/*
- 启用管理任务调度程序和管理启用例程。
管理任务调度程序例程是 DB2 提供的例程,用于调度工作。管理启用例程是 DB2 提供的例程,用于立即执行管理工作。
在启动此步骤之前,设置其所启用的 DB2 提供的例程。有关指示信息,请参阅 DB2 for z/OS Installation Guide 中的“Enabling DB2-supplied routines”章节,网址为 http://publib.boulder.ibm.com/epubs/pdf/dsnigk1f.pdf。
以下例程是管理任务调度程序例程:
- ADMIN_TASK_ADD
- ADMIN_TASK_CANCEL
- ADMIN_TASK_LIST
- ADMIN_TASK_OUTPUT
- ADMIN_TASK_REMOVE
- ADMIN_TASK_STATUS
- ADMIN_TASK_UPDATE
以下例程是管理启用例程:
- ADMIN_COMMAND_DB2
- ADMIN_COMMAND_DSN
- ADMIN_COMMAND_UNIX
- ADMIN_DS_BROWSE
- ADMIN_DS_DELETE
- ADMIN_DS_LIST
- ADMIN_DS_RENAME
- ADMIN_DS_SEARCH
- ADMIN_DS_WRITE
- ADMIN_INFO_HOST
- ADMIN_INFO_SMS
- ADMIN_INFO_SQL
- ADMIN_INFO_SSID
- ADMIN_INFO_SYSLOG
- ADMIN_INFO_SYSPARM
- ADMIN_JOB_CANCEL
- ADMIN_JOB_FETCH
- ADMIN_JOB_QUERY
- ADMIN_JOB_SUBMIT
- ADMIN_UTL_SCHEDULE
- ADMIN_UTL_SORT
- 如果您在安装或迁移期间未创建这些过程,定制并运行所定制作业 DSNTIJSG 的作业步骤 DSNTIAS、DSNTIAE 和 DSNTIJG 来定义、绑定和授予对管理任务调度程序和管理启用存储过程的访问权。
作业步骤 DSNTIJG 向 PUBLIC 授予对这些存储过程及其数据包的 EXECUTE 权限,并向 PUBLIC 授予对相关结果集表的 ALL 权限。如果您不希望向 PUBLIC 授予此权限,请编辑作业以仅向特定用户或组授予权限。
提示: 请勿向 PUBLIC 授予 EXECUTE 权限。如果您这样做,那么可访问 DB2 的任何人都可以使用这些存储过程。
限制: 此作业应该由具有所有所需特定特权的用户执行。
这些存储过程在 WLM 管理的存储过程地址空间中运行。
- 在用于启动 WLM 建立的地址空间以运行存储过程(其装入模块必须在 APF 授权库中)的 JCL 中,请确保 STEPLIB DD 并置中所有库都经过 APF 授权。WLM 环境的名称必须与每个存储过程的 CREATE PROCEDURE 语句中的 WLM ENVIRONMENT 参数值相匹配。
- 如果 BPX.DAEMON 设施类处于活动状态,而 BPX.DAEMON.HFSCTL 设施类未定义,请为必须注册到 RACF® 程序控制的存储过程执行以下操作。
需要 RACF® 程序控制的存储过程如下:
- ADMIN_COMMAND_UNIX
- ADMIN_JOB_CANCEL
- ADMIN_JOB_FETCH
- ADMIN_JOB_QUERY
- ADMIN_JOB_SUBMIT
- 在作业 DSNTIJRA 中定制并运行作业步骤 DSNADER 来为这些存储过程定义安全环境。您需要先取消注释作业步骤 DSNADER,然后运行作业 DSNTIJRA。您无需在作业 DSNADSR 中运行任何其他作业步骤。
- 确保对于这些存储过程,您的 WLM 环境满足以下需求:
- WLM 建立的存储过程地址空间仅装入受控制的程序。
- 在用于启动 WLM 建立的地址空间以运行这些存储过程的 JCL 中,请确保 STEPLIB DD 并置中所有库都经过 APF 授权。
- 此环境的名称必须与作业 DSNTIJSG 中这些存储过程的 CREATE PROCEDURE 语句中的 WLM ENVIRONMENT 参数值相匹配。
- 通过发出 GRANT EXECUTE 语句,授权相应用户来使用其中一个或多个存储过程。
要点: 授予运行 DSN8EXP 和 DSNAEXP 的特权时应该注意,DSN8EXP 和 DSNAEXP 可对系统上有效的任何可说明 SQL 语句执行 EXPLAIN 操作,并且 EXPLAIN 输出可能会显示潜在的敏感信息。例如,您不应该向 PUBLIC 授予使用 DSN8EXP 和 DSNAEXP 的访问权。