使用数据定义语言 (DDL) 或结构化查询语言 (SQL) 文件在 DB2® for z/OS® 数据库上为调度程序创建表。
开始之前
此任务要求您配置一个数据库并使它成为可用。请参阅“为调度程序创建 DB2 for z/OS 数据库”主题,以了解更多信息。
此外,您还必须准备如下两台机器:
- 主管数据库的 z/OS 机器
- 运行调度程序的 WebSphere® Application Server 机器
关于此任务
要使用数据定义语言 (DDL) 或结构化查询语言 (SQL) 文件在 DB2 for z/OS 数据库上为调度程序创建表,请执行以下步骤。
过程
- 使用主管数据库的 z/OS 机器:
- 登录到本机 z/OS 环境。
- 确定使用哪个子系统(如果安装了多个 DB2 系统)。
- 记下 DB2 子系统侦听的因特网协议 (IP) 端口。
- 使用 DB2 管理菜单以创建一个新的数据库(例如,名为 SCHEDDB)。请记下数据库名称。
- 创建一个存储器组并记下名称。
- 确定使用哪个用户标识从运行产品的远程机器连接到数据库。 出于安全考虑,这个用户标识通常不是用于创建该数据库的那个用户标识。
- 授予该用户标识对数据库和存储器组的访问权。 该用户标识还必须具有为数据库创建新表的许可权。
- 使用应用程序服务器机器:
- 验证是否已安装 DB2 Connect™ Gateway。该组件是 DB2 UDB ESE 软件包的一部分;但是您也可以单独安装。
- 在脚本或 DB2 命令行窗口中使用下列命令对远程数据库进行编目:
catalog tcpip node zosnode remote hostname server IP_port ostype mvs; catalog database subsystem as subsystem at node zosnode authentication dcs; catalog dcs database subsystem as subsystem parms ',,INTERRUPT_ENABLED'
DB2 UDB 和 DB2 z/OS 版之间存在重要差异。DB2 UDB 没有子系统的概念,而 DB2 z/OS 版则具有子系统。为避免混淆数据库名称和子系统名称,请记住:因为 DB2 z/OS 版运行于子系统中,所以 catalog node 和 catalog database 命令必须识别适当的子系统。在 DB2 UDB 中,子系统名是一个未知概念,与之关联的数据库名称实际上是 DB2 z/OS 版子系统的名称。
- 通过输入以下命令验证您是否可以与远程子系统建立连接:
db2 connect to subsystem user userid using password
- 切换至应用程序服务器安装根目录中的 scheduler 子目录。
- 编辑 createTablespaceDB2ZOS.ddl 脚本。将 @STG@ 替换为存储器组名。将 @DBNAME@ 替换为数据库名称(不是子系统名称),将 @SCHED_TABLESPACE@ 替换为有效表空间的名称。替换数据库名称后,将它放入一个现有 JCL 中并运行作业。
- 运行 createTablespaceDB2ZOS.ddl 的定制版本(如脚本标题所述)。
如果此脚本无效,或者您要移除表空间,请编辑并运行 dropTablespaceDB2ZOS.ddl 脚本。
- 编辑 createSchemaDB2ZOS.ddl 脚本。将 @STG@ 替换为存储器组名。将 @DBNAME@ 替换为数据库名称(不是子系统名称)。将 @TABLE_PREFIX@ 替换为已配置的调度程序资源中的表前缀,将 @SCHED_TABLESPACE@ 替换为 createTablespaceDB2ZOS.ddl 脚本创建的一个有效表空间。
提示: 设置表前缀时,确保所有字符使用大写方式。
- 运行 createSchemaDB2ZOS.ddl 的定制版本(如脚本标题所述)。
如果此脚本无效,或者您要移除表和视图,请使用 dropSchemaDB2ZOS.ddl 脚本删除模式。
![[IBM i]](../../images/iseries.gif)
要避免死锁,请验证 DB2_RR_TO_RS
DB2 标志是否已设置为 YES。若有必要,重新启动
DB2 实例以激活更改。此外,验证已使用 LOCKSIZE ROW 语句创建表空间。
结果
现已经为调度程序创建了 DB2 z/OS 版表和模式。