Question & Answer
Question
SQL0668N原因代码3发生的原因是表处于加载挂起状态,工作无法继续。如何恢复待加载状态?※ SQL0668N 理由コード “3” のため、表 “” に対する操作は許可されません。
Cause
如果在执行过程中,加载操作失败或中断,如错误或强制应用命令强制终止,则相应的表进入加载挂起状态。
Answer
您可以通过执行以下任何一个步骤来解决加载挂起的情况。
a) 使用TERMINATE选项终止加载操作。
对于TERMINATE选项,只有表名必须与原始LOAD命令相匹配。
执行示例
$ db2 “load from test.del of del messages msg.txt terminate into tab1”
b) 使用RESTART选项重新启动加载。
执行示例
$ db2 “load from test.del of del messages msg.txt restart into tab1”
c) 在加载操作失败的同一张表上执行LOAD REPLACE操作。
执行示例
$ db2 “load from test.del of del messages msg.txt replace into tab1 copy yes to /work”
d) 使用RESTORE DATABASE命令恢复最近的表空间或数据库备份,然后执行任何后续的恢复操作,恢复加载表的表空间。
执行示例
$ db2 restore db sample from /work taken at 20110815131050
$ db2 rollforward db sample to end of logs and stop
参考资料:
您可以在 "ADMINTABINFO "管理视图中检查待加载表。
$ db2 “SELECT VARCHAR(TABSCHEMA,30) TABSCHEMA,VARCHAR(TABNAME,30) TABNAME, LOAD_STATUS, NO_LOAD_RESTART FROM SYSIBMADM.ADMINTABINFO WHERE LOAD_STATUS <>‘NULL’”