PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
2348 98/07/13 16:50:18 RE:RE:RE:RE:RE:RE:PB5.0.01: ORACLEの行ロック解除について教えて下さい。 By ko
2316 98/07/10 12:13:59 RE:RE:RE:RE:RE:PB5.0.01: ORACLEの行ロック解除について教えて下さい。 By y_yanagihara
2267 98/07/07 17:41:48 RE:RE:RE:RE:PB5.0.01: ORACLEの行ロック解除について教えて下さい。 By ko
2251 98/07/06 14:23:52 RE:RE:RE:PB5.0.01: ORACLEの行ロック解除について教えて下さい。 By y_yanagihara
2250 98/07/06 11:56:15 RE:RE:PB5.0.01: ORACLEの行ロック解除について教えて下さい。 By ko
2247 98/07/06 08:42:24 RE:PB5.0.01: ORACLEの行ロック解除について教えて下さい。 By ふくちゃん
2243 98/07/04 13:28:37 PB5.0.01: ORACLEの行ロック解除について教えて下さい。 By ko

カテゴリ:旧電子会議室
日付:1998年07月06日 14:23 発信者:y_yanagihara
題名:RE:RE:RE:PB5.0.01: ORACLEの行ロック解除について教えて下さい。

>>こんにちは。
>>下のような方法で解除はできますがこれを使えばひょっとすると何とかなるかもしれません。
>>
>>SYSTEMのテーブルでV$SESSIONというテーブルに現在データベースに
>>接続中のユーザの情報が書かれています。
>>そこでハングアップして落ちたマシーン(ここの値取得が難しそうですが・・・)のネットワークでの
>>USER_IDがOsuserというカラム上にあるはずなのでその行を調べます。
>>2行以上ある場合はSchemanameというカラムに接続データベースのユーザ名
>>が書かれているので参照して一行に絞り込みます。
>>  該当行が一行に絞り込まれると該当行のSID、SERIAL#(判別フラグのようなものです)を調べ記憶してお
>き
>>ます。。
>>そこでSYSTEMかSYSユーザ(DB)で入り次のコマンドを実行します。。
>>
>>ALTER SYSTEM KILL SESSION \'SID,SERIAL#\';
>>  
>>「注意」
>>この時上のコマンドのSID及びSERIAL#に前もって調べた数字を記述します。
>>長長と書きましたが、はずしてたらすいません。
>>
>ありがとうございます。

>ところで質問なんですが、どのホスト、どのユーザがロックをかけたのか解らずに、「このテーブルのこの行
>がロックがかかっている!」という情報だけ解っている状況で、そのロックを解除する方法というのはあるの
>でしょうか?
こんいちは。
V$lockテーブルとV$sessionを利用するばいいと思います。
select sid, type, object_name, decode(lmode, 1,\'NULL\', 2,\'行共有\', 3,\'行排他\', 4
,\'共有\', 5,\'共有行排他\', 6,\'排他\', lmode) lmode, request
  from v$lock, all_objects
  where id1 = object_id and
        sid in (select sid from v$process, v$session
                      where addr = paddr and
                            osuser is not null);
ここでSIDを特定できれば、可能だと思います。

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows95
DBMS Oracle SQL*Net 2.3
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS Oracle 7.3
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.