Question & Answer
Question
表が REORG ペンディング状態になっているため、SQL0668N 理由コード 7 が発生し、作業が継続できません。 どのように REORG ペンディング状態を回復すればよいでしょうか?
Cause
列のドロップ、列タイプの変更、または列の NULL 可能性プロパティーの変更などの一部の ALTER TABLE 操作によって、表が REORG ペンディング状態になる場合があります。
REORG ペンディングのトリガーとなる REORG 推奨操作については表の変更を参照してください。
Answer
REORG TABLE コマンドを実行し該当の表をオフライン再編成して回復できます。
参考:REORG ペンディングになっている表は、ADMINTABINFO管理ビューで確認できます。
- 実行例
$ db2 reorg table tab1
- INPLACE REORG TABLE 節 (オンライン再編成)
- 表に非パーティション索引が定義されている場合のパーティション表の ON DATA PARTITION 節
参考:REORG ペンディングになっている表は、ADMINTABINFO管理ビューで確認できます。
-
$ db2 "SELECT VARCHAR(TABSCHEMA,30) TABSCHEMA,VARCHAR(TABNAME,30) TABNAME, REORG_PENDING, NUM_REORG_REC_ALTERS FROM SYSIBMADM.ADMINTABINFO WHERE REORG_PENDING = 'Y'" TABSCHEMA TABNAME REORG_PENDING NUM_REORG_REC_ALTERS ----------- ---------- ------------- -------------------- DB2INST1 TAB1 Y 1 1 レコードが選択されました。
- REORG 推奨操作は、ALTER TABLE ステートメントに起因する変更がデータの行フォーマットに影響する場合です。この操作が行われた場合、その後の表に対する操作はほとんど、表再編成操作が正しく完了するまで制限されます。 このタイプの ALTER TABLE ステートメントは、再編成が必要になるまでに最高で 3 つまで表に対して実行できます。
すでに行われた REORG 推奨操作の回数は ADMINTABINFO管理ビューの NUM_REORG_REC_ALTERS 列に表示されます。
[{"Type":"MASTER","Line of Business":{"code":"LOB10","label":"Data and AI"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSEPGG","label":"Db2 for Linux, UNIX and Windows"},"ARM Category":[{"code":"a8m500000008PlMAAU","label":"Data Movement-\u003EReorg"}],"ARM Case Number":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions"}]
Was this topic helpful?
Document Information
Modified date:
25 August 2023
UID
swg21575039