`
小杨学JAVA
  • 浏览: 900467 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

OERR: ORA-12519 TNS:no appropriate service handler found

 
阅读更多

以下为转载

OERR: ORA-12519 TNS:no appropriate service handler found

客户端连接间歇性失败,报错ORA-12519


Cause: the listener could not find any available service handlers that are 
       appropriate for the client connection.

Action: run "lsnrctl services" to ensure that the instance(s) have registered 
        with the listener, and are accepting connections. 检查lsnrctl service ,instance已经注册,
状态显示ready时,可以连接。

When the listener believes the current number of connections has reached maximum load, 
it may set the state of the service handler for an instance to "blocked" and begin refusing 
incoming client connections with either of the following errors: ora-12519 or ora-12516

采用服务动态注册的方式,由PMON 通过SERVICE_UPDATE 来得到目前连接情况,但SERVICE_UPDATE 有时间间隔,
所以,listener显示的连接数和当前实际的连接数可能不同。


查询解决方法:

查看一下数据库现有的进程数,是否已经达到参数processes的大小。

1.select count(*) from v$process;                         取得数据库目前的进程数。
2.select value from v$parameter where name = 'processes'; 取得进程数的上限。
3.如已达到上限,修改initSID.ora中的processes的大小。
4.重新启动数据库到nomount状态下,执行create spfile from pfile; 并startup open。


查询数据库自启动以来最大的并发数量

select * from v$license

------ end -------


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wyzxg/archive/2008/03/06/2154274.aspx

 

ORA-12519: TNS:no appropriate service handler found 的解决

有时候连得上数据库,有时候又连不上.

可能是数据库上当前的连接数目已经超过了它能够处理的最大值.

SQL> select count(*from v$process;--当前连接数
     COUNT(*)
     63
SQL> select value from v$parameter where name = 'processes' --数据库允许的最大连接数
VALUE
500

修改最大连接数:
SQL> alter system set processes = 2000 scope = spfile;

重启数据库:
SQL> shutdown immediate;
SQL> startup;

--查看当前有哪些用户正在使用数据
SELECT osuser, a.username,cpu_time/executions/1000000||'s', sql_fulltext,machine 
from v$session a, v$sqlarea b
where a.sql_address =b.address order by cpu_time/executions desc;

--快速删除不活动进程
set heading off
spool on
select p.SPID from v$session s,v$process p where s.paddr= p.addr and s.machine='woogle';
spool off
set serveroutput on ;
declare
v_sid number;
v_serial number;
v_sql varchar2(200) ;
CURSOR cur_session is
   select sid, serial# from v$session where machine='woogle';
begin
open cur_session ;
fetch cur_session into v_sid , v_serial ;
while cur_session%found
loop
dbms_output.put_line(v_sid||' killed!') ;
v_sql:= 'alter system kill session '||''''||v_sid||','||v_serial||'''';
execute immediate v_sql ;
fetch cur_session into v_sid , v_serial ;
end loop ;
close cur_session ;
end ;
/

Linux 下快速删除不活动进程
#!/bin/bash

tmpfile=/tmp/tmp.$$

sqlplus ' / as sysdba' << EOF

set heading off
spool on
spool $tmpfile
select p.SPID from v$session s,v$process p where s.paddr= p.addr and s.STATUS='SNIPED';
spool off
set serveroutput on ;
declare
v_sid number;
v_serial number;
v_sql varchar2(200) ;
CURSOR cur_session is
   select sid, serial# from v$session where STATUS='SNIPED';
begin
open cur_session ;
fetch cur_session into v_sid , v_serial ;
while cur_session%found
loop
dbms_output.put_line(v_sid||' killed!') ;
v_sql:= 'alter system kill session '||''''||v_sid||','||v_serial||'''';
execute immediate v_sql ;
fetch cur_session into v_sid , v_serial ;
end loop ;
close cur_session ;
end ;
/

分享到:
评论

相关推荐

    Oracle数据泵(Data Dump)使用过程当中经常会遇到一些奇奇怪怪的错误案例

    Oracle数据泵,也称为Data Pump,是Oracle数据库中用于高效数据迁移的重要工具。它通过高速导出和导入数据,提供了一...遇到问题时,及时查阅官方文档、错误代码解释工具(如oerr)和社区资源,通常都能找到解决方案。

    Linux与Oracle运维必须要掌握的基础操作

    - **`oerr`命令**:解析Oracle错误消息。 - **Oracle在线文档**:官方提供的详尽文档资源。 - **SQL*Plus**: - `describe`:描述表结构。 - `set heading off`:取消列头显示。 - `spool`:将查询结果保存到文件...

    ORA error record.sql

    关于日常ORA报错问题收纳 查看单个ora错误描述: oerr ora 3110 查看全部ora错误描述: HH:/oracle$&gt;oerr ora [0-9]* &gt;&gt;aa.txtHH:/oracle$&gt;grep 00000 aa.txt &gt;&gt;b.txtHH:/oracle$&gt;rm aa.txtHH:/oracle$&gt;vi b

    Windows下的oerr安装及使用

    打开命令提示符,输入`oerr`命令后跟错误代码,例如`oerr ora 00911`,它会返回对应错误代码的详细解释。错误代码通常在Oracle错误日志或事件查看器中找到。 5. **错误代码解析**: oerr工具会显示错误代码的完整...

    oracle初学者使用手册

    oerror a942`: 查看错误的具体信息,适用于安装了`oerr`工具的情况。 - `!` 或 `host`: 在SQL中执行UNIX命令或切换到UNIX环境。 ##### 1.2 脚本执行与SQL命令 - **运行脚本命令:** - `@demobld.sql` 或 `...

    大数据开发oracle试题

    TNS_ADMIN**:可选,用于指定TNS配置文件的位置。 - **C. ORACLE_SID**:可选,用于指定实例的名称。 - **D. NLS_LANG**:可选,用于指定语言环境。 - **E. PATH**:必须设置,用于包含Oracle可执行文件的路径。 *...

    嵌入式开发数据库PROC*C

    命令格式为`oerr ora err_num`。 - **symfind**: 用于查找符号名相关的库文件。命令格式为`symfind symname`。 #### PROC*C预编译设置 以下是PROC*C预编译的一些常见设置及其含义: | 配置项 | 缺省值 | 可选值 |...

    DBA技能之:ORACLE DB闪回

    $oerr ORA19802 ``` 按照提示信息进行相应的调整即可。 #### 四、执行闪回数据库 一旦配置好所有的前提条件,就可以执行闪回数据库的操作了。可以通过以下命令将数据库恢复到特定的时间点: ```sql SQL&gt; ...

    VFP获得Http内容、判断能否上网的函数

    - 如果发生错误,则将错误信息存储在变量`oErr`中。 6. **返回结果**: - 返回获取到的HTTP内容。 - `Return cZfc`:返回获取到的HTTP内容。 ### 判断网络连接是否可用的函数:Ini_CheckInternetConnection ##...

    oracle学习笔记--言简意赅

    oerrora942`命令查询具体的错误信息(需要安装`oerr`工具)。 - **执行Unix命令**: 在SQLPLUS中执行Unix命令可以在所有命令前加上`!`符号,或使用`host`命令暂时退出到Unix环境。 #### 2. SQL 语句结构 - **SQL...

    Oracle错误查看实用工具oerr Windows改编

    Oracle在Unix及类Unix中提供了oerr使用程序,可根据错误编号查询错误的描述, 并指出发生错误的可能原因和解决办法,Windows的发布版本中却没有这部分内容, 虽然可使用后台API、SQL语句或者其它的查询工具能看到...

    oracle使用经验.doc

    要验证tnsnames.ora配置文件中的服务名是否能够正确连接,可以使用`tnsping`命令: ```bash tnsping [服务名] ``` #### 数据库备份与恢复 **整库备份** Oracle提供了多种方式来进行整库备份。例如: ```sql EXP ...

    2009达内SQL学习笔记

    oerr ora 904 :查看错误 set head off :去掉表头 set feed off :去掉表尾 保存在oracle数据库中的所有操作细节: spool oracleday01.txt :开始记录 spool off :开始保存细节 四、SELECT语句:选择操作...

    Oracle与SQL和Mysql的对比笔记

    Oracle、SQL Server和MySQL是三种广泛应用的关系型数据库管理系统(RDBMS),它们在数据管理、查询语法和功能上存在一些差异。以下是对这些系统的对比,主要关注它们在操作数据库结构方面的命令。...

    Oracle基础知识

    oerr ora 942"可以查找与错误号942相关的错误信息,这对于诊断和解决数据库问题非常有帮助。 2. SQL语句 SQL语句是操作Oracle数据库的核心,它主要分为以下几类: - DDL(Data Definition Language):数据库定义...

    Oracle中文使用手册.pdf

    oerr ora 942 (装完系统后会装一个 oerr 工具,用于通过错误号来查看错误的具 体信息) 想在 sql 中执行 unix 命令时,把所有的命令前加一个!就可以, 或者 host( 用于 从 sql 从切换至 unix 环境中去) /*** ...

    最全的oracle笔记

    例如,`oerr ora 12345` 查看错误号为12345的详细信息。 通过以上总结,我们对Oracle的基础知识有了较为全面的理解。无论是对于数据库的基本操作,还是高级查询技巧,亦或是系统管理与错误处理等方面,都有所涉猎。...

Global site tag (gtag.js) - Google Analytics