当前位置:首页 » 操作系统 » 查看oracle数据库连接数

查看oracle数据库连接数

发布时间: 2025-07-20 04:22:31

1. 如何查看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

2. 查看oracle当前连接数和进程数

查询当前数据库的进程连接数:

使用SQL语句:`select count(*) from v$process;`

查看当前数据库的会话连接数:

使用SQL语句:`select count(*) from v$session;`

查询数据库的并发连接数:

使用SQL语句:`select count(*) from v$session where status='ACTIVE';`

查看数据库建立的会话情况:

使用SQL语句:`select sid,serial#,username,program,machine,status from v$session;`

获取数据库允许的最大连接数:

使用SQL语句:`select value from v$parameter where name = 'processes';` 或者 `show parameter processes;`

查询所有数据库的连接数

使用SQL语句:`selectschemaname,count(*)fromv$sessiongroupbyschemaname;`

查询终端用户使用数据库的连接情况:

使用SQL语句:`selectosuser,schemaname,count(*)fromv$sessiongroupbyschemaname,osuser;`

修改数据库最大连接数:

使用SQL命令:`alter system set processes = value scope = spfile;`

重启数据库以实现连接数修改:

命令:`shutdown immediate;`

`startup;`

查看当前使用的数据库用户:

使用SQL语句:`select osuser,a.username,cpu_time/executions/1000000||'s',sql_fulltext,machine from v$session a,v$sqlarea b where a.sql_address = b.address order by cpu_time/executions desc;`

查询并释放被锁的表的session:

使用SQL语句:`SELECT A.OWNER,A.OBJECT_NAME,B.XIDUSN,B.XIDSLOT,B.XIDSQN,B.SESSION_ID,B.ORACLE_USERNAME, B.OS_USER_NAME,B.PROCESS, B.LOCKED_MODE, C.MACHINE,C.STATUS,C.SERVER,C.SID,C.SERIAL#,C.PROGRAM FROM ALL_OBJECTS A,V$LOCKED_OBJECT B,SYS.GV_$SESSION C WHERE ( A.OBJECT_ID = B.OBJECT_ID ) AND (B.PROCESS = C.PROCESS ) ORDER BY 1,2;`

释放指定session:

命令:`alter system kill session 'sid, serial#';`

查看占用系统IO较大的session:

使用SQL语句:`SELECT se.sid,se.serial#,pr.SPID,se.username,se.status,se.terminal,se.program,se.MODULE,se.sql_address,st.event,st.p1text,si.physical_reads,si.block_changes FROM v$session se, v$session_wait st,v$sess_io si,v$process pr WHERE st.sid=se.sid AND st.sid=si.sid AND se.PADDR=pr.ADDR AND se.sid>6 AND st.wait_time=0 AND st.event NOT LIKE '%SQL%' ORDER BY physical_reads DESC;`

找出耗用CPU较多的session:

使用SQL语句:`select a.sid,spid,status,substr(a.program,1,40) prog,a.terminal,osuser,value/60/100 value from v$session a,v$process b,v$sesstat c where c.statistic#=12 and c.sid=a.sid and a.paddr=b.addr order by value desc;`

3. 怎样查看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

热点内容
x27热点密码是多少 发布:2025-07-20 09:03:19 浏览:577
c语言编码生日快乐 发布:2025-07-20 08:56:56 浏览:390
服务器北京云空间 发布:2025-07-20 08:55:29 浏览:261
秦皇岛少儿编程 发布:2025-07-20 08:55:19 浏览:63
android获取imsi 发布:2025-07-20 08:42:24 浏览:774
当前设备没连接服务器怎么回事 发布:2025-07-20 08:37:10 浏览:462
高考解压操 发布:2025-07-20 08:27:55 浏览:749
币价压缩 发布:2025-07-20 08:27:14 浏览:417
jqueryftp上传 发布:2025-07-20 08:27:11 浏览:499
mysqllinux开发 发布:2025-07-20 08:00:46 浏览:79