关于数据库session连接数目问题

来源:互联网 发布:公司机房网络拓扑图 编辑:程序博客网 时间:2024/06/09 14:30

第一次:一开始只是通过admin/数据库名/pfile/init.ora.018201210520下的process = 150 然后修改成了500,重启数据库,本认为万事大吉了,大约过了几个小时客户来电话,说不行了,再次连接不上数据库了。

第二次:然后又继续想问题的所在,对于数据库的进程数超过最大值,只有资源打开之后,没有及时的关闭,或者说资源打开之后不正常的关闭界面造成数据库中的process处于inactive,没有释放,后来就想应该是程序的问题了,找多了,所有的数据库连接的类,进行statement和result的关闭,心想这下应该没问题了,更新之后,重启服务,没想到的是,大晚上的两点客户再次来了电话,不行了。

第三次:然后SQL> show parameter processes;
NAME TYPE VALUE
------------------------------------ ----------- ---------------------------------------
aq_tm_processes integer 1
db_writer_processes integer 1
job_queue_processes integer 10
log_archive_max_processes integer 1
processes integer 150

一看怎么已经改了,依然是150,后来通过网上看到,单纯的改配置文件无效,而后就通过以下sql进行了修改

SQL> alter system set processes=500 scope = spfile;

done;

SQL> create pfile from spfile;

done;

这里执行时间有可能会提示权限不足,这个时间用dba权限即可

然后重启数据库,再次show,已经修改成了500,暂时告一段落,客户来电话的频率低了。不过还是要说一下问题的根本所在,请继续往下看

第四次:然后通过sql:select sid,serial#,username,program,machine,status from v$session;查询当前数据的连接状态

0 0
原创粉丝点击