`

ora-12516监听程序找不到符合协议堆栈要求的可用处理程

 
阅读更多
oracle服务器上某个数据库出现' ORA-12516: TNS: 监听程序找不到符合协议堆栈要求的可用处理程'错误,要解决该问题首先查看一下数据库现有的进程数,是否已经达到参数processes的大小。
   a.select count(*) from v$process;                         取得数据库目前的进程数。
   b.select value from v$parameter where name = 'processes'; 取得进程数的上限。
1、查看当前会话数、processes和sessions值,发现session数和2个参数的值已经非常接近
SQL*Plus: Release 11.1.0.6.0 - Production on 星期一 9月 21 9:50:21 2009 Copyright (c) 1982, 2007, Oracle.  All rights reserved.
SQL> conn / as sysdba
已连接。SQL> select count(*) from v$session;
COUNT(*)----------    
  45
SQL> show parameter processes
NAME                                 TYPE        VALUE
db_writer_processes                  integer     1
gcs_server_processes                 integer     0
job_queue_processes                  integer     10
log_archive_max_processes            integer     2
processes                            integer     50
SQL> show parameter sessions
NAME                                 TYPE        VALUE
java_soft_sessionspace_limit         integer     0l
icense_max_sessions                 integer     0
license_sessions_warning             integer     0
logmnr_max_persistent_sessions       integer     1
sessions                             integer     60
shared_server_sessions               integer


2、修改processes和sessions值
SQL> alter system set processes=300 scope=spfile;
系统已更改。
SQL> alter system set sessions=335 scope=spfile;
系统已更改。
3、查看processes和sessions参数,但更改并未生效

SQL> show parameter processes
NAME                                 TYPE        VALUE
db_writer_processes                  integer     1
gcs_server_processes                 integer     0
job_queue_processes                  integer     10
log_archive_max_processes            integer     2
processes                            integer     50
SQL> show parameter sessions
NAME                                 TYPE        VALUE
license_max_sessions                 integer     0
license_sessions_warning             integer     0
logmnr_max_persistent_sessions       integer     1
sessions                             integer     60
shared_server_sessions               integer
4、重启数据库,使更改生效

SQL> shutdown
SQL> startup
SQL> show parameter processes
NAME                                 TYPE        VALUE
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> show parameter sessions
NAME                                 TYPE        VALUE
java_soft_sessionspace_limit         integer     0
license_max_sessions                 integer     0
license_sessions_warning             integer     0
logmnr_max_persistent_sessions       integer     1
sessions                             integer     335
shared_server_sessions               integer


以上经过测试可以解决该问题,但是简单说句,一般情况下,一个系统稳定了后,不会出现这种情况,一般出现processes不够用的时候是因为正常生产过程的高峰期,突然出现意外,导致数据库挂掉,而且不是正常的关闭,导致再次启动的时候连接没有完全释放。所以这个时候启动的时候就会报这个错误,意思就是说不能再建立新的连接了,连接不够用了。不知道我说的对不对?反正我是这么理解的,碰到的几次异常,也基本是这种情况下产生的。这两个参数调整的大一点对系统没有什么大的影响,可以调大点,除非真的是系统内存不够你的平台用的,估计你调大了会数据库会爆,没遇到过,哈哈。
  可以再研究了。不过模拟不出大量的数据库连接。。。这个问题以后再说。
分享到:
评论

相关推荐

    ORA-12516 TNS 监听程序无法找到匹配协议栈的可用句柄

    "ORA-12516 TNS 监听程序无法找到匹配协议栈的可用句柄" oracle 数据库是当前最流行的关系型数据库管理系统之一,然而,在使用 oracle 数据库时,经常会遇到各种错误信息,ORA-12516 错误信息便是其中之一。ORA-...

    Oracle报错ORA-12516

    在Oracle数据库环境中遇到ORA-12516错误时,通常意味着监听器无法找到与请求协议栈匹配的可用处理器(handler)。此错误常见于多协议环境,即客户端与服务器端之间通过多种网络协议进行通信的情况下。 #### 错误...

    Oracle12cRAC数据库 出现ora-12520, ora-12516

    ### Oracle12cRAC数据库出现ora-12520, ora-12516问题解析 #### 一、问题概述 在使用Oracle12cRAC(Real Application Clusters)数据库的过程中,可能会遇到客户端连接时出现ora-12520或ora-12516错误的问题。这两...

    ORA-12518 TNS:监听程序无法分发客户机连接

    ORA-12518 TNS:监听程序无法分发客户机连接,在您安装好数据库后配置连接数据库的过程中遇到这类问题应该很头疼吧,不过,当您还是四处查资料来解决您遇到的另你头疼的问题时,如果不经意间看到了这则贴子,那请您升...

    ORA-12514TNS监听程序当前无法识别连接描述符中请求服务的解决方法[借鉴].pdf

    ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务的解决方法 Oracle 是一款功能强大且广泛应用的关系数据库管理系统,它提供了强大的数据存储和管理功能。但是,在使用 Oracle 时,用户经常会遇到各种错误...

    Oracle_ORA-12518故障_处理

    ### Oracle ORA-12518 故障处理 #### 概述 在Oracle数据库管理过程中,遇到ORA-12518错误是较为常见的问题之一。此错误通常发生在客户端试图连接到数据库服务器的过程中,当监听器无法将客户端连接顺利地移交给...

    ORA-04052p5731178_92080_WINNT.zip

    ORA-00604: 递归SQL层1出现错误 ORA-03106: 致命的双工通信协议错误 ORA-02063: 紧接着line(源于dblink) 以及 ORA-04052: 在查找远程对象时出错 ORA-00604: 递归SQL层1出现错误 ORA-03120: 双工转换例行程序:整数...

    Oracle 11gr2连Oracle 19c 报ORA-28040 ORA-01017解决方法.pdf

    Oracle数据库不同版本间的客户端与服务端的连接问题通常涉及到安全和兼容性配置,这篇文章主要讲述了在Oracle 11g R2客户端尝试连接Oracle 19c服务端时,遇到了两个特定的错误:ORA-28040和ORA-01017,以及如何解决...

    ORACLE ORA-00132 ORA-00214

    ### Oracle 错误 ORA-00132 和 ORA-00214 解析及处理 #### 一、错误概述 在Oracle数据库管理过程中,遇到ORA-00132和ORA-00214这类错误时,往往意味着数据库配置或启动过程中出现了问题。下面将对这两个错误进行...

    oracle报错ora-12541:TNS无监听程序

    oracle报错ora-12541:TNS无监听程序

    kettle连接oracle12C--报错ORA-28040 没有匹配的验证协议.rar

    当尝试使用Kettle连接Oracle 12c时,可能会遇到错误"ORA-28040:没有匹配的验证协议"。这个错误通常意味着客户端和服务器之间的安全认证不兼容。 **ORA-28040错误的解释:** 此错误通常出现在Oracle数据库服务器...

    ORA-12560 TNS 协议适配器错误

    ### ORA-12560 TNS 协议适配器错误详解 #### 一、概述 在Oracle数据库管理过程中,经常会遇到各种各样的错误提示,其中“ORA-12560 TNS: 协议适配器错误”是较为常见的一种。这种错误通常发生在客户端尝试连接到...

    使用工具IMPDP导入数据时ORA-39002、ORA-39070错误排查

    在使用Oracle Data Pump工具IMPDP(Import Data Pump)进行数据导入的过程中,可能会遇到ORA-39002和ORA-39070等错误。本文将针对这些错误的排查方法进行详细介绍,帮助用户理解问题的原因及解决策略。 ### 错误...

    ora-00604错误解决方法

    ora-00604 错误 解决 方法 ora-00604 错误 解决 方法 ora-00604 错误 解决 方法 ora-00604 错误 解决 方法 ora-00604 错误 解决 方法ora-00604 错误 解决 方法

    Oracle数据库发生ORA-04031错误原因浅析及处理.pdf

    Oracle数据库发生ORA-04031错误原因浅析及处理 Oracle数据库是甲骨文公司提供的一种分布式数据库管理系统,以分布式数据库为核心的软件产品。它具有完整的数据管理功能,作为一个关系数据库,它是一个非常实用的...

    ora-12514:TNS:监听程序当前无法识别连接描述符中请求的服务

    ora-12514:TNS:监听程序当前无法识别连接描述符中请求的服务bug,解决文档.

    安装/升级Oracle遇到ORA-12514问题

    ORA-12514:监听程序当前无法识别链接描述符中请求的服务,简单的来说就是Oracle数据库的监听器配置有问题。 解决方案 打开cmd命令,输入tnsping orcl ,正常情况下是这样显示的: 下面会显示监听器配置文件的路径及...

    oracle网络配置(listener_ora-sqlnet_ora-tnsnames_ora).mht

    oracle网络配置(listener_ora-sqlnet_ora-tnsnames_ora).mht

Global site tag (gtag.js) - Google Analytics