ORA-12518: TNS:listener could not hand off client connection .

http://blog.csdn.net/dingxy/article/details/7602119/


.ORA-12518: TNS:listener could not hand off client connection 转自http://blog.sina.com.cn/s/blog_5904ea280100g614.html






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.


先试试 connect / as sysdba,看行不行,如果行的话,
再试试connect / @ as sysdba看看监听配置是否有问题。
如果这一步有问题,说明监听这块有问题。


1.cmd
2.sqlpls /nolog
3.connect sys/test as sysdba
没有问题
1.cmd
2.sqlplus /nolog
3.connect sys/test@test as sysdba
ORA-12518: TNS:listener could not hand off client connection
说明监听有问题


查到了相关资料如下:
http://www.dba-oracle.com/sf_ora_12518_tns_listener_could_not_hand_off_client_connection.htm


The reason ORA-12518 is being throw may be because of DEDICATED connections 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.
a.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 the PROCESSES parameter is static, the database will need to be bounced.
b.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)';


通过以上资料分析得出可能出现问题的原因有两种:一是processes值设的过小,二是需要增加参数DISPATCHERS。


考虑到之前经常遇到ora-00020超出最大进程数的问题在安装数据库的时候已经把processes设到800了,为保险起见再show parameter processes


SQL> show parameter process;


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     1000


再查进程数


SQL> select count(*) from v$session;


  COUNT(*)
----------
       224


所以最后得出结论应该不是processes的问题,应该用b方法来解决
1.connect sys/test as sysdba
2.show parameters dispatchers;
NAME                TYPE             VALUE
dispatchers         string           (protocol=tcp)(service=oracle10xdb)
max_dispatchers      integer  
5.SQL>alter system set dispatchers = '(protocol=tcp)(dispatchers=3)(service=oracle10xdb)';
system altered
问题解决。
当然根据实际情况你也可以用a方法解决,


可以用show parameters processes;


命令查看processes的值,数据库在安装时默认为150,对于大型应用,32位的oracle一定要注意这个问题








对ORACLE 的优化点如下:
   1。在ORACLE数据库监听器LISENER.ORA配置文件中加入:
       DIRECT_HANDOFF_TTC_LISTENER = OFF命令 回收关闭掉长久不用连接


2.设置DISPATCHERS =3


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


   show parameters dispatchers;




3.设置processes=400,安装ORACLE时默认为150, 对于大型应用,32位的oracle一定要注意这个问题


alter system set processes=400;


show parameters processes;


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: "ORA-12541:TNS:no listener"是Oracle数据库登录时的错误提示,表示无法连接到数据库监听器。这个问题可能是由于监听器未启动或配置错误导致的。要解决这个问题,可以按照以下步骤进行操作: 1. 确保Oracle数据库服务已经启动。可以通过在命令行中输入"lsnrctl status"来检查监听器的状态。如果监听器未启动,可以使用"lsnrctl start"命令来启动监听器。 2. 检查listener.oratnsnames.ora文件的配置。这两个文件位于Oracle安装目录下的NETWORK/ADMIN文件夹中。确保其中的配置信息正确无误,特别是服务名(service name)的配置。 3. 如果以上步骤都没有解决问题,可以尝试重新配置Oracle的Net Configuration Assistant。可以通过运行"netca"命令来打开Net Configuration Assistant,并按照向导的指示进行配置。 如果问题仍然存在,可能需要进一步检查网络连接和防火墙设置,以确保数据库服务器和客户端之间的通信正常。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* [ORA12541: TNS:no listener解决办法](https://blog.csdn.net/weixin_50755128/article/details/123263845)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [ORA-12541:TNS:no listener](https://blog.csdn.net/weixin_43319713/article/details/103833343)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值