ORA-12560: TNS: 协议适配器错误

来源:互联网 发布:php短信验证码生成 编辑:程序博客网 时间:2024/06/08 07:46

故障描述:

最近对客户数据库巡检,使用PL/DEVELOP连接报错:“ORA-12560: TNS: 协议适配器错误” ,这应用还能连上数据库吗?客户那边也没有反应,看来他们那边也不重视,不管怎样,遇到问题总得给处理。

环境:Windows Server 2008R2 SP1_X64+Oracle 11gr2 11.2.0.1.0_X64

 

问题分析:

根据反馈的错误信息,首先检查了监听和实例,但是发现都是正常的。于是根据错误信息查看官档,以下为解释:

ORA-12560:TNS:protocol adapter error

Cause:A generic protocol adapter error occurred.

Action:Check addresses used for proper protocol specification. Before reporting this error, look at the error stack and check for lower level transport errors. For further details, turn on tracing and reexecute the operation. Turn off tracing when the operation is complete

简单意思是说:检查地址用于适当的协议规范。报告这个错误之前,看看这个错误堆栈和检查低级别的传输错误。为进一步的细节,打开跟踪并且重新制作操作。关闭跟踪当操作完成。

看完以上说明也没得到什么建议性的解决方法。后来一个简单的操作发现了解决问题的一点思路,打开网页访问不了网站,网络连接都是正常的,为什么连接不了网络呢,打开“cmd”, 执行 “netstat -ano” 发现连接ORACLE 1521端口的连接特别多,于是猜想着是不是TCP 连接用完了,事实也确实如此。

 

解决办法:

扩大windows的TCP连接数

主要方法:TcpTimedWaitDelay和MaxUserPort设置

 TcpTimedWaitDelay 描述:确定 TCP/IP 可释放已关闭连接并重用其资源前,必须经过的时间。关闭和释放之间的此时间间隔通称 TIME_WAIT 状态或两倍最大段生命周期(2MSL)状态。此时间期间,重新打开到客户机和服务器的连接的成本少于建立新连接。减少此条目的值允许 TCP/IP 更快地释放已关闭的连接,为新连接提供更多资源。如果运行的应用程序需要快速释放和创建新连接,而且由于 TIME_WAIT 中存在很多连接,导致低吞吐量,则调整此参数。

TcpTimedWaitDelay如何查看或设置: 使用 regedit 命令访问 HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/ Services/TCPIP/Parameters 注册表子键并创建名为 TcpTimedWaitDelay 的新 REG_DWORD 值。 将此值设置为十进制 30,其为十六进制 0x0000001e。该值将等待时间设置为 30 秒。 停止并重新启动系统。 缺省值:0xF0,它将等待时间设置为 240 秒(4 分钟)。 建议值:最小值为 0x1E,它将等待时间设置为 30 秒。 MaxUserPort 描述:确定在应用程序从系统请求可用用户端口时,TCP/IP 可指定的最高端口号。

MaxUserPort如何查看或设置: 使用 regedit 命令访问 HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/ Services/TCPIP/Parameters 注册表子键并创建名为 MaxUserPort 的新 REG_DWORD 值。 停止并重新启动系统。 缺省值:无 建议值:至少十进制 32768。 注:当在 Windows NT 或 Windows 2000 操作系统上调整 WebSphere Application Server 时,同时使用这两个参数。 TcpNumConnections项:Tcpip/Parameters数值类型:REG_DWORD - 数字有效范围:0 - 00fffffe默认值:0x00fffffe

描述:此参数限制 TCP 能同时打开的最大连接数。

小结:

由于在安装Oracle时,没有对Windows系统的相应参数调整,才发生这样的错误(当然也有可能是应用出现问题,导致TCP连接过多),但是,以后在Windows下安装Oracle数据库还是要注意把TCP的端口数调大,以必免类似的情况发生。

================================================================================

版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任! 谢谢合作!

QQ: 164798858@qq.comSina: weibo.com/kaijunfengYahoo: fffygapl@yahoo.com.cn

原创粉丝点击