查询的脚本:

select count(*) from v$process; --取得数据库目前的进程数。

select value from v$parameter where name = 'processes';     --取得进程数的上限。

-- 修改的脚本, 须用 system 用户或是 sys 用户进行修改

alter system set processes=1000 scope=spfile;

alter system set sessions=1100 scope=spfile;

我是用这一段来解决的

SQL> connect sys/test as sysdba

Was connected to an idle instance.

SQL> show parameters dispatchers;

ORA-01034: ORACLE not available

SQL> connect SYS/SYSADMIN as sysdba

Was connected to an idle instance.

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

SQL> show parameter processes

SQL> alter system set processes=1000 scope=spfile;

SQL> alter system set sessions=1100 scope=spfile;

SQL> select  name, (busy/(busy + idle)) "dispatcher busy rate" from v$dispatcher ; 

  重新登录就可以了
环境:windows XP +Oracle 10g R2

一、listener文件中的GLOBAL_DBNAME ,SID_NAME可能与实例名称不符,修改后,重启listener.

二、专有服务器模式下processes值设的过小。

  可通过以下方法解决:

.cmd

.sqlplus

.connect sys/test as sysdba

.查看会话数、processes、sessions 

  

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

         COUNT(*)

        ----------

  

SQL> show parameter processes

    NAME                                 TYPE        VALUE

    db_writer_processes                  integer     

    gcs_server_processes                 integer     

    job_queue_processes                  integer     

    log_archive_max_processes            integer     

    processes                            integer     

SQL> show parameter sessions

    NAME                                 TYPE        VALUE

    java_soft_sessionspace_limit         integer     0l

    icense_max_sessions                 integer     

    license_sessions_warning             integer     

    logmnr_max_persistent_sessions       integer     

    sessions                             integer     

    shared_server_sessions               integer 

  .修改processes和sessions值:sessions=(1.1*process+)

  SQL> alter system set processes= scope=spfile;

 系统已更改。

SQL> alter system set sessions= scope=spfile;

   系统已更改。 

  .重启数据库,使更改生效

  (不过我没有重启)

三、共享模式下

.show parameters dispatchers;

show parameters dispatchers;

NAME TYPE VALUE

dispatchers string (protocol=tcp)(service=oracle10xdb)

max_dispatchers integer 

.确定是否有足够的dispatchers

SQL> select name, (busy/(busy + idle)) "dispatcher busy rate" from v$dispatcher ; 

NAME dispatcher busy rate

---- --------------------

D000 .

D001 .

D002 . 

如果超过50%,则需要考虑增加更多的dispatchers; 

.改变dispathchers:

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

system altered 

四、PGA内存设置太小

注:该方法没试过。

------------------------------------------------------------------------------------------------------------------------------------------------

按照如上我的解决方案:

cmd调出命令行窗口 

Microsoft Windows XP [Version 5.1.]
(C) Copyright - Microsoft Corp. C:\Documents and Settings\Administrator>sqlplus /nolog SQL*Plus: Release 10.2.0.1. - Production on 月 2月 :: Copyright (c) , , Oracle. All rights reserved. SQL> connect sys/test as sysdba Was connected to an idle instance. SQL> show parameters dispatchers; ORA-: ORACLE not available SQL> connect SYS/SYSADMIN as sysdba Was connected to an idle instance. SQL> select count(*) from v$session; SQL> show parameter processes SQL> alter system set processes= scope=spfile; SQL> alter system set sessions= scope=spfile; SQL> select name, (busy/(busy + idle)) "dispatcher busy rate" from v$dispatcher ;   重新登录就可以了

ORA-12518 TNS:监听程序无法分发客户机连接 解决办法的更多相关文章

  1. ORA-12518: TNS: 监听程序无法分发客户机连接

    在团队成员增多时,经常出现“无法分发客户端连接”等问题.在网上搜索一番后,最终解决了该问题,现将解决方案总结如下,以供参考和以后备用. 原因:团队成员增多,原有数据库设置不够用,导致连接plsql和启 ...

  2. oracle:TNS:监听程序无法分发客户机连接

    挂上vpn的时候,PL/SQL连接到oracle的时候,显示ORA-12518:监听程序无法分发客户机连接.如下图: 一.[问题描述] 最近,在系统高峰期的时候,会提示如上的错误,致使无法连接到服务器 ...

  3. ora 12518监听程序无法分发客户机连接

    首先修改ORACLE的PROCESS.SESSION数量 查看当前ORALCE PROCESS数量 SQL> show parameter process 查看当前ORALCE SESSION数 ...

  4. Oracel数据库连接时出现:ORA-12518:监听程序无法分发客户机连

    在连接Oracel数据库时,每隔一段时间就会出现:ORA-12518:监听程序无法分发客户机连接,如图 上网查了资料原因和解决方案如下: 一.[问题描述] 最近,在系统高峰期的时候,会提示如上的错误, ...

  5. Oracle监听程序没法启动的一种解决办法

    遇到的是监听日志多了 oracle\diag\tnslsnr\WIN-MLPKEV0JE05\listener\trace 删除 日志关闭 lsnrctl  set log_status off;

  6. (转)ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法

    早上同事用PL/SQL连接虚拟机中的Oracle数据库,发现又报了"ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务"错误,帮其解决后,发现很多人遇到过这样的问 ...

  7. ORA-12523: TNS: 监听程序无法找到适用于客户机连接的例程

    今天使用PL/SQL Developer连接到一台新的测试服务器时,遇到ORA错误:ORA-12523: TNS: 监听程序无法找到适用于客户机连接的例程.对应的监听日志文件里面错误为TNS-1252 ...

  8. 关于Oracle报“ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务”错误

    关于Oracle报“ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务”错误原因:listener.ora中没有指定监听服务器名. 如下是解决思路: 尝试1.通过重启服务的方式启动数 ...

  9. Oracle几个基础配置问题:ORA-12154: TNS: 无法解析指定的连接标识符、ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务、ORA-12516 TNS监听程序找不到符合协议堆栈要求的可用处理程序

    问题1:ORA-12154: TNS: 无法解析指定的连接标识符 在一台服务器上部署了Oracle客户端,使用IP/SID的方式访问,老是报ORA-12154错误,而使用tnsnames访问却没有问题 ...

随机推荐

  1. Hibernae 的延迟加载

    http://blog.csdn.net/xc635960736/article/details/7049863 Hibernae 的延迟加载   Hibernae 的延迟加载是一个非常常用的技术,实 ...

  2. Python语言快速入门

    Python的主提示符(>>>):是解释器告诉你它正在等待你输入的下一个语句 Python的次提示符(...):告诉你解释器正在等待你输入当前语句的其他部分 [简介] Python( ...

  3. df、du、fdisk:Linux磁盘管理三板斧的使用心得(转载)

    From:http://os.51cto.com/art/201012/240726_all.htm 作者介绍:李洋(博客),博士毕业于中科院计算所.10多年来一直从事计算机网络信息安全研发工作,曾主 ...

  4. mongodb csv 文件导入数据库,删除特定字段

    1. 导入数据库 mongoimport -h host_ip -p port -d db_name -c collection_name --fields name1,name2,name3,nam ...

  5. sed 使用 删除匹配行

    “p” command prints the buffer (remember to use -n option with “p”) “d” command is just opposite, its ...

  6. mac下Android开发环境搭建

    之前一段时间在学习ios的开发,近一段时间想着也接触下Android开发,以来加深对移动端开发的理解.这里根据自己配置Android开发环境的过程,比较详细的来总结下自己的安装过程,希望对一些正准备配 ...

  7. HtmlparseUtil.java

    该类并不是一个通用的工具类,需要按自己的要求实现,这里只记录了Htmlparse.jar包的一些用法.仅此而已! 详细看这里:http://gundumw100.iteye.com/blog/7043 ...

  8. C++学习38 string字符串的增删改查

    C++ 提供的 string 类包含了若干实用的成员函数,大大方便了字符串的增加.删除.更改.查询等操作. 插入字符串 insert() 函数可以在 string 字符串中指定的位置插入另一个字符串, ...

  9. C++学习33 函数模板

    在<C++函数重载>一节中,为了求三个数的最大值,我们通过函数重载定义了三个名字相同.参数列表不同的函数,如下所示: //求三个整数的最大值 int max(int a, int b, i ...

  10. C语言中的atan和atan2(转)

    在C语言的math.h或C++中的cmath中有两个求反正切的函数atan(double x)与atan2(double y,double x)  他们返回的值是弧度 要转化为角度再自己处理下. 前者 ...