ORA-12518: TNS:listener could not hand off client connection 先试试 connect / as sysdba,看行不行,如果行的话, 1.cmd 查到了相关资料如下: 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. 通过以上资料分析得出可能出现问题的原因有两种:一是processes值设的过小,二是需要增加参数DISPATCHERS。 考虑到之前经常遇到ora-00020超出最大进程数的问题在安装数据库的时候已经把processes设到800了,为保险起见再show parameter processes SQL> show parameter process; NAME TYPE VALUE 再查进程数 SQL> select count(*) from v$session; COUNT(*) 所以最后得出结论应该不是processes的问题,应该用b方法来解决 可以用show parameters processes; 命令查看processes的值,数据库在安装时默认为150,对于大型应用,32位的oracle一定要注意这个问题 |
SQL> show parameter processes;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes integer 1
db_writer_processes integer 1
job_queue_processes integer 10
log_archive_max_processes integer 1
processes integer 150
SQL> alter system set processes=300 scope = spfile;
系统已更改。
SQL> show parameter processes;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes integer 1
db_writer_processes integer 1
job_queue_processes integer 10
log_archive_max_processes integer 1
processes integer 150
SQL> create pfile from spfile;
文件已创建。
重启数据库,
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes integer 1
db_writer_processes integer 1
job_queue_processes integer 10
log_archive_max_processes integer 1
processes integer 300
<script type="text/javascript"></script>