報錯,錯誤號碼為:SQL0668N
詳細說明:
SQL0668N 不允許對錶 "<表名 designtimesp=24220>" 執行操作, 原因碼。
解釋:
限制對錶 "<表名 designtimesp=24224>" 的訪問。原因基於下列原因碼
原因碼:
1 該表處於“設定完整性暫掛無訪問”狀態。未強製表的完整性並且表的內容可能是無效的。如果從
屬表處於“設定完整性暫掛無訪問”狀態,則對於未處於“設定完整性暫掛無訪問”狀態的父表或基
礎表執行的操作也可能會接收到此錯誤。
2 表處於“無資料移動”狀態。當處於此狀態時,禁止導致資料移動的操作。資料移動操作包括REDISTRIBUTE、資料庫分區鍵的更新、多維叢集鍵的更新、範圍叢集鍵的更新、資料分區鍵的更新和 REORG TABLE。
3 表處於“裝入暫掛”狀態。對此表的先前的 LOAD嘗試失敗。在重新啟動或終止 LOAD操作之前不允許對錶進行訪問。
4 表處於“讀訪問”狀態。此狀態可以在聯機裝入(LOAD)處理(帶有 READ ACCESS 選項的 LOAD insert)期間發生,或在聯機裝入(LOAD)操作後發生,除了在使用SET INTEGRITY
語句在表的新追加的部分驗證所有約束之前。不允許對此表的更新活動。
5 表處於“正在裝入”狀態。LOAD 公用程式當前對此表進行操作,直到 LOAD完成才允許訪問。
6 不能在 ESE 中重新整理引用暱稱的具體化查詢表。
7 表處於“REORG 暫掛”狀態。在執行包含 REORG 建議的操作的 alter TABLE語句後,可能會發生這種情況。
8 表處於“改變暫掛”狀態。當在包含 REORG 建議的操作的 alter TABLE語句所在工作單元中使用該表時,就可能會發生這種情況。
使用者響應:
1 對錶 "<表名 designtimesp=24243>" 執行帶有 IMMEDIATE CHECKED 選項的SETINTEGRITY 語句,以使表脫離“設定完整性暫掛無訪問” 狀態。對於使用者維護的具體化查詢表,執行帶有IMMEDIATE UNCHECKED選項的語句,而不是帶 IMMEDIATECHECKED選項。
2 對錶 "<表名 designtimesp=24245>"
的從屬立即具體化查詢表和登台表執行 REFRESH TABLE語句。可以通過先前的 LOAD insert 操作根據 "<表designtimesp=24248>" 的追加資料以及通過先前帶有 ATTACH子句的 alter TABLE 語句根據 "<表名 designtimesp=24249>" 的串連資料以增量方式維護這些從屬立即具體化查詢表 和登台表的內容。
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 等操作。