查询的脚本:

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. NeHe OpenGL教程 第二十课:蒙板

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  2. Java NIO使用及原理分析 (一)

    http://blog.csdn.net/wuxianglong/article/details/6604817

  3. unity jiaoben

    transform.Translate(Input.GetAxis("Horizontal")*Time.deltaTime,0,0); 移动 transform.Translat ...

  4. JAVA 静态代码块

    特点:随着类的加载而执行,并且只会执行一次,并且还优先于主函数.作用,用于给类进行初始化 /* 静态代码块 格式: static{ 静态代码块中的执行语句 } 特点:随着类的加载而执行,并且只会执行一 ...

  5. [ActionScript 3.0] AS3 判断字符串是否为数字

    trace(isNaN(Number("0")));//false trace(isNaN(Number("123")));//false trace(isNa ...

  6. topngroupcollector

    分类的字段int f1 /* key: f1 * value: doc * size: top n */ map<int, doc>() if(map.size==n) buildOrde ...

  7. memcpy、memmove、memset

    void * memcpy(void * dst, const void * src, size_t count) { void *res=dst; while (count--) { *(char* ...

  8. A - Red and Black(3.2.1)(小递归)

    Description There is a rectangular room, covered with square tiles. Each tile is colored either red ...

  9. Mongdb操作嵌套文档

    1.一个文档如下 db.posts.find() { "_id" : ObjectId("5388162dfc164ee1f39be37f"), "t ...

  10. 通过srvctl add命令添加database信息到srvctl管理器-转

    这是我在实际中遇到的一个问题,rac+dg架构将备库切为主库,srvctl管理器中没有database信息. 对于dbca创建的数据库,srvctl中包含了数据库和实例的信息.但是对于备份恢复的RAC ...