oracle資料庫連接數
A. 如何查看oracle資料庫某一張表的最大連接數
用putty連接linux伺服器,切換到
su
-
oracle
sqlplus
/nolog
連接到資料庫;
conn
/
as
sysdba
show
parameter
session
alter
system
set
sessions
=
values(比如400)
scope
=
spfile;//注意此處的分號;
show
parameter
process
alter
system
set
processes
=
values(比如450)scope
=
spfile;//注意此處的分號;
show
parameter
license
//查看最大的process;
重新啟動伺服器;
oracle的連接數(sessions)與其參數文件中的進程數(process)有關,它們的關系如下:
sessions=(1.1*process+5)
但是我們增加process數時,往往資料庫不能啟動了。這因為我們還漏調了一個unix系統參數:它是/etc/system/中semmns,這是unix系統的信號量參數。每個process會佔用一個信號量。semmns調整後,
需要重新啟動unix操作系統,參數才能生效。不過它的大小會受制於硬體的內存或oracle
sga。范圍可從200——2000不等。
semmns的計算公式為:semmns>processes+instance_processes+system
processes=資料庫參數processes的值
instance_processes=5(smon,pmon,dbwr,lgwr,arch)
system=系統所佔用信號量。系統所佔用信號量可用下列命令查出:#ipcs
-sb
B. 如何修改oracle資料庫最大連接數
select count(*) from v$process --當前的連接數
select value from v$parameter where name = 'processes' --資料庫允許的最大連接數
修改最大連接數:
alter system set processes = 300 scope = spfile;
重啟資料庫:
shutdown immediate;
startup;
C. 怎樣查看oracle最大連接數和當前連接數
總結在日常中查看資料庫連接情況的語句,供參看
1.
select count(*) from v$process
select count(*) from v$process where program=『Oracle.EXE(SHAD)』; --當前的資料庫連接數
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/executionsdesc;
--查看當前有哪些用戶正在使用數據
6.
select count(*) from v$session --當前的session連接數
7.
select count(*) from v$session where status='ACTIVE'--並發連接數
8.
show parameter processes --最大連接
D. Oracle能支持的最大連接數是多少
Oracle能支持的最大連接數是多少
ORACLE的連接數理論上是沒有上限的,設置多少都可以。
但是實際上與伺服器的配置有關,配置越強悍,連接數可以設置的上限越高。
資料庫的連接數是指響應客戶端連接的最大進程數
注意:是有一個連接進程算一個session,不是指電腦台數。
E. 怎樣確定oracle資料庫的最大連接數
我以前認為oracle processes參數只是規定進程數的上限,隨便設置多大都可以,於是設置了個一千萬,結果重啟資料庫的時候發現啟動不了。
其實processes設置的值還是會佔用oracle內存的,設置過大的話,你sga中沒有足夠的內存分配,資料庫便無法啟動。
你可以自己實驗對比下,
當你設置不同processes值時候,shared_pool中的processes池,大小也會隨之變化
select * from v$sgastat where pool='shared pool' and name='processes';
F. Oracle能支持的最大連接數是多少
ORACLE的連接數理論上是沒有上限的,設置多少都可以。實際上與伺服器的配置有關,配置越強悍,連接數可以設置的上限越高。
資料庫的連接數是指響應客戶端連接的最大進程數
注意 是有一個連接進程算一個 不是指電腦台數
G. 怎樣查看oracle當前的連接數
1,查看當前會話數
SQL>conn/assysdba
已連接。
SQL>selectcount(*)fromv$session;
COUNT(*)
----------
45
註:session值=processes值*1.1+5
2,查看資料庫最大進程數
SQL>showparameterprocesses
NAMETYPEVALUE
---------------------------------------------------------
aq_tm_processesinteger0
db_writer_processesinteger1
gcs_server_processesinteger0
job_queue_processesinteger10
log_archive_max_processesinteger2
processesinteger50
3,查看資料庫最大會話數
SQL>showparametersessions
NAMETYPEVALUE
---------------------------------------------------------
java_max_sessionspace_sizeinteger0
java_soft_sessionspace_limitinteger0
license_max_sessionsinteger0
license_sessions_warninginteger0
logmnr_max_persistent_sessionsinteger1
sessionsinteger60
shared_server_sessionsinteger
4,修改processes和sessions值
SQL>altersystemsetprocesses=300scope=spfile;
系統已更改。
SQL>altersystemsetsessions=300scope=spfile;
系統已更改。
註:一般只執行第一個命令就可以,session自動更改
5,創建pfile
SQL>createpfilefromspfile;
註:如果不做此步,可能會導致更改最大連接數之後資料庫不能啟動現象
6,重啟資料庫,使更改生效
SQL>shutdownimmediate
SQL>startup
註:shutdownnormal正常關閉資料庫可能會相當相當的慢呢
shutdownabort可能會導致啟動資料庫時很慢。
7,查看進程數,會話數,已經修改過來了
SQL>showparameterprocesses
NAMETYPEVALUE
----------------------------------------------------------
aq_tm_processesinteger0
db_writer_processesinteger1
gcs_server_processesinteger0
job_queue_processesinteger10
log_archive_max_processesinteger2
processesinteger300
SQL>showparametersessions
NAMETYPEVALUE
-----------------------------------------------------------
java_max_sessionspace_sizeinteger0
java_soft_sessionspace_limitinteger0
license_max_sessionsinteger0
license_sessions_warninginteger0
logmnr_max_persistent_sessionsinteger1
sessionsinteger335
shared_server_sessionsinteger
H. 怎樣查看oracle當前的連接數
--當前的連接數
SQL>selectcount(*)fromv$session
--#並發連接數
SQL>Selectcount(*)fromv$sessionwherestatus='ACTIVE'
--資料庫允許的最大連接數
SQL>selectvaluefromv$parameterwherename='processes'
--#最大連接
SQL>showparameterprocesses
--#查看不同用戶的連接數
SQL>selectusername,count(username)fromv$;
I. oracle的最大連接數能支持到多少,建議是多少,以及原因
ORACLE的連接數理論上是沒有上限的,設置多少都可以。
但是實際上與伺服器的配置有關,配置越強悍,連接數可以設置的上限越高。
資料庫的連接數是指響應客戶端連接的最大進程數
注意:是有一個連接進程算一個session,不是指電腦台數。