您的位置:首页 > 大数据 > 人工智能

ora-12516 tns listener could not find available handler with matching protocol

2010-05-27 09:59 651 查看
今天EPP(Enterprise Product Protal)系统间客户端连线出现如题ORA-12516错误.

根据其需求,首先确认服务器端监听器和DB并没有问题后,即判断为客户端连接问题;其二,查找ORA-12516错误引起的原因,发现为Processes数量导致,Oacle的sessions和processes的关系是sessions=1.1*processes + 5.这样的话,增加Processes的数量即可解决.最后的解决方案见下文所示:

【注:sessions是个派生值,由processes的值决定,公式sessions=1.1*process + 5】

方法1:通过SQLPLUS修改

[root@EPPDB ~]# su - oracle
[oracle@EPPDB ~]$ sqlplus /nolog

SQL*Plus: Release 10.2.0.3.0 - Production on Thu May 27 09:06:28 2010

Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.

SQL> conn / as sysdba
Connected.
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> alter system set processes=600 scope=spfile;

System altered.

SQL>


方法2.修改Oracle配置文件

值得注意的是,修改SPFILEORCL.ORA文件中的processes的值,在Oralce的不同版本中在所区别。Oracle 8.1.5中是init.ora文件,在Oracle 9i及更高版本中修改init.ora文件是无效的,这个文件由于是一个二进制的文件,不能直接使用notepad此类的编辑器打开。

否则会报错误ORA-27101 Shared memory realm does not exist。使用UltraEdit或者EditPlus之类的可以编辑二进制文件的编辑器打开此文件(直接编辑二进制文件),然后在Windows服务中重新启动Oracle服务器即可。
方法3.通过Oracle Enterprise Manager Console在图形化管理器中修改
3.1 以系统管理员的身份登入
3.2 进入数据库的例程-配置-一般信息-所有初始化参数
3.3 修改processes的值
3.4 Sessions的值由公式sessions=1.1*process + 5派生得到
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐