![[DB2]ペンディング状態の解除](https://www.yukiiworks.com/wp-content/uploads/2019/03/code1211IMGL1494_TP_V4.jpg)
はじめに
DB2の環境構築時に見たことのないエラーがでたので調べました。
発生したエラー
出たエラーは以下のとおり。
SQL0668N 操作は、理由コード "1" のため、表 "SCHEMA.TABLE"に対して許可されません。 SQLSTATE=57016
「???」なんのこっちゃ?と思って調べてみると、エラーで示された表はSET INTEGRITY ペンディング・アクセスなしの状態で、 表の整合性が強制されておらず、 表の内容が無効である可能性があるそうです。どういう意味?直前にやっていたような作業はテーブルにデータをロードしていたくらい。。と考えて更に調べてみると、
ロード先の表に制約がある場合は、ロード完了後はチェックペンディング状態になります。 制約を有効にしてください。
というものを見つけました。確かにロードはしていたけどエラーの出るテーブルと出ないテーブルがある。。つまり制約が定義された表に対して、LOADを実行したため一部のテーブルでペンディング状態となったということです。
ペンディング状態のテーブルを調べる
syscat.tables表のstatusがN、access_modeがF でないテーブルはチェックペンディング状態らしい。以下のSQLで抽出可能
1 2 3 | SELECT tabschema,tabname,status,access_mode FROM syscat.tables WHERE status != 'N' AND access_mode != 'F' |
ペンディング状態を解除する
ペンディングは以下のコマンドを発行して戻すことができる。
1 | SET INTEGRITY FOR SCHEMA.TABLE IMMEDIATE CHECKED |
私の場合これではエラーをなくすことができないテーブルがありました。なぜだろう?いろいろ調べて以下のコマンドを実行したらエラーは解消されました。
1 | SET INTEGRITY FOR SCHEMA.TABLE ALL IMMEDIATE UNCHECKED |
以上です。

![[超簡単!]情報処理試験のための論理回路の覚え方](https://www.yukiiworks.com/wp-content/uploads/2019/03/code1211IMGL1494_TP_V4-300x200.jpg)
![[Swift]UITableViewで余分なセルを表示しない方法](https://www.yukiiworks.com/wp-content/uploads/2019/04/swift-150x150.png)
![[bootstrap-tagsinput]タグ入力欄のinput要素の横幅を最大にする](https://www.yukiiworks.com/wp-content/uploads/2019/05/javascript-150x150.png)
![[Docker]different lower_case_table_names settings for server ('1') and data dictionary ('0').エラーでコンテナが起動できない問題について](https://www.yukiiworks.com/wp-content/uploads/2019/08/docker-logo-2-150x150.png)
![[AWS]Node.jsでSSMパラメータストアの値を取得する](https://www.yukiiworks.com/wp-content/uploads/2020/03/aws-eyecatch-960x504-1-150x150.png)
![[Android]RecyclerViewで一番下にスクロールさせる方法](https://www.yukiiworks.com/wp-content/uploads/2019/10/android-studio-e1585186990750-150x150.jpg)
![[Flutter]Navigatorで2つ前の画面に戻る方法](https://www.yukiiworks.com/wp-content/uploads/2020/08/flutter-150x150.png)
![[Xcode]Mac OS Catalinaにアップデートしたらpodコマンドが通らなくなった](https://www.yukiiworks.com/wp-content/uploads/2019/09/Xcode-150x150.png)
