2009-07-06 39 views
2

テーブルがロックされていて、現在どのような種類のロックがテーブルにあるかを知る方法はありますか?私はteradataのDBCテーブルを通して何かを望んでいましたが、私はこのようなものへの参照を見つけることができません。私は通常のユーザーアクセス権を持っており、DBAは役に立たない。ありがとう。Teradataのロック - テーブルがロックされているかどうかを確認する方法?

答えて

2

AFAIKのみのDBAユーティリティを使用して、テーブルのロックのタイプを判別できます。あなたは(hereから)、次のような何かを行うことができる唯一のユーザレベルの権限を持つ

Lock Table dbName.myTable for Access nowait 
Select * from dbName.myTable; 

とマスター自身(ジェフリー・ロンメル)によると:

テーブルの場合ロックされている場合は、 エラー7423、 "オブジェクトはすでにロックされており、 NOWAIT。トランザクションが異常終了しました。

+2

テーブルが書き込み用にロックされていてもFOR ACCESSが成功するため、FOR ACCESSの代わりにFOR WRITEを使用する必要があると思います。 –

+0

@Carlos:その情報を追加していただきありがとうございます。 – bernie

+1

これはニッチピキエリアに入っている可能性がありますが、パフォーマンスが懸念される場合は、*を(トップ1 1)に置き換えることができます。これは、完全なテーブルの検索が行われないようにします。 – bogertron

関連する問題