!--a11y-->

OS/390 版 DB2 上の R/3 では、最低 1 分に 1 回の推奨頻度での通常コミットを読込専用トランザクションおよびレポートにも含み、データベース上で並行して取得されたロックを解除する必要があります。これは、バッファテーブル、クラスタ、およびプールテーブルの読込時にロックが発生するためです。これらのテーブルは読取り固定分離レベルを使用して読み込まれ、共有ロックを設定してテーブルへの同時変更を防ぎます。
タイムアウトおよびデッドロック以外にも、ロックのコンフリクトが、 CREATE 、 ALTER 、 DROP などの DDL ( データ定義言語 ) 命令の失敗を招き、オンラインの再編成の速度を低下させることがあります。
特定のカーソルをコミット間でオープンする必要がある場合は、WITH HOLD オプションを使用してカーソル位置を保存することができます。
コミットは ネイティブ SQL を以下のように使用して実行します。
IF SY-DBSYS = 'DB2'.
EXEC
SQL.
COMMIT WORK
ENDEXEC.
ENDIF.