[解決済み] DB2 ログファイルの制限、SQLCODE。-964
2022-02-15 11:55:05
質問
DB2で巨大な挿入クエリを試したことがあります。 insert into my_table_COPY ( select * from my_table);
その前に、以下のような設定をしました。
UPDATE DATABASE CONFIGURATION FOR MY_DB USING LOGFILSIZ 70000;
UPDATE DATABASE CONFIGURATION FOR MY_DB USING LOGPRIMARY 50;
UPDATE DATABASE CONFIGURATION FOR MY_DB USING LOGSECOND 2;
db2stop force;
db2start;
で、こんなエラーが出ました。
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
SQL0964C The transaction log for the database is full.
Explanation:
All space in the transaction log is being used.
If a circular log with secondary log files is being used, an
attempt has been made to allocate and use them. When the file
system has no more space, secondary logs cannot be used.
If an archive log is used, then the file system has not provided
space to contain a new log file.
The statement cannot be processed.
User Response:
Execute a COMMIT or ROLLBACK on receipt of this message (SQLCODE)
or retry the operation.
If the database is being updated by concurrent applications,
retry the operation. Log space may be freed up when another
application finishes a transaction.
Issue more frequent commit operations. If your transactions are
not committed, log space may be freed up when the transactions
are committed. When designing an application, consider when to
commit the update transactions to prevent a log full condition.
If deadlocks are occurring, check for them more frequently.
This can be done by decreasing the database configuration
parameter DLCHKTIME. This will cause deadlocks to be detected
and resolved sooner (by ROLLBACK) which will then free log
space.
If the condition occurs often, increase the database
configuration parameter to allow a larger log file. A larger log
file requires more space but reduces the need for applications to
retry the operation.
If installing the sample database, drop it and install the
sample database again.
sqlcode : -964
sqlstate : 57011
何かご意見はありますか?
解決方法は?
LOGFILSIZ、LOGPRIMARY、LOGSECONDに最大値を使用しました。 LOGFILSIZの最大値は、WindowsやLinuxなどでは異なる場合があります。しかし、あなたは非常に大きな数字を試すことができ、DBは最大値が何であるかを教えてくれます。私の場合、262144でした。
また、LOGPRIMARY + LOGSECOND <= 256です。それぞれ128で試してみたところ、私の巨大なクエリではうまくいきました。
関連
-
[解決済み] 多くのSQLiteデータベースをマージするにはどうすればよいですか?
-
[解決済み] mongodb 4 データディレクトリ C:\data_dbdb not found
-
[解決済み] どのようにneo4jデータベースをリセット/クリア/削除するには?
-
[解決済み] ORMとODMの違いは何ですか?
-
[解決済み] なぜ私のPerlスクリプトは "out of memory "例外で死んでしまうのですか?
-
[解決済み] Django エラー - 一致するクエリが存在しません。
-
[解決済み] Hibernateです。ManyToOne生成フィールドraw(255)
-
[解決済み] postgresql pg_dump の出力はどこに行くのでしょうか?
-
[解決済み】Cassandraのパーティションキー、コンポジットキー、クラスタリングキーの違い?
-
[解決済み】データベースの正規形とは何ですか、またその例を教えてください。[クローズド]
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】識別関係と非識別関係の違いとは?
-
[解決済み】「データソース名が見つからず、デフォルトのドライバが指定されていません」と表示される理由と解決方法について教えてください。
-
[解決済み] 多くのSQLiteデータベースをマージするにはどうすればよいですか?
-
[解決済み] mongodb 4 データディレクトリ C:\data_dbdb not found
-
[解決済み] データベースマネージャの開始コマンドは発行されていません。SQLSTATE=57019
-
[解決済み] なぜ私のPerlスクリプトは "out of memory "例外で死んでしまうのですか?
-
[解決済み] 外部キーを主キーにするのは問題ないですか?
-
[解決済み】mongoシェルですべてのデータベースを一覧表示する方法は?
-
[解決済み】phpMyAdmin - Error > Incorrect format parameter?
-
[解決済み】BASE用語の解説