DBA應當如何查看Oracle數據庫連接情況
下面的SQL語句列出當前數據庫建立的會話情況:
select sid,serial#,username,program,machine,status
from v$session;
輸出的結果:
SID SERIAL# USERNAME PROGRAM MACHINE STATUS
---- ------- ---------- ----------- --------------- --------
1 1 ORACLE.EXE WORK3 ACTIVE
2 1 ORACLE.EXE WORK3 ACTIVE
3 1 ORACLE.EXE WORK3 ACTIVE
4 1 ORACLE.EXE WORK3 ACTIVE
5 3 ORACLE.EXE WORK3 ACTIVE
6 1 ORACLE.EXE WORK3 ACTIVE
7 1 ORACLE.EXE WORK3 ACTIVE
8 27 SYS SQLPLUS.EXE WORKGROUPWORK3 ACTIVE
11 5 DBSNMP dbsnmp.exe WORKGROUPWORK3 INACTIVE
其中SID 會話(session)的ID號;
SERIAL# 會話的序列號,和SID一起用來唯一標識一個會話;
USERNAME 建立該會話的用戶名;
PROGRAM 這個會話是用什么工具連接到數據庫的;
STATUS 當前這個會話的狀態,ACTIVE表示會話正在執行某些任務,INACTIVE表示當前會話沒有執行任何操作;
假如DBA要手工斷開某個會話,則執行:
alter system kill session 'SID,SERIAL#';
注意:
在上面的示例中,SID為1到7(USERNAME列為空)的會話,它是Oracle數據庫的后臺進程,請大家不要對這些會話進行任何操作。