问题:
DB2在load数据到某张表时,可能会导致该表处于暂挂状态,错误码为SQL0668N:不允许对表 " <表名 designtimesp="24220"> " 执行操作。
解决方法:
1.错误状态码为1,可能是由于有自增的主外键导致的导入错误,执行下面的命令:
SET INTEGRITY FOR employee FOREIGN KEY IMMEDIATE UNCHECKED
或者
SET INTEGRITY FOR employee IMMEDIATE CHECKED force generated
2.状态码为3,装入暂挂:
1)备份该表所在的表空间,然后重新恢复表空间:
BACKUP DATABASE dbname TABLESPACE (ts_test) TO C:/DBBACKUP
RESTORE DATABASE dbname TABLESPACE (ts_test) ONLINE FROM C:/DBBACKUP
ROLLFORWARD DATABASE dbname TO END OF LOGS AND COMPLETE TABLESPACE (ts_test) ONLINE
2)重新load数据,或者load一张空表,暂挂状态就会解除。
首先建一张空表XXX.TXT然后load fromXXX.TXT of del terminate into TABLE_NAME这样不用删表就可以把锁的表清空了
3)备份一下数据库。
表空间处于backup pending状态,不能查询或更新表:
BACKUP DATABASE DBNAME user db2admin using db2admin TABLESPACE (USERSPACE1) TO D:/DBBACKUP
RESTORE DATABASE DBNAME TABLESPACE (BS_SPACE01) ONLINE FROM C:/DBBACKUP
ROLLFORWARD DATABASE DBNAME TO END OF LOGS AND COMPLETE TABLESPACE (BS_SPACE01) ONLINE