oracle儲存過程編譯死掉的原因及解決(zt)
開發人員報告:在程式中殺了JOB,但是被操作的表還是鎖表狀態,
其中有一張日誌表還在不斷插入記錄,直到執行完所有插入操作(一個漫長的等待過程)才能解鎖
現場描述:oem中被殺job起的SESSION狀態為killed,其中有3張表被鎖點選右鍵--》中斷會話
提示: 標記要刪去的會話
===================================================================================================
處理方法一 :
1.SELECT saddr,sid,serial#,paddr,username,status FROM v$session
WHERE username IS NOT NULL
example:saddr,sid,serial#,paddr,username,status FROM v$session WHERE
username = 'XNJW0419' ;
SADDR SID SERIAL# PADDR USERNAME STATUS
-------- ---------- ---------- --------
------------------------------ --------
542E0E6C 11 314 542B70E8 EYGLE INACTIVE 542E5044 18 662 542B6D38 SYS
ACTIVE
2.ALTER SYSTEM KILL SESSION 'sid, serial#';
example:ALTER SYSTEM KILL SESSION '11,314';(注:在sqlplus中執行 )
結果: 提示標記要刪去的會話 無法釋放會話,未成功解鎖
====================================================================================================
處理方法二 :
a、 找到你要殺掉的那個SESSION, 並記下paddr
SELECT sid, username, paddr, status FROM v$session WHERE username =
'使用者名稱' ;
example:SELECT sid, username, paddr, status FROM v$session WHERE
username = 'XNJW0419' ;
SID USERNAMEPADDRSTATUS
---------- ------------------------------ -------- --------
10 XNJW04192B5E2E2C KILLED
b、 找到這個SESSION所對應的spid
SELECT * FROM v$process WHERE addr = '上面查尋的paddr';
example:SELECT ADDR,PID,SPID,USERNAME,SERIAL#,TERMINAL FROM
v$process WHERE addr = '2B5E2E2C';
ADDRPID SPIDUSERNAMESERIAL# TERMINAL
-------- ---------- ------------ --------------- ----------
----------------
2B5E2E2C44 1204SYSTEM-99 JWC
c、 殺掉spid所標識的那個程式
D:>orakill sid spid (注:cmd命令視窗中執行 只有oracle伺服器端才有orakill命令)
example: D:>orakill oemrep 1204
提示:KILL OF THREAD id 1204 IN INSTANCE oemrep successfully signalled.
結果:成功刪除該SESSION,表也解鎖
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=932396
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-84492/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle儲存過程編譯卡死的解決方法Oracle儲存過程編譯
- Oracle 編譯儲存過程卡死解決方法Oracle編譯儲存過程
- oracle 儲存過程重新編譯方法Oracle儲存過程編譯
- 儲存過程被鎖無法編譯的解決儲存過程編譯
- 儲存過程編譯時卡死儲存過程編譯
- 儲存過程編譯時會卡死儲存過程編譯
- 建立儲存過程編譯無效物件儲存過程編譯物件
- oracle儲存過程!解決網友問題Oracle儲存過程
- 一個儲存過程編譯HANG住的分析儲存過程編譯
- oracle的儲存過程Oracle儲存過程
- 從sybase的儲存過程轉向oracle的儲存過程儲存過程Oracle
- oracle 儲存過程不能編譯-- (編譯的同時正在訪問所導致的) [轉載]Oracle儲存過程編譯
- Oracle儲存過程Oracle儲存過程
- MySQL儲存過程詳解 mysql 儲存過程MySql儲存過程
- 編譯儲存過程時被卡死的處理方法編譯儲存過程
- 用flashback恢復儲存過程(ZT)儲存過程
- ETL通用解決方案---oracle+儲存過程 實現Oracle儲存過程
- oracle的儲存過程格式Oracle儲存過程
- 編寫JAVA儲存過程Java儲存過程
- Oracle儲存過程乾貨(一):儲存過程基礎Oracle儲存過程
- Oracle儲存過程-1Oracle儲存過程
- Oracle儲存過程例子Oracle儲存過程
- Oracle建立儲存過程Oracle儲存過程
- oracle plsql儲存過程OracleSQL儲存過程
- ORACLE 儲存過程示例Oracle儲存過程
- 儲存過程的詳解儲存過程
- [Q]怎麼樣加密儲存過程 zt加密儲存過程
- 把自編儲存過程設定為系統儲存過程儲存過程
- MySQL儲存過程詳解 mysql 儲存過程linkMySql儲存過程
- oracle自動生成編譯所有函式、儲存過程、觸發器的語句Oracle編譯函式儲存過程觸發器
- Oracle認證 :Oracle中重新編譯無效的儲存過程,或函式、觸發器Oracle編譯儲存過程函式觸發器
- 儲存過程效能低的解決方法之一儲存過程
- 原創:oracle 儲存過程Oracle儲存過程
- oracle 儲存過程批次提交Oracle儲存過程
- oracle 儲存過程學習Oracle儲存過程
- [Flashback]Oracle flashback儲存過程Oracle儲存過程
- Oracle儲存過程學習Oracle儲存過程
- java 呼叫oracle 儲存過程JavaOracle儲存過程