解決方法
1 對表 "<表名>" 執行帶有 IMMEDIATE CHECKED 選項的SETINTEGRITY 語句,以使表脫離“設置完整性暫掛無訪問” 狀態。對於用戶維護的具體化查詢表,執行帶有IMMEDIATE UNCHECKED選項的語句,而不是帶 IMMEDIATECHECKED選項。
2 對表 "<表名>"的從屬立即具體化查詢表和登台表執行 REFRESH TABLE語句。可以通過先前的 LOAD INSERT 操作根據"<表名>" 的追加數據以及通過先前帶有 ATTACH子句的 ALTER TABLE 語句根據 "<表名>"
3 通過分別發出帶有 RESTART 或 TERMINATER 選項的LOAD來重新啟動或終止先前失敗的對此表的 LOAD 操作。
4 發出 LOAD QUERY
命令以檢查該表是否正在裝入。如果是,則一直等到 LOAD 實用程序完成,或如有必要,重新啟動或終止先前失敗的“裝入”操作。如果當前未在進行LOAD,則發出帶有 IMMEDIATE CHECKED 選項的 SET INTEGRITY語句以驗證表的新裝入部分中的約束。
5 一直等到當前 LOAD 操作完成。可用使用 LOAD QUERY命令來監視裝入的進度。
6 使用 MAINTAIN BY USER
選項定義具體化查詢表。然後,使用帶有子查詢的INSERT 語句填充具體化查詢表。
7 使用 REORG TABLE命令重組表(注意,不允許對處於“REORG暫掛”狀態的表執行 INPLACE REORG TABLE)。
8 完成該工作單元,然後重新發出該命令。
sqlcode : -668
sqlstate : 57007 解決方案:
在服務器端CLP執行下列命令即可:
SET INTEGRITY FOR DB2ADMIN.ALARMTARGET IMMEDIATE CHECKED
說明:如果表處於"設置完整性暫掛"的狀態,那麼就需要盡快處理,否則該表不能進行 Select、Update、Delete 等操作。