oracle mts 配置的情况下 ,ora-12518 解决

最近遇到该问题 , 通过这个这个方法解决的, 特此记录一下

alter system set dispatchers =' (protocol=tcp)(dispatchers=40) (connections=500)' ;

local_listener 为空

下面是摘自 http://www.dba-oracle.com 


Note:  Starting in 11gR2, the listener log is not activated by default.  You have to turn on listener logging:   logging_listener_name=on

Oracle docs note this about ORA-12518:

ORA-12518: TNS:listener could not hand off client connection
 
Cause: The process of handing off a client connection to another process failed.

Action: Turn on listener tracing and re-execute the operation. Verify that the listener and database instance are properly configured for direct handoff. If problem persists, call Oracle Support.

ORA-12518 has been known to occur in Oracle Net Services version 9.2.0.5-10.2.0.1 in which attempting new connections on the database throw either ORA-12518 or TNS-12518.  ORA-12518 appears in the listener log upon new user connection.  Here is an example in an Oracle MOSC note of ORA-12518:

TNS-12518: TNS:listener could not hand off client connection 
TNS-12547: TNS:lost contact 
TNS-12560: TNS:protocol adapter error 
TNS-00517: Lost contact 
IBM/AIX RISC System/6000 Error: 32: Broken pipe

This example of ORA-12518 happens on and off.

The reason ORA-12518 is being throw may be because of DEDICATEDconnections because Oracle 10g has a value of PROCESSES is defaulted at 150 which can be lower than necessary in a production system. Also, in pre-9i MTS, ORA-12518 may be thrown in SHARED SERVER because the dispatcher may have reached the maximum connection value, so it denies all other.  

There are two solutions for ORA-12518 depending on which symptom you may be experiencing.  For the DEDICATED occurrence of ORA-12518, you would need to try increasing the PROCESSES parameter so that it can handle the needed number of processes.  You can ensure that you have the needed value by monitoring the listener log for ORA-12518.  Also, note that because thePROCESSES parameter is static, the database will need to be bounced. 

If you are experiencing ORA-12518 because of a shared server issue, you first would need to use the command below to shutdown the dispatcher:

SQL> alter system shutdown immediate 'D001';

Then, add on new dispatchers:

SQL> alter system set DISPATCHERS = '(protocol=tcp)(dispatchers=3)';

Remember that MOSC offers these syntaxes as examples, but resolving ORA-12518 requires you to evaluate the syntax depending on your dispatcher value in the Spfile.ora or init.ora files.  As you increase DISPATCERS to resolve ORA-12518 you should also keep an eye on the shared server ratio.

Question:

With Oracle 10g using a Windows platform, how do I resolve ORA-12518?

Answer:

ORA-12518 is often due to network issues, and in HP-UX, there are various bugs causing ORA-12518.

In reference to your platform, there are a few resolutions that may be available for ORA-12518:

  • Try looking in the EventLog to check out network connections and associated errors, as well as the alert log in the database.  ORA-12518 can also be thrown along with a database crash.
  • Look in the windows service for your Oracle service status
    • start--->run--->services.msc
  • The server may be in need of a swap memory to disk as it runs out of memory space.  Sometimes, Oracle processes can take up alot of memory.  If you think this is causing ORA-12518 in your case, you can try this workaround:
    • set parameter to DIRECT_HANDOFF_TTC_LISTENER=OFF in listener.ora
    • restart listener
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值