Table Pending的解决方法
当load或使用一些utility以及一些SQL语句的时候,工作表正处于pending,会出现如下类似错误信息,某种资源不可用等等。
Unsuccessful execution caused by an unavailable resource. Reason code
00C900A0, type of resource 00000200, and resource name…
如出现上述情况,我们可以对这整个database下面的所有index,tablespace进行display,display信息如下所述,当出现pengding code为RBDP的时候。对这个index进行rebuild就可以,如果出现不是这个pengding code而为其他code的时候,比如RBDP*等等都可以采用相应的语句就可以恢复,只要把下面的rebuild代码替换成相应的解决方案即可。
Indexname1 IX RW,RBDP
indexname2 IX RW
切记如果是本番的情况下,要慎重考虑rebuild,因为有可能是本番job在锁定某张表。如果强行rebuild的话。可能带来一些灾难性的后果。
详细代码可以参考下面的实例。
|
Display出database中所有的index以及tablespace的名字,以及是否处于某种pending的状态. |
//SYSDISP PROC //RESET EXEC PGM=IKJEFT01,DYNAMNBR=20 //STEPLIB DD DSN=SUN.SDSNLOAD,DISP=SHR //SYSTSPRT DD SYSOUT=* //SYSPRINT DD SYSOUT=* //SYSUDUMP DD SYSOUT=* //OUTPUT DD SYSOUT=*,DCB=(RECFM=FBA,LRECL=133,BLKSIZE=27930) //SYSTSIN DD DUMMY // PEND //DISP01 EXEC SYSDISP //SYSTSIN DD * DSN SYSTEM(SUN) -DIS DATABASE(DATABASE1) LIMIT(999) END /*
|
|
对处于pending状态的index进行REBUILD操作。 |
//REPAIR1 EXEC PGM=DSNUTILB,PARM=’SUN’,COND=EVEN //STEPLIB DD DSN=SUN.SDSNLOAD,DISP=SHR //SYSPRINT DD SYSOUT=* //UTPRINT DD SYSOUT=* //SYSUDUMP DD SYSOUT=* //SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(10,10)) //SYSIN DD * REBUILD INDEX(schema.index) /*
|
Rebuild 后table恢复正常

















