目录:

  •   错误信息
  •   原因分析
  •   解决方法

  

1. 错误信息

  

[oracle@test1 admin]$ oerr ora
, , "TNS:no appropriate service handler found"
// *Cause: The listener could not find any available service handlers that
// are appropriate for the client connection.
// *Action: Run "lsnrctl services" to ensure that the instance(s) have
// registered with the listener, and are accepting connections.
[oracle@test1 admin]$ oerr ora
, , "TNS:listener could not find available handler with matching protocol stack"
// *Cause: None of the known and available service handlers for the given
// SERVICE_NAME support the client's protocol stack: transport, session,
// and presentation protocols.
// *Action: Check to make sure that the service handlers (e.g. dispatchers)
// for the given SERVICE_NAME are registered with the listener, are accepting
// connections, and that they are properly configured to support the desired
// protocols.

2. 原因分析

  这两个错误 ,都是在说,无法获取handler 。区别在于 12519 错误没有明确说明因为什么,而12516明确说明 是因为 protocal stack(网络协议)。

  其实最关键的都是一点:无法获取 handler. 而这个错误要分两个情况:一种是监听本身无法启动子进程进行分配连接,另一种情况是服务器不允许建立新的连接。

  

  •  关于监听本身无法分配连接的情况,大多是由于受硬件限制,监听程序本身的处理能力受限。
  •  服务器不允许建立新的连接,一般情况下,是由于连接数已经达到最大值 ,相关参数有sessions,processes.

3. 解决方法 

  1.  确认问题根源。

    如果连接数已经达到或者非常接近最大值时,我们应该果断调整sessions,processes参数,以适应日异增长的业务量,或者说暂时缓解业务连接问题,下一步抓紧分析连接数爆满的原因。

  

alter system set processes= scope=spfile;

  这里调整processes 参数即可,因为 sessiones 会随着processes 参数的变动而自动调整。当然手动指定也是可以的。

2. 增强监听的处理能力

  对于监听处理能力较弱的问题,暂时没有什么特别好的方法,只有一个方法: 单独分配一个监听 。只有配置静态监听才能实现这种作用:

  

LISTENER_ORCL =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = x.x.x.x)(PORT = ))
)
) SID_LIST_LISTENER_ORCL =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = ORCL)
(ORACLE_HOME = /u01/app/oracle/product/11.2./dbhome_1)
(SID_NAME = oracle)
)
)

  

ORA-12519 ORA-12516的更多相关文章

  1. listener.ora/sqlnet.ora/tnsnames.ora配置文件详解

    oracle网络配置 三个配置文件 listener.ora.sqlnet.ora.tnsnames.ora ,都是放在$ORACLE_HOME/network/admin目录下. 英文说明: The ...

  2. oracle的listener.ora sqlnet.ora tnsnames.ora三个文件的关联性

    学习:http://www.cnblogs.com/william-lee/archive/2010/10/20/1856261.html 之前因为安装的是windows server 2008 r2 ...

  3. ORACLE RAC 下非缺省端口监听配置(listener.ora tnsnames.ora)

    不论是单实例还是RAC,对于非缺省端口下(1521)的监听器,pmon进程不会将service/instance注册到监听器,即不会实现动态注册.与单实例相同,RAC非缺省端口的监听器也是通过设置参数 ...

  4. oracle的sqlnet.ora,tnsnames.ora,listener.ora三个配置文件

    总结: 1 .三个配置文件都是放在$ORACLE_HOME\network\admin目录下. 2 .sqlnet.ora确定解析方式 3 .listener.ora上设SID_NAME,通常用于JD ...

  5. oracle的sqlnet.ora , tnsnames.ora , Listener.ora 文件的作用(转)

    oracle网络配置三个配置文件 listener.ora.sqlnet.ora.tnsnames.ora ,都是放在$ORACLE_HOME/network/admin目录下.1. sqlnet.o ...

  6. oracle错误(ORA:12154 ORA:01034 和 ORA:27101 ORA-18008 ORA-01081)

    按照正常操作流程,启动项目,发现项目报错,原因是连接不上oracle数据库, PLSQL连接时报错,错误码  ORA:12154 无法解析指定的连接标识符 第一次,遇到这个错误,在网上找了资料都是需要 ...

  7. ORACLE RAC 监听配置 (listener.ora tnsnames.ora)

    Oracle RAC 监听器的配置与单实例稍有不同,但原理和实现方法基本上是相同的.在Oracle中 tns进程用于为指定网络地址上的一个或多个Oracle 实例提供服务注册,并响应来自客户端对该服务 ...

  8. Oracle的tnsnames.ora配置(PLSQL Developer)

    首先打开tnsnames.ora的存放目录,一般为D:\app\Administrator\product\11.2.0\client_1\network\admin,就看安装具体位置了. 步骤阅读 ...

  9. tnsnames.ora配置注意(连接新的数据库)

    文件地址D:\app\think\product\11.2.0\instantclient_11_2\network\admin\tnsnames.ora# tnsnames.ora Network ...

  10. tnsnames.ora 监听配置文件详解

    今天是重要的一天.将XML数据导入ORACLE遇到很多问题,学了好多,其中很长时间花在网络配置上,刚开始学,具体原因不知道,先把搜集到的好文章存下来,以后慢慢研究. 监听配置文件            ...

随机推荐

  1. 下面那些是无效的Java标识符?

    下面那些是无效的Java标识符?为什么? a.RESULT b.result c.12345 d.x12345y e.black&white f.answer_7 c和e是无效的,因为标识符不 ...

  2. MySql cmd下的学习笔记 —— 有关修饰器的知识(trigger)

    关于触发器的理解: 进行数据库应用软件的开发时,有时我们碰到表的某些数据的改变时,希望同时 引起其他相关数据改变的需求,利用触发器就能满足这样的需求. 触发器能在表中的某些特定数据变化时自动完成某些查 ...

  3. delete 和 delete []的区别

    (1). 针对简单类型 使用new分配后的不管是数组还是非数组形式内存空间用两种方式均可 如:   int *a = new int[10];   delete a;   delete [] a;   ...

  4. 【Math for ML】线性代数-单射,满射,双射,同构,同态,仿射

    I. 映射(Mapping) 1. 单射(Injective) 函数f 是单射当且仅当若f(x) = f(y) 则 x = y. 例子: f(x) = x+5 从实数集\(R\)到\(R\)是个单射函 ...

  5. qtcreator 快捷键常用

    F1        查看帮助F2        跳转到函数定义(和Ctrl+鼠标左键一样的效果)Shift+F2    声明和定义之间切换F4        头文件和源文件之间切换Ctrl+1     ...

  6. Effective C++ 笔记

    无参构造函数如何暴躁的构造. 先来看看标准的raw_memory : *sizeof(int)); // create int raw memory int *intVars = static_cas ...

  7. AD7729_双通道Sigma-Delta ADC

    sigma-delta adc的原理,就是通过一种结构把量化噪声调制到频谱的高端,也即对量化噪声而言,sdm是一个高通滤波器,而对基带信号则等价为一个全通滤波器,这样等价的基带信号的量化噪声就很小了, ...

  8. windows网络相关的命令

    一.netstat命令 显示协议统计信息和当前 TCP/IP 网络连接. NETSTAT [-a] [-b] [-e] [-f] [-n] [-o] [-p proto] [-r] [-s] [-x] ...

  9. (一)七种AOP实现方法

    在这里列表了我想到的在你的应用程序中加入AOP支持的所有方法.这里最主要的焦点是拦截,因为一旦有了拦截其它的事情都是细节. Approach 方法 Advantages 优点 Disadvantage ...

  10. SQL Server代码段

    1.cast和convert ' as int) -- 123 ') -- 123 select CAST(123.4 as int) -- 123 select CONVERT(int, 123.4 ...