| 導購 | 订阅 | 在线投稿
分享
 
 
 

DB2數據庫完整性暫挂SQL0668N的錯誤案例

來源:互聯網  2008-06-06 06:00:00  評論

查詢一個表的數據,SQL爲:select * from db2admin.AlarmTarget

報錯,錯誤號爲:SQL0668N

詳細說明:

SQL0668N 不允許對表 "<表名>" 執行操作, 原因碼。

解釋:

限制對表 "<表名>" 的訪問。原因基于下列原因碼

原因碼:

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 對表 "<表名>" 執行帶有 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 等操作。

查詢一個表的數據,SQL爲:select * from db2admin.AlarmTarget 報錯,錯誤號爲:SQL0668N 詳細說明: SQL0668N 不允許對表 "<表名>" 執行操作, 原因碼。 解釋: 限制對表 "<表名>" 的訪問。原因基于下列原因碼 原因碼: 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 對表 "<表名>" 執行帶有 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 等操作。
󰈣󰈤
王朝萬家燈火計劃
期待原創作者加盟
 
 
 
>>返回首頁<<
 
 
 
 
 熱帖排行
 
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有