LockLevel
接続が行レベル・ロック(値=0)またはデータベース・レベル・ロック(値=1)のいずれを使用するかを指定します。
デフォルトでは、TimesTenは同時実行性を最大にする行レベル・ロックを有効にします。行レベル・ロックの場合、トランザクションでは、通常、アクセスする個々の行に対するロックが取得されますが、表全体に対するロックを取得した場合にパフォーマンスが向上するとTimesTenが判断した場合は、表全体に対するロックが取得されます。行レベル・ロックは、最も粒度の高い並行性制御を提供するため、ほとんどのアプリケーションに対して最適です。行レベル・ロックを使用するには、アプリケーションでLockLevel
接続属性を0(デフォルト値)に設定する必要があります。Oracle Database表をキャッシュするには、行レベル・ロックを設定する必要があります。ユーザーに対してCREATE
、DROP
またはALTER
を実行する場合、行レベル・ロックのみを使用できるため、これらの処理を実行する前にロック・レベルを0に設定する必要があります。
この接続であらゆるトランザクションがデータベースに排他アクセスできるように、LockLevel
属性を1に設定してデータベース・レベル・ロックを有効にすることができます。これにより、アプリケーションによってはパフォーマンスが向上する場合もあります。
ttLockLevel
組込みプロシージャをコールすることで、接続で、希望するロック・レベルを随時変更できます。また、ttLockWait
組込みプロシージャをコールすることで、利用できないロックを待機することもできます。異なる接続は異なるレベルのロックと共存できますが、データベース・レベルのロックを使用する接続が1つでもある場合は、同時性が損なわれます。特定のデータベースのすべてのロックのリストを表示するには、ttXactAdmin
ユーティリティを使用します。
アプリケーションでPL/SQLを使用する場合、LockLevel
=0を設定し、ttLockLevel
組込みプロシージャを使用して、データベース・レベル・ロックを必要とするトランザクションについてのみ、データベース・レベル・ロックに変更します。
必要な権限
この属性の値が1の場合はADMIN
権限が必要です。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性は、TimesTen ClassicとTimesTen Scaleoutの両方でサポートされています。設定
LockLevel
は次のように設定します。
属性の設定場所 | 属性の表示 | 設定 |
---|---|---|
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicの |
|
|
Windows ODBCデータソース・アドミニストレータ |
該当なし |