查询的脚本:

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. jquery实现的下拉和收缩代码实例

    <!DOCTYPE html>  <html>  <head>  <meta charset=" utf-8">  <meta ...

  2. CentOS 6.5 更新163源(转载)

    From:http://www.cnblogs.com/buffer/p/3426908.html 众所周知,Centos 有个很方便的软件安装工具  yum,但是默认安装完centos,系统里使用的 ...

  3. Eclipse Tomcat配置/管理/调试指南

    从myeclipse转到Eclipse最不方便的之一莫过于Web项目部署了,老是在想怎么不能把myeclipse的那个移植过来,或者有没有高人能按照Myeclipse开发一个,非常遗憾. 原版的Ecl ...

  4. 原始ajax发起请求并反馈

    在用户登陆的时候,离开用户.密码输入框即进行验证:ajax发起请求进行验证的: login.jsp代码: <%@ page language="java" contentTy ...

  5. sql工作问题总结

    1. sql排序:1. order by ……2. row_number() over(partition by …… order by ……) 使用说明:此函数适合做分组.排序,而不能在使用它分组的 ...

  6. 解决 aspx 页面 TextBox 不支持 type="number"

    安装 framework 4 并且打上补丁 Microsoft .NET Framework 4 可靠性更新 1 (KB2533523) https://www.microsoft.com/zh-cn ...

  7. 破解ckfinder2.3 去除版本号和标题提示

    1.找到ckfinder.js 2.找到这样的字符串 <h4 class='message_content'></h4> 3.改成这样 <h4 style='displa ...

  8. android小细节

    1.资源包图片尽量控制在50k以内,否则可能读取失败 2.资源图片建议使用png格式,此格式在android系统上支持最好.对于jpeg和gif格式的图片,在android4.0以后版本,通过系统自缩 ...

  9. struts2页面上如何操作字符串

    <s:if test="prodName.length()>15"><s:property value='prodName.substring(0,15)' ...

  10. 下载和使用 Open XML PowerTools

    安装 Open XML SDK 2.5 首先,需要安装 Open XML SDK 2.5 ,从这个地址下载安装程序:http://www.microsoft.com/en-in/download/de ...