您的位置:首頁技術文章
文章詳情頁

DBA應當如何查看Oracle數據庫連接情況

瀏覽:112日期:2023-11-27 12:43:06
在實際的工作中,數據庫管理員(DBA)需要經常要定時對數據庫的連接情況進行檢查,查看與數據庫建立的會話數目是不是正常,假如建立了過多的連接,會消耗許多數據庫的資源。與此同時,針對一些“掛死”的連接,可能會需要DBA自行手工進行清理。

下面的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數據庫的后臺進程,請大家不要對這些會話進行任何操作。

標簽: Oracle 數據庫
国产综合久久一区二区三区