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,不是指电脑台数。