Oracle會話 查詢和關閉會話 表被鎖解鎖 殺會話 殺程序
Oracle會話查詢等
2016年05月11日 10:27:00 波特王子 閱讀數:4432
如何檢視oracle當前連線數,會話數 收藏
檢視session:
select * from v$session where username is not null
select username,count(username) from v$session where username is not null group by username
當前連線數:
select count(*) from v$process
檢視連線數引數的設定情況
select value from v$parameter where name = 'processes'
Select count(*) from v$session where status='ACTIVE' #併發連線數
先檢視哪些表被鎖住了
select b.owner,b.object_name,a.session_id,a.locked_mode
from v$locked_object a,dba_objects b
where b.object_id = a.object_id;
select b.username,b.sid,b.serial#,logon_time
from v$locked_object a,v$session b
where a.session_id = b.sid order by b.logon_time;
殺會話
alter system kill session 'sid,serial#';
1.查哪個過程被鎖
查V$DB_OBJECT_CACHE檢視:
SELECT * FROM V$DB_OBJECT_CACHE WHERE OWNER='過程的所屬使用者' AND CLOCKS!='0';
2. 查是哪一個SID,通過SID可知道是哪個SESSION.
查V$ACCESS檢視:
SELECT * FROM V$ACCESS WHERE OWNER='過程的所屬使用者' AND NAME='剛才查到的過程名';
3. 查出SID和SERIAL#
查V$SESSION檢視:
SELECT SID,SERIAL#,PADDR FROM V$SESSION WHERE SID='剛才查到的SID'
查V$PROCESS檢視:
SELECT SPID FROM V$PROCESS WHERE ADDR='剛才查到的PADDR';
4. 殺程序
(1).先殺ORACLE程序:
ALTER SYSTEM KILL SESSION '查出的SID,查出的SERIAL#';
(2).再殺作業系統程序:
KILL -9 剛才查出的SPID
或
ORAKILL 剛才查出的SID 剛才查出的SPID