これを回避するために |
[1] |
shutdb(必ず実行して下さい。) |
|
[2] |
LOGBLKの値を大きくする。
(コンフィギュレーションファイル内で設定する) |
|
[3] |
mklog -Ooverwrite(トランザクションログファイル再作成) |
|
[4] |
.startdb実行後
コマンドラインよりSQLを実行する。(バッチモード)
-mオプションを用いてトランザクションログの書き込みを行う。
会話型SQLでは、insertや deleteが終了するまでcommitを行わないので 1 の処理を行っても大量データのinsertや
deleteではトランザクションログがLOGBLKの値をオーバーしてしまいます。
頻繁にcommitを行うために、会話型でなくバッチモードでSQLを実行して下さい。 |
|
〈使用方法〉 |
|
$ SQL -mN delete,insertのSQL文
−例−
SQL -m200 delete.sql(deleteのSQL文の実行ファイル)
-mNオプションは、SQLを実行するときに、トランザクションログの書き 込みを N行に1回行うことを指定するものです。
例の場合は、200行に1回commitを行ないます。
注)dbldユーティリティにも、トランザクションログの書き込みを指定するオプションがあります。 |
|
〈使用方法〉 |
|
$ dbld -cN
-cN オプションは、dbldを実行するときにトランザクションログの書き込みを N行に1回行うことを指定するものです。 |