1. 程式人生 > >Oracle會話 查詢和關閉會話 表被鎖解鎖 殺會話 殺程序

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

 

https://blog.csdn.net/sptoor/article/details/51372232