
SQL> conn / as sysdba
已连接。
SQL> select count(*) from v$session
COUNT(*)
----------
45
注:session值=processes值*1.1+5
2,查看数据库最大进程数
SQL> show parameter processes
NAME TYPE VALUE
---------------------------------- ----------- ------------
aq_tm_processes integer 0
db_writer_processes integer 1
gcs_server_processes integer 0
job_queue_processes integer 10
log_archive_max_processes integer 2
processes integer 50
3,查看数据库最大会话数
SQL> show parameter sessions
NAME TYPE VALUE
---------------------------------- ----------- ------------
java_max_sessionspace_size integer 0
java_soft_sessionspace_limit integer 0
license_max_sessions integer 0
license_sessions_warning integer 0
logmnr_max_persistent_sessions integer 1
sessions integer 60
shared_server_sessions integer
4,修改processes和sessions值
SQL> alter system set processes=300 scope=spfile
系统已更改。
SQL> alter system set sessions=300 scope=spfile
系统已更改。
注:一般只执行第一个命令就可以,session自动更改
5,创建pfile
SQL>create pfile from spfile
注:如果不做此步,可能会导致更改最大连接数之后数据库不能启动现象
6,重启数据库,使更改生效
SQL> shutdown immediate
SQL> startup
注:shutdown normal正常关闭数据库可能会相当相当的慢呢
shutdown abort 可能会导致启动数据库时很慢。
7,查看进程数,会话数,已经修改过来了
SQL> show parameter processes
NAME TYPE VALUE
------------------------------------ ----------- -----------
aq_tm_processes integer 0
db_writer_processes integer 1
gcs_server_processes integer 0
job_queue_processes integer 10
log_archive_max_processes integer 2
processes integer 300
SQL> show parameter sessions
NAME TYPE VALUE
------------------------------------ ----------- ------------
java_max_sessionspace_size integer 0
java_soft_sessionspace_limit integer 0
license_max_sessions integer 0
license_sessions_warning integer 0
logmnr_max_persistent_sessions integer 1
sessions integer 335
shared_server_sessions integer
SQL>select count(*) from v$session ;--当前的连接数SQL>Select count(*) from v$session where status='ACTIVE' ;--并发连接数
SQL>select value from v$parameter where name = 'processes' --数据库允许的最大连接数
SQL>show parameter processes ;--最大连接
SQL>select username,count(username) from v$session where username is not null group by username--查看不同用户的连接数
用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
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)