1. 程式人生 > >DB2 57016報錯的解決辦法

DB2 57016報錯的解決辦法

新建了一張表,刪除了一列,然後執行insert的時候,報錯
57016,解釋為:因為表不活動。
執行db2 "load query table <tabname>",表的狀態為reorg pending,裝入暫掛,執行了db2 "reorg table tabname"來解掛,表的狀態為normal,然後就可以插入資料了。
也可以執行db2 "load from /dev/null of del terminate into <tabname>"。具體沒有操作。

這兩天load表的時候,作業中斷了,導致查詢表的時候,報錯57016,然後按照之前的經驗,直接採用db2 "load from /dev/null of del terminate into <tabname>"

操作,但是沒有執行成功,報錯碼為3,之前沒有關注過報錯碼,後來查詢了一下,報錯碼3為執行terminate的時候,表的狀態並不是load appending狀態。於是查了一下表的狀態,發現在4個節點的狀態為appending,其他節點的狀態為normal。由於不是所有的節點都為append,所以導致執行terminate的時候報錯,這時候就需要指定節點去terminate了。
可以執行 db2_all "db2 query table T1"檢視該表的所有節點的狀態,然後
執行db2 "load from /dev/null of del terminate into <tabname> partitioned db config output_nodes(節點) "
具體過程可檢視 https://blog.csdn.net/qingsong3333/article/details/82503113這篇部落格的詳解。

其實還是對reorg load命令沒有做深入的學習,日後還得加強學習,少走彎路。