ブロックされたトランザクションはトランザクションであり、特定のリソースが使用可能になるまで処理を続行できません。
たとえば、次の理由でトランザクションがブロックされる可能性があります。
-
トランザクションは、現在別のトランザクションによって保持されているトランザクションロック(レコードロックまたはテーブルロック)を取得する必要があります。
-
必要なネットワークまたはディスク(データベースまたはメタデータロック)は現在利用できません。
ロック情報
重要なロック情報は、次の列に表示されます。
ロックタイプ
Lock Typeは、ブロッキングトランザクションによって保持されているロックのタイプ(レコード、テーブル、またはメタデータ)を示します。
ロックモード
ロックモードは、他のトランザクションがロックされたレコード、テーブル、またはデータベースに対して持つアクセスのレベルを示します。
排他的な行レベルのロックは、同じレコードに対する同時書き込み操作を防ぎます。これらは、更新および削除操作によって暗黙的に取得されるか、SQLステートメントを使用して明示的に取得されます。更新のために選択。テーブルレベルのロックは、テーブルのコンテンツに対する操作がテーブル定義の変更(テーブルの削除、テーブルの変更など)に干渉するのを防ぎます。テーブルコンテンツに対するDML操作には意図的な排他ロックが必要ですが、テーブル定義の変更(DDL操作)には排他テーブルロックが必要です。
詳細については、SAP HANA SQLおよびシステムビューリファレンスのSELECTステートメント(データ操作)を参照してください。
SQLステートメントロックテーブルテーブルを排他的にロックするために使用されます。同じオブジェクトの排他ロックを保持しているトランザクションが他にない場合は、意図的な排他ロックを取得できます。排他的ロックでは、他のトランザクションが同じオブジェクト(意図的な排他的または排他的)のロックを保持していないことが必要です。
詳細については、SAP HANASQLおよびシステムビューリファレンスのLOCKTABLEステートメント(トランザクション管理)を参照してください。