當對表執行任何操作均報錯 SQL0668N Operation not allowed for reason code "7",SQLSTATE=57016,表明該表處於重組待定狀態。此狀態通常由包含 REORG 推薦操作的 ALTER TABLE 語句觸發(如修改列數據類型、添加 NOT NULL 列等)。
DB2 為保證數據一致性,將需重組的表標記為「REORG PENDING」,禁止所有訪問(含 SELECT/INSERT/UPDATE/DELETE/DROP),直至完成離線重組。注意:INPLACE REORG 不允許用於此狀態表。
db2 "? 57016" 顯示 "表不活動,不能訪問"。REORG TABLE <schema>.<table>。RUNSTATS ON TABLE <schema>.<table> 更新統計信息。REORGCHK ON TABLE ALL 檢查其他表是否需重組。-- 初始化優化命令序列
RUNSTATS ON TABLE administrator.test;
REORG TABLE administrator.test;
ALTER TABLE 前,先查閱文檔確認是否屬於「REORG 推薦操作」。REORGCHK 腳本,主動發現潛在重組需求,避免業務突發中斷。