忍者ブログ

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

varcharとvarchar2の違い

Oracle8iでは、254バイト以下の可変長文字列を表すデータ型
VARCHARを拡張して、4000バイト以下の可変長文字列を表すデータ型VARCHAR2を定義
PR

ロック解除

SI ObjectbrowserやSQL*Plusで

排他処理(for update nowaitなど)があり、COMMITまたはROLLBACKをがない
処理のテストをする場合、走行後にCOMMITまたはROLLBACKを発行しないと
ロック状態が開放されないことがある。

なんらかの要因でSI ObjectbrowserやSQL*Plusを強制終了してしまうと
さらにその確立が高まる。



●排他エラーメッセージ
"ORA-00054: リソース・ビジー、NOWAITが指定されていました。"

●排他エラーコード判定(PL/SQL)
EXCEPTIONのWHEN OTHER句でSQLCODE = -54であれば排他エラー


●ロックしてしまった場合の情報を取得するには
SELECT xidusn,username,object_name,s.sid,serial#,
lmode,request,ctime,id2
FROM dba_objects o,v$locked_object l,v$session s ,v$lock v
WHERE o.object_id=l.object_id
and l.session_id=s.sid
and l.session_id=v.sid
and object_name='テーブル名';

ctimeは、掴んでいる時間(s)


●ロック解除方法 

【コマンド】
alter system kill session 'sid,serial#';

【SI ObjectBrowser】
ツールバーメニュー→管理→ロック情報 をクリック
ロックしているセッションを特定!
次に、ツールバーメニュー→管理→セッション情報 をクリック
特定したセッションを抹殺!

※いずれもシステム権限(sysdba)がないとダメ
→sysdbaで接続は SQL>conn / as sysdba;

②ひたすら待つ

③SI ObjectbrowseなりSQL*Plusがあがったままなら
 COMMITなりROLLBACKなりSQL発行しまくれば、ロックは解放できる♪

HOME

カレンダー

03 2025/04 05
S M T W T F S
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30

フリーエリア

最新CM

最新TB

プロフィール

HN:
No Name Ninja
性別:
非公開

バーコード

ブログ内検索

P R

Powered byNinja Blog  Template & Material by 素材屋405番地

忍者ブログ [PR]