oracle mysql连接池_oracle数据库连接池查看

本文介绍了如何查看和管理数据库的连接数,包括查询活跃连接、总连接数和最大允许连接数。通过`v$session`视图可以监控会话状态,并通过调整`processes`参数优化并发性能。DBA需要关注异常连接并适时清理。此外,提供了查询各用户、主机和程序状态的会话统计,以及断开会话的SQL语句。定期检查和调整数据库连接有助于维护系统稳定和资源效率。
摘要由CSDN通过智能技术生成

SQL> Select count(*) from v$session where status='ACTIVE' ;

COUNT(*)

----------

20

SQL> Select count(*) from v$session;

COUNT(*)

----------

187

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 450

SQL>

并发指active,I SEE

SQL> select count(*) from v$session #连接数

SQL> Select count(*) from v$session where status='ACTIVE' #并发连接数

SQL> show parameter processes #最大连接

SQL> alter system set processes = value scope = spfile;重启数据库 #修改连接

unix 1个用户session 对应一个操作系统 process

而 windows体现在线程

DBA要定时对数据库的连接情况进行检查,看与数据库建立的会话数目是不是正常,如果建立了过多的连接,会消耗数据库的资源。同时,对一些“挂死”的连接,可能会需要DBA手工进行清理。

以下的SQL语句列出当前数据库建立的会话情况:

select sid,serial#,username,program,machine,status

from v$session;

输出结果为:

SID SERIAL# USERNAME PROGRAM MACHINE STATUS

---- ------- ---------- ----------- --------------- --------

1 1 ORACLE.EXE WORK3 ACTIVE

2 1 ORACLE.EXE WORK3 ACTIVE

3 1 ORACLE.EXE WORK3 ACTIVE

4 1 ORACLE.EXE WORK3 ACTIVE

5 3 ORACLE.EXE WORK3 ACTIVE

6 1 ORACLE.EXE WORK3 ACTIVE

7 1 ORACLE.EXE WORK3 ACTIVE

8 27 SYS SQLPLUS.EXE WORKGROUP\\WORK3 ACTIVE

11 5 DBSNMP dbsnmp.exe WORKGROUP\\WORK3 INACTIVE

其中,

SID 会话(session)的ID号;

SERIAL# 会话的序列号,和SID一起用来唯一标识一个会话;

USERNAME 建立该会话的用户名;

PROGRAM 这个会话是用什么工具连接到数据库的;

STATUS 当前这个会话的状态,ACTIVE表示会话正在执行某些任务,INACTIVE表示当前会话没有执行任何操作;

如果DBA要手工断开某个会话,则执行:

alter system kill session \'SID,SERIAL#\'

sql语句

SQL语句如下:

SELECT username, machine, program, status, COUNT (machine) AS

连接数量

FROM v$session

GROUP BY username, machine, program, status

ORDER BY machine;

显示结果(每个人的机器上会不同)

SCHNEIDER|WORKGROUD\WANGZHENG|TOAD.exe|ACTIVE|1

SCHNEIDER|WORKGROUP\597728AA514F49D|sqlplusw.exe|INACTIVE|1

|WWW-Q6ZMR2OIU9V|ORACLE.EXE|ACTIVE|8

PUBLIC|||INACTIVE|0

按主机名查询

SELECT COUNT(*) FROM V$SESSION WHERE MACHINE = 'DXMH';      'DXMH'为主机名

数据恢复语句

create table informationlaw_bak

as

select * from informationlaw as of TIMESTAMP to_timestamp('20121126 103435','yyyymmdd hh24miss');

//按机器名分组查

select username,machine,count(username) from v$session where username is not null group by username,machine;

// IP

select USER,sid,serial#,UTL_INADDR.GET_host_ADDRESS as host,SYS_CONTEXT('USERENV','ip_ADDRESS') as local,SYSDATE from V$session

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值