• 締切済み

oracle8iでのロック

tyoufuの回答

  • tyoufu
  • ベストアンサー率28% (19/67)
回答No.1

ロックの行がかかっている情報を取得する方法はないようです。 わかる事といえば ・どのオブジェクトにロックがかかっている ・どのユーザに待ちが発生しているか などです。 (もしかすると他にもわかる情報があるかもしれませんが) ですので、行ロックされている行かどうかを調べる場合は for update nowait でエラーがかえってきたら行ロックされている、エラーでなければ行ロックされていないと判断してください。

関連するQ&A

  • DBロックを待ち続ける方法

    ロックがかかったテーブルに対して、 SELECT文を発行する際、ロックが解除されるまで 待ち続けるヒント句のようなものは SQL SERVERに存在するのでしょうか? (Oracleの「SELECT~FOR UPDATE文」に相当するものは  存在しないのでしょうか?) 使用しているDBはSQL SERVER 2000 です。

  • oracle8.1iでSQL文処理時間について

    Oracle8.1iでの質問です。 クライアントからサーバへなんらかのSQL文を 投げた場合、サーバで処理をし、クライアントに 結果を返すと思いますが。 サーバ側でのSQL文の処理開始時刻と処理終了時刻を知りたいのですが、どのような システムテーブルを見ればよいのかご存知の方 教えてください。SQL文まで、分かれば助かります。

  • ロックについて

    SQL SERVER2000 お初に投稿します。 初歩的な質問で申し訳ありませんが、ロックについてご質問させて頂きます。 通常、テーブルを更新するときには、排他ロックがかかると思うのですが、 更新途中に他者がテーブルを参照しようとすると、参照できないのでしょうか? また、複数のユーザが同一テーブルを参照していた場合、更新を掛けようとすると 、何かエラーが帰ってくるのでしょうか? 基本的なことで申し訳ありません。 どなたかアドバイスを頂けると、幸いです。

  • JavaとSQL(Oracle)を使って値を取得する方法ってありますか

    JavaとSQL(Oracle)を使って値を取得する方法ってありますか? SQLでテーブルの中の一行と 何個かパラメータを受け取ってそれを1行とみなして 行ごとに比べてそのもしテーブルの中に同じ行があったら Trueが返ってくるなんてことは出来るのでしょうか? Trueでなくても数値でも文字でも 一致する行があった場合となかった場合で違う結果が返ってくるようにしたいのですが そんな方法ありますでしょうか? なかなか説明しづらくわかりづらい質問かもしれませんが よろしくお願いいたします

  • SQLServerでのロックについて

    SQLServerであるテーブルを行ロックしています。 (select * from テーブルA with (UPDLOCK) where KEYCD = 1) 行ロック実行時に、他のマシンが既にロックしていた場合、それをエラーとして返す方法はありますでしょうか? (Oracleでいう"nowait"のようなもの) 最近SQLServerをやりはじめたばかりの超初心者です。 よろしくお願いします(T_T)

  • ORACLE9i  行ロック情報を取得する方法

    複数のクライアントから同一テーブルの同一レコードに対してselect for update nowaitで行ロックをした場合に先にロックした方が行をロックし後のロックはロック中のエラーにりますが、このとき、誰(マシン名etc)がどの位時間ロックしたままかわかる方法はないものでしょうか。

  • 行ロックとテーブルロックについて

    回答がなかったので質問再掲載します。 オラクルで行ロックとテーブルロックの判断がわかりますか? Oracle EnterPrise Managerでわかるのかなーと調べてるのですが、よくわからないので。 どなたかアドバイスお願いします。

  • ACCESSのテーブルを読んでる間、ロックする方法は?

    WINDOWS XP、VB6.0、SP5、で開発しています。 データベースにアクセスを使っていて、 あるテーブルをSELECT文で抽出しているのですが、 それと同時に、他のPCがそのテーブルを見ようと同じ処理をしてきた場合に、 見れないようにロックしたいのですが、 方法が全然分かりませんでした。 調べた限りでは、SQLやオラクルだと出来るとか。 アクセスでも何らかの方法でできないでしょうか? どうぞ、ご教授よろしくお願いしますm(_ _)m

  • SQL (ORACLE)について

    こんにちは。 SQL文について教えてください。 【temp1テーブル】 code name value 001 yama 100 002 kawa 200 003 umi 300 【temp2テーブル】 code name value 002 kawa 200 004 minato 500 上記の2つのテーブルtemp1とtemp2を比較して codeの値とnameの値が同じレコードの場合 temp1のvalue値を temp1のvalue + temp2のvalueにする 方法を教えて頂けませんでしょうか。

  • SQLServerでロックしているSQL文を抽出したい

    現在、SQLServer2000を使用していますが、 多数のロックが発生しているようで、パフォーマンスが出ません。 そこで、ロックが発生してしまっているSQL文を抽出したいと考えています。 必要な情報としては、以下になります。 ・ロックの種類 ・原因のSQL文 ・ロックしている時間 なにか良いツールや方法がありましたら、教えてください。 よろしくお願いします。