1. 程式人生 > >查看oracle數據庫允許的最大連接數和當前連接數

查看oracle數據庫允許的最大連接數和當前連接數

con imm serve scope 登錄 star edi 信息 log

在查看數據的連接情況很有用,寫完程序一邊測試代碼一邊查看數據庫連接的釋放情況有助於分析優化出一個健壯的系統程序來。

1、查看當前的數據庫連接數

select count(*) from v$process ; --當前的數據庫連接數

2、數據庫允許的最大連接數

select value from v$parameter where name =‘processes‘; --數據庫允許的最大連接數

3、修改數據庫最大連接數
alter system set processes = 300 scope = spfile; --修改最大連接數:

4、關閉/重啟數據庫
shutdown immediate; --關閉數據庫
startup; --重啟數據庫

5、查看當前有哪些用戶正在使用數據

select osuser, a.username, cpu_time/executions/1000000||‘s‘, b.sql_text, machine
from v$session a, v$sqlarea b
where a.sql_address =b.address
order by cpu_time/executions desc; --查看當前有哪些用戶正在使用數據

6、 --當前的session連接數

select count(*) from v$session --當前的session連接數

7、當前並發連接數

select count(*) from v$session where status=‘ACTIVE‘; --並發連接數

v$process:

這個視圖提供的信息,都是oracle服務進程的信息,沒有客戶端程序相關的信息
服務進程分兩類,一是後臺的,一是dedicate/shared server
pid, serial# 這是oracle分配的PID
spid 這才是操作系統的pid
program 這是服務進程對應的操作系統進程名


v$session:

這個視圖主要提供的是一個數據庫connect的信息,
主要是client端的信息,比如以下字段:
machine 在哪臺機器上
terminal 使用什麽終端
osuser 操作系統用戶是誰
program 通過什麽客戶端程序,比如TOAD
process 操作系統分配給TOAD的進程號
logon_time 在什麽時間
username 以什麽oracle的帳號登錄
command 執行了什麽類型的SQL命令
sql_hash_value SQL語句信息

有一些是server端的信息:
paddr 即v$process中的server進程的addr
server 服務器是dedicate/shared

查看oracle數據庫允許的最大連接數和當前連接數