linux中檢視oracle程式在做什麼,是否sql引起了鎖 kill掉程式

楊奇龍發表於2010-06-11

ps -l 檢視系統程式
    PID 每個程式的ID。
  PPID 每個程式的父程式ID。
  UID 每個程式所有者的UID 。
  USER 每個程式所有者的使用者名稱。
  PRI 每個程式的優先順序別。
  NI 該程式的優先順序值。
  SIZE 該程式的程式碼大小加上資料大小再加上堆疊空間大小的總數。單位是KB。
  TSIZE 該程式的程式碼大小。對於核心程式這是一個很奇怪的值。
  DSIZE 資料和堆疊的大小。
  TRS 文字駐留大小。
  D 被標記為“不乾淨”的頁專案。
  LIB 使用的庫頁的大小。對於ELF程式沒有作用。
  RSS 該程式佔用的實體記憶體的總數量,單位是KB。
  SHARE 該程式使用共享記憶體的數量。
  STAT 該程式的狀態。其中S代表休眠狀態;D代表不可中斷的休眠狀態;R代表執行狀態;Z代表僵死狀態;

T代表停止或跟蹤狀態。
  TIME 該程式自啟動以來所佔用的總CPU時間。如果進入的是累計模式,那麼該時間還包括這個程式子程式所佔用的時間。且標題會變成CTIME。根據OS程式號,應該可以查到它正在執行什麼SQL語句.
-- 查到oracle OS程式的sid編號:
select ses.sid from v$session ses,v$process pro where pro.spid=&spid and ses.paddr=pro.addr;
-- 查到此sid連線使用者正在執行的SQL語句:
select sql_text from v$sqltext_with_newlines where (hash_value,address)
in (select sql_hash_value,sql_address from v$session where sid=&sid) order by address,piece;
檢視oracle的鎖是sql語句引起的

檢視引起鎖的session_id
 sync4j啟動的程式

select * from v$locked_object where os_user_name='sync4j'
找到seesion_ID=139
找到引起的sql語句
SELECT a.username,
a.machine,
a.program,
a.sid,
a.serial#,
a.status,
c.piece,
c.sql_text
FROM v$session a,
v$sqltext c
WHERE a.sid = 139
and a.sql_address=c.address(+)
ORDER BY c.piece

v$sqltext就是引起鎖的sql語句了

alter system kill session 'sid,serial#'  殺掉程式
  sid,serial#在v$session中可以查到

==================================

1.首先透過v$session_wait確定library cache pin等待事件的會話

2.確定要pin的物件:
select kglnaobj
from sys.x$kglob
where inst_id = userenv('instance')
and kglhdadr = v$session_wait.P1RAW;

3.確定阻塞的會話:
select a.sid,a.serial#,a.username,a.paddr,a.logon_time,
a.sql_hash_value,b.kglpnmod
from v$session a,sys.x$kglpn b
where a.saddr = b.kglpnuse
and b.inst_id= userenv('instance')
and b.kglpnreq = 0
and b.kglpnmod not in (0,1)
and b.kglpnhdl = v$session_wait.P1RAW;

確定哪些會話正在使用某個包/過程/函式/檢視,如果有的話,這時就不要進行drop,complie之類的操作了
select c.sid
from sys.x$lglob a,sys.x$kglpn b,v$session c
where a.kglnaobj=大寫的你要進行操作的包/過程/函式/檢視
and a.kglhdadr=b.kglpnhdl
and b.kglpnuse=c.saddr;

 

本文來自CSDN部落格,轉載請標明出處:http://blog.csdn.net/liuya1985liuya/archive/2008/01/07/2028994.aspx

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22664653/viewspace-665074/,如需轉載,請註明出處,否則將追究法律責任。

相關文章