選択する * V $ SESSION FROM WHERE USERNAMEがNULLではありません AND STATUS = ' ACTIVE ' ORDER BY LOGON_TIME、SID;
2 対応プロセスとクエリセッション SELECTのP.SPID、 S.SID、 S.OSUSER、 S.MACHINE、 S.PROGRAM、 S.LOGON_TIME、 Q.MODULE、 S.SERIAL#、 Q.SQL_ID、 Q.SQL_TEXT、 Q.SQL_FULLTEXT V $プロセスP FROM INNERは、V $ SESSION Sを登録しよう P.ADDR ON = S.PADDR INNERは、V $ SQLAREA Qを登録しよう ON S.SQL_ID = Q.SQL_ID WHERE S.AUDSID = USERENV(' SESSIONID ' )。 - クエリ現在のセッション
3 対応するSQLのため。クエリセッション待機 SELECT P.PID、 S.SID、 S.SERIAL#、 S.USERNAME、 Q.SQL_ID、 Q.SQL_TEXT、 Q.SQL_FULLTEXT、 W.EVENT、 W.WAIT_TIME、 W.STATE、 CASE WHEN W.STATE = ' WAITING ' THEN W.SECONDS_IN_WAIT WHEN W.STATE = ' 既知の時間待ち' THEN W.WAIT_TIMEを END AS SEC_IN_WAIT V $ SESSION Sから、V $ SESSION_WAIT W、V $ SQLAREA Q、V $プロセスP WHERE S.SID = W.SID AND S.SQL_ID = Q.SQL_ID AND P.ADDR = S.PADDR AND W.EVENT NOT LIKE ' SQL * Netの%' そして、S.USERNAMEはNULLではありません AND W.WAIT_TIME > = 0 ORDER BY DESC W.SECONDS_IN_WAIT ;
4 。クエリセッション・イベントのために待機し、対応するSQL SELECT P.PID、 S.SID、 S.SERIAL#、 S.USERNAME、 Q.SQL_ID、 Q.SQL_TEXT、 Q.SQL_FULLTEXT、 E.EVENT、 E.TOTAL_WAITS、 E.TIME_WAITED、 E.AVERAGE_WAIT V $ SESSION Sから、V $ SESSION_EVENT E、V $ SQLAREA Q、V $プロセスP WHERE S.SID = E.SID AND S.SQL_ID = Q.SQL_ID AND P.ADDR = S.PADDR AND E.EVENT NOT LIKE ' SQL * Netの%' とS.STATUS = ' ACTIVE ' そして、S.USERNAMEはNULLではありません ;
5 対応する長時間実行SQLでクエリセッション SELECT S.SID、 RECORDING、 TRUNC(L.SOFAR / L.TOTALWORK * 100、2)|| ' %' AS PCT_WORK、 L.ELAPSED_SECONDS ELAPSED、 ROUND(L.ELAPSED_SECONDS *(L.TOTALWORK - L.SOFAR)/ L.SOFAR)REMAIN_TIME、 Q.SQL_TEXT V $ SESSION_LONGOPS L、V $ SQLAREA Q、V $ SESSION S FROM WHERE L.SQL_HASH_VALUE = Q.HASH_VALUE AND L.SID = S.SID -そしてL.SOFAR!= L.TOTALWORK AND L.ELAPSED_SECONDS > 6 ORDER BY L.START_TIME ;
6 対応するSQLを使用した。クエリセッションとロック SELECT A.OWNERスキーム、 A.OBJECT_NAMEテーブル名、 B.XIDUSNロールバックセグメント番号、 B.XIDSLOTスロット番号、 B.XIDSQNシリアル番号、 B.SESSION_ID锁表SESSION_ID、 B.ORACLE_USERNAMEロックテーブルのユーザ名、 デコード(D.type、 ' XR ' 、 ' NULL ' 、 ' RS ' 、 ' SS(行-S)' 、 ' CF ' 、 ' SS(行-S)' 、 ' TM ' 、 ' テーブルロック' 、 ' PW ' 、 ' テーブルロック' ' TO " 、 "テーブルロック' ' TS ' ' テーブルロック' ' RT ' ' 行ロック' ' TX ' ' 行ロック' ' MR ' ' S(シェア)" 、 NULL)ロックモード、 C.MACHINEユーザグループ、 C.TERMINALマシン名、 B.OS_USER_NAMEシステム・ユーザー名、 B.PROCESSシステムプロセスID、 DECODE(C.STATUS、' INACTIVE '、' アクティブでない'、' ACTIVE '、' アクティビティ' )の活動、 C.SERVER、 C.SID、 e.SQL_TEXT、 C.SERIAL#、 C.PROGRAM接続、 C.LOGON_TIME ALL_OBJECTS A、V $ LOCKED_OBJECT B FROM、SYS.GV_ $ SESSION C、五$ ロックD、V $ E SQLTEXT WHERE(A.OBJECT_ID = B.OBJECT_ID) AND(B.PROCESS = C.PROCESS) そしてC.sid = d.sid そしてB.LOCKED_MODE = D.LMODE そしてc.SQL_ID = e.sql_id(+ ) ORDER BY 1、2。
選択t2.username、 t2.sid、 #t2.serial、 t3.object_name、 t2.OSUSER、 t2.MACHINE、 t2.PROGRAM、 t2.LOGON_TIME、 t2.COMMAND、 t2.LOCKWAIT、 t2.SADDR、 t2.PADDR、 t2.TADDR、 t2.SQL_ADDRESS、 t1.LOCKED_MODE 以下からの五$ LOCKED_OBJECT t1の、五$セッションT2、T3をDBA_OBJECTS、V $ SQL T4 どこ t1.session_id = t2.sid そしてt1.object_id = t3.object_id ---及びt2.SADDR = t4.ADDRESS(+ ) そしてt2.sql_id = t4.sql_id t2.logon_timeによって順序 ALTER SYSTEMのkillセッション' 139、182 ' :SID 182 :sertal# 6対応するSQL 0.1クエリセッションとロック
6 ブロックのセッションがブロックされている.2問い合わせ、対応するSQLセッション 選択する s1.username " WAITINGのUSER " 、s1.osuser " OSユーザー" 、s1.LOGON_TIME " ログオン時には、" 、w.session_id " シド" 、p1.spid " PID " 、q1.SQL_TEXT " SQLTEXTを" 、s2.username " HOLDINGユーザー" 、s2.osuser " OSユーザーを" 、s2.LOGON_TIME " ログオン時には、" 、h.session_id " シドは" p2.spid、 " PID " 、q2.SQL_TEXT " SQLTEXTを" から SYS.V_ $プロセスP1 、SYS.V_ $処理P2 、SYS.V_ $セッションS1 、SYS.V_ $セッションS2 、DBA_LOCKSワット 、HをDBA_LOCKS V $ SQLのQ1 V $ SQLのQ2 どこ h.mode_held != ' なし' とh.mode_held != ' ヌル' とw.mode_requested!= ' なし' とw.lock_type( +)= h.lock_type AND w.lock_id1( +)= h.lock_id1 AND w.lock_id2( +)= h.lock_id2 AND w.session_id = s1.sid(+ ) AND h.session_id = s2.sid(+ ) AND s1.paddr = p1.addr(+ ) AND s2.paddr = p2.addr(+ ) AND s1.SQL_ID = q1.SQL_ID(+ ) AND s2.SQL_ID = q2.SQL_ID(+ ) h.session_idによって順序 ;