怎样查不正常的用户连接?

[复制链接]
查看11 | 回复3 | 2006-2-14 08:33:40 | 显示全部楼层 |阅读模式
aix系统,9.2.0.1数据库。
客户端正常情况下不会多于80个,但最近总是超过最大的进程数,造成其他客户端无法正常连接的情况:
SQL> show parameter process
NAME
TYPEVALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes
integer 0
db_writer_processes
integer 1
job_queue_processes
integer 0
log_archive_max_processes
integer 2
processes
integer 250
SQL> show parameter sessions;
NAME
TYPEVALUE
------------------------------------ ----------- ------------------------------
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
mts_sessions
integer 0
sessions
integer 280
我估计可能是应用程序端有问题不能正常释放连接。
我想知道怎么去查找那些是不正常连接,先kill掉,请高手指教。
回复

使用道具 举报

千问 | 2006-2-14 08:33:40 | 显示全部楼层
怎么没人回呀!


回复

使用道具 举报

千问 | 2006-2-14 08:33:40 | 显示全部楼层
最初由 hanry2006 发布
[B]aix系统,9.2.0.1数据库。
客户端正常情况下不会多于80个,但最近总是超过最大的进程数,造成其他客户端无法正常连接的情况:
SQL> show parameter process
NAME
TYPEVALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes
integer 0
db_writer_processes
integer 1
job_queue_processes
integer 0
log_archive_max_processes
integer 2
processes
integer 250
SQL> show parameter sessions;
NAME
TYPEVALUE
------------------------------------ ----------- ------------------------------
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
mts_sessions
integer 0
sessions
integer 280
我估计可能是应用程序端有问题不能正常释放连接。
我想知道怎么去查找那些是不正常连接,先kill掉,请高手指教。 [/B]

1、你客户端不超80个,但每个客户端开几个session你知道不?
2、在你的应用程序的设计用,是不是用dblink连接这个库的特别多?比如别的库通过dblink向这个库的某个表插数据。
3、你的processes 设为250个,也不是很多,可以适当的加一些。
4、超出最大进程应问题本身而言即为后台的ps -ef|grep ora|wc显示的数到达的250这个设定值。所以有后台进程很多而v$session确没多少session的状况。可以用如下语句看一下哪些是这样状况的,然后把这些spid在后台kill掉。
[php]
SELECT SPID
FROM V$PROCESS
WHERE ADDR IN (SELECT ADDR

FROM V$PROCESS

WHERE PID1

MINUS

SELECT PADDR FROM V$SESSION)
[/php]
5、如果你自己也连不进去,可以先把listener停会,进一步的说可以kill掉几个oracle后台进程。
6、你的这种问题很常见,如果不是应用设计(如dblink引起),则可以适当增加processes参数,因为如果这个值小可能会有恶性循环状况。同时请你们的网络管理员查一下网络,网络的抖动也会产生你这样问题。
回复

使用道具 举报

千问 | 2006-2-14 08:33:40 | 显示全部楼层
谢谢!
一个客户端一个session.
很有可能是网络不稳定造成的,因为应用程序很久没有改动了。而客户端网络有调整。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行