**DB2 「トランザクションログがいっぱい」 テーブルのレコードを貯めすぎた場合、削除の際下記のメッセージが出力して 削除に失敗することがあります。(削除処理はロールバックされて戻ってしまいます。) $ db2 delete from xxxxxtbl DB21034E The command was processed as an SQL statement because it was not a valid Command Line Processor command. During SQL processing it returned: SQL0964C The transaction log for the database is full. SQLSTATE=57011 削除する単位を小さくする以外の方法として下記があります。 トランザクションログが一杯になったという場合のし
表の内容を削除するにはDELETE文を使用しますが、この場合LOGが出力されるので、大量のデータを削除する場合は時間が掛かります。 内容が保存されなくても良く単に全データを削除したい場合、OracleなどではTRUNCATE TABLEステートメントを使用しますが、DB2にはありません。 ※2010/04/25追記:DB2 v9.7からTRUNCATE TABLEが追加されました。 ※TRUNCATEステートメント DB2の場合、以下の方法を使用します。 1) ALTER TABLEコマンドでACTIVATE NOT LOGGED INITIALLYを表に適用する ACTIVATE NOT LOGGED INITIALLYを行うと、COMMITまでLOGが取られなくなるので、その間にDELETEし、COMMITします。 2) IMPORTコマンドでファイル容量=0のファイルをIMPORTす
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く