怎样查看oracle当前的连接数

怎样查看oracle当前的连接数,第1张

1,查看当前会话数

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


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/6700662.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-27
下一篇2023-03-27

发表评论

登录后才能评论

评论列表(0条)

    保存