在 DB2 for z/OS 中,我可以用一个命令重建多个索引空间吗?
In DB2 for z/OS, can I rebuild multiple indexspaces with one command?
在 z/OS 版本 10 的 DB2 上,一个错误的实用程序在特定数据库中留下了许多处于 "RW,RBDP" 状态的索引空间。我可以成功地使用 REBUILD INDEXSPACE 命令逐一修复它们,但是它们有很多。所以,我希望有某种通配符或 *ALL 选项,但这对我还不起作用。
是否有方法可以执行以下操作?
重建索引空间 (MYDB.*)
提前致谢!
您不能一次执行整个数据库,但您可以执行一些查询以及 LISTDEF 以获得类似的结果。
首先,找到有问题的索引:
SELECT ' INCLUDE INDEX ' || RTRIM(CREATOR) || '.' || RTRIM(NAME)
FROM SYSIBM.SYSINDEXES
WHERE DBNAME = 'MYDB'
这将为您提供与该数据库相关的索引列表。然后,您可以将结果作为更大的 LISTDEF 的一部分。这是 JCL 的一些示例(老实说,我不确定其中有多少是针对我的商店的,因此可能需要进行一些更改):
//*****************************************************
//* RUN REBUILD INDEX UTILITY
//*****************************************************
//IXRBREST EXEC PGM=IEFBR14 DUMMY STEP FOR RESTART
//IXRBUTIL EXEC DB2UPROC,SYSTEM=DB2T,COND=(4,LT)
//STEPLIB DD DSN=DB2.PROD.SDSNLOAD,DISP=SHR
//DB2UPROC.SYSIN DD *
LISTDEF INDEXES
<insert generated list here>
REBUILD INDEX LIST INDEXES
SORTKEYS SORTDEVT SYSDA SHRLEVEL CHANGE
STATISTICS REPORT YES UPDATE ALL
MAXRO 240 LONGLOG CONTINUE DELAY 900 TIMEOUT TERM
DRAIN_WAIT 50 RETRY 6 RETRY_DELAY 30
这应该会让您获得需要重建的索引。如果有一些需要重建,而一些没问题,您可以将 SCOPE PENDING
添加到 REBUILD INDEX
实用程序,它只会重建那些处于挂起状态的。
在 z/OS 版本 10 的 DB2 上,一个错误的实用程序在特定数据库中留下了许多处于 "RW,RBDP" 状态的索引空间。我可以成功地使用 REBUILD INDEXSPACE 命令逐一修复它们,但是它们有很多。所以,我希望有某种通配符或 *ALL 选项,但这对我还不起作用。
是否有方法可以执行以下操作?
重建索引空间 (MYDB.*)
提前致谢!
您不能一次执行整个数据库,但您可以执行一些查询以及 LISTDEF 以获得类似的结果。
首先,找到有问题的索引:
SELECT ' INCLUDE INDEX ' || RTRIM(CREATOR) || '.' || RTRIM(NAME)
FROM SYSIBM.SYSINDEXES
WHERE DBNAME = 'MYDB'
这将为您提供与该数据库相关的索引列表。然后,您可以将结果作为更大的 LISTDEF 的一部分。这是 JCL 的一些示例(老实说,我不确定其中有多少是针对我的商店的,因此可能需要进行一些更改):
//*****************************************************
//* RUN REBUILD INDEX UTILITY
//*****************************************************
//IXRBREST EXEC PGM=IEFBR14 DUMMY STEP FOR RESTART
//IXRBUTIL EXEC DB2UPROC,SYSTEM=DB2T,COND=(4,LT)
//STEPLIB DD DSN=DB2.PROD.SDSNLOAD,DISP=SHR
//DB2UPROC.SYSIN DD *
LISTDEF INDEXES
<insert generated list here>
REBUILD INDEX LIST INDEXES
SORTKEYS SORTDEVT SYSDA SHRLEVEL CHANGE
STATISTICS REPORT YES UPDATE ALL
MAXRO 240 LONGLOG CONTINUE DELAY 900 TIMEOUT TERM
DRAIN_WAIT 50 RETRY 6 RETRY_DELAY 30
这应该会让您获得需要重建的索引。如果有一些需要重建,而一些没问题,您可以将 SCOPE PENDING
添加到 REBUILD INDEX
实用程序,它只会重建那些处于挂起状态的。