WEB开发网
开发学院数据库Oracle SQL Server和Oracle中的锁和死锁 阅读

SQL Server和Oracle中的锁和死锁

 2008-09-02 12:46:27 来源:WEB开发网   
核心提示: 我们可以如下查询语句查找死锁的进程:查询1: selectss.username,lo.OBJECT_ID,lo.SESSION_ID,ss.SERIAL#,lo.ORACLE_USERNAME,lo.OS_USER_NAME,lo.PROCESSFROMV$LOCKED_OBJECTlo

我们可以如下查询语句查找死锁的进程:

查询1:

selectss.username,lo.OBJECT_ID,lo.SESSION_ID,ss.SERIAL#,lo.ORACLE_USERNAME,lo.OS_USER_NAME,lo.PROCESSFROMV$LOCKED_OBJECTlo,V$SESSIONsswherelo.SESSION_ID=ss.SID; 

查询2:

selectDISTINCT’BLOCKER(’||LB.SID||’:’||sb.username||’)-SQL:’||qb.SQL_textBLOCKERS,’WAITER(’||lw.SID||’:’||sw.username||’)-SQL:’||qw.SQL_textWAITERSFROMV$lockLB,V$sessionSB,V$lockLW,v$sessionSW,v$sqlQB,V$sqlQWwhereLB.SID=SB.SIDANDLW.SID=SW.SIDANDSB.PREV_sql_addr=QB.ADDRESSANDSW.SQL_ADDRESS=QW.ADDRESSANDLB.ID1=LW.ID2ANDSW.LOCKWAITISNOTNULL 

查询3:

selectDISTINCT’BLOCKER(’||BW.HOLDING_SESSION||’:’||SB.username||’)-SQL:’||BQ.SQL_textBLOCKERS,’WAITER(’||BW.WAITING_SESSION||’:’||sw.username||’)-SQL:’||SQ.SQL_textWAITERSFROMDBA_waitersBW,V$SESSIONSB,v$sessionSW,v$sqlareaBQ,V$sqlareaSQwhereBW.HOLDING_SESSION=SB.SIDANDBW.WAITING_SESSION=SW.SIDANDSB.PREV_SQL_addr=BQ.ADDRESSANDSW.SQL_ADDRESS=SQ.ADDRESS 

查询3执行后,返回如下所示监视信息。

BLOCKERS--------------------------------------------------------------------------------WAITERS--------------------------------------------------------------------------------BLOCKER(12:SYS)-SQL:selectDISTINCT  ’BLOCKER(’||BW.HOLDING_SESSION||’:’||SB.username||’)-SQL:’||BQ.SQL_textBLOCKERS,  ’WAITER(’||BW.WAITING_SESSION||’:’||sw.username||’)-SQL:’||SQ.SQL_textWAITERS  FROMDBA_waitersBW,V$SESSIONSB,v$sessionSW,v$sqlareaBQ,V$sqlareaSQ  whereBW.HOLDING_SESSION=SB.SID   ANDBW.WAITING_SESSION=SW.SID ANDSB.PREV_SQL_addr=BQ.ADDRESS ANDSW.SQL_ADDRESS=SQ.ADDRESSWAITER(13:SYS)-SQL:updatehr.jobssetjob_title=job_title||’abc’wherejob_id=’ST_MAN’ 

上一页  1 2 3 4 5 6  下一页

Tags:SQL Server Oracle

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接