这几天项目中进行大批量数据导入时,在运行一段时间后报如下异常:
java.sql.SQLException: Listener refused the connection with the following error:
ORA-12519, TNS:no appropriate service handler found
找了些网友的解决策略,贴上来,等自己遇到的解决后再做总结.
ORA-12519, TNS:no appropriate service handler found
url:http://windows9834.blog.163.com/blog/static/273450042009102511540240/
Oracle 2009-11-25 11:54:00
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 ;
/
OERR: ORA-12519 TNS:no appropriate service handler found
url:http://blog.csdn.net/wyzxg/archive/2008/03/06/2154274.aspx
2008/03/06
skate
今天下午,开发人员突然说不能连接数据库了,提示相关的错误
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
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wyzxg/archive/2008/03/06/2154274.aspx
ORA-12519: TNS:no appropriate service handler found解法 url:http://tsaijemmy.spaces.live.com/blog/cns!4AD532D0CD18A21D!680.entry ORA-12519: TNS:no appropriate service handler found解法 ORA-12519: TNS:no appropriate service handler found (用戶端連接間歇性失敗),有時會連得上有時連不上,可能是資料庫上當前的連接數目已經超過了它能夠處理的最大值。 select count(*) from v$process --當前的連接數 select value from v$parameter where name = 'processes' --資料庫允許的最大連接數 修改最大連接數: alter system set processes = 300 scope = spfile; 重啟資料庫: shutdown immediate; 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. 還沒完,這問題是在C3P0遇到的,經過另篇文章查到,上面的錯誤是由於Oracle Express 10g的預設配置連接數只有20,而在hibernate.cfg.xml配置使用c3p0連接池的最大連接數遠遠超過了這個資料庫允許的數量,因此但頻繁的去連接資料庫的時候,無法獲得連接,資料庫Listner就直接拒絕連接的請求,因此只要修改c3p0連接池最大最小連接數為。c3p0可以設置如下: <property name="hibernate.c3p0.min_size">5</property> <property name="hibernate.c3p0.max_size">10</property> 問題來了,在系統上線前就要估算有多少用戶會使用這個DB,而每個用戶會使用多少connection,總和不能超過Oracle配置的連線數(看該DB獲得Oracle多少授權connection數),看來Project的Architecture也得注意這一塊
ITPUB上的一则讨论 : http://www.itpub.net/thread-624935-1-1.html
oravis@ebs oravis]$ sqlplus
SQL*Plus: Release 9.2.0.3.0 - Production on Mon Sep 4 14:47:00 2006
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
Enter user-name: sys as sysdba
Enter password:
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.3.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.3.0 - Production
SQL> select status from v$instance;
STATUS
------------
OPEN
相关推荐
### ERwin连接Oracle报ORA-01041内部错误,hostdef扩展名不存在的知识点解析 #### 一、问题背景及概述 在使用ERwin数据建模工具连接Oracle数据库时,可能会遇到ORA-01041内部错误提示:“hostdef扩展名不存在”。...
Oracle数据库不同版本间的客户端与服务端的连接问题通常涉及到安全和兼容性配置,这篇文章主要讲述了在Oracle 11g R2客户端尝试连接Oracle 19c服务端时,遇到了两个特定的错误:ORA-28040和ORA-01017,以及如何解决...
当尝试使用Kettle连接Oracle 12c时,可能会遇到错误"ORA-28040:没有匹配的验证协议"。这个错误通常意味着客户端和服务器之间的安全认证不兼容。 **ORA-28040错误的解释:** 此错误通常出现在Oracle数据库服务器...
NULL 博文链接:https://ajita.iteye.com/blog/1725304
您可能感兴趣的文章:常用的Oracle doc命令(收藏)Oracle 多行记录合并/连接/聚合字符串的几种方法Oracle中字符串连接的实现方法php连接oracle数据库及查询数据的方法plsql连接oracle数据库报ora 12154错
完美解决Navicat连接Oracle时提示:“ORA-12737:Instant Client Light:unsupported server character set ZHS16GBK”问题的方法。
然而,在日常使用过程中,我们可能会遇到各种错误代码,其中“ORA-12737”是一个常见的错误,它通常与网络连接或者数据库实例的启动有关。本文将深入探讨ORA-12737错误的原因、解决方案以及如何利用Oracle最新版本的...
### Oracle 10g启动后报ORA-16038错误的解决方法 #### 错误概述 在启动Oracle 10g数据库时遇到ORA-16038错误,该错误通常与归档日志操作有关。具体错误信息为: ``` ORA-16038: log 1 sequence #230 cannot be ...
然而,在日常运维过程中,我们可能会遇到各种错误,比如“ORA-00702”就是其中之一。这个错误通常在尝试重启Oracle数据库服务时出现,意味着数据库实例在启动过程中遇到了问题。本文将详细介绍如何在Windows和Linux...
前几天升级Oracle数据库,从11.2.0.1升级至11.2.0.4,安装完成后,打开PL/SQL,显示ORA-12514,如图: 问题阐述 ORA-12514:监听程序当前无法识别链接描述符中请求的服务,简单的来说就是Oracle数据库的监听器配置有...
navicat连接oracle报错:“ORA-12514:TNS:监听程序无法识别连接描述符中请求的服务”;问题解决:资源包中只包含一些 dll 文件,无需安装解压即可,并附有详细的操作步骤。
#### ORA-00120: Oracle Client Not Installed Oracle客户端未安装。这可能是由于缺少必要的客户端组件或配置错误。 #### ORA-00121: DISPATCHERS Parameter Not Set 未设置DISPATCHERS参数。这可能是由于配置错误...
- **SQLPLUS vs PL/SQL Developer**:创建用户时,推荐使用SQL*Plus而非PL/SQL Developer,因为在某些情况下,使用后者可能导致登录失败,报ORA-01017错误。 - 创建示例命令: ```sql CREATE USER xxx IDENTIFIED...
ORA-01461 错误是 Oracle 数据库中的一种常见错误,错误信息为“仅可以为插入 LONG 列的 LONG 值赋值”。该错误通常是由于 Oracle 的 jar 包版本与 Oracle 数据库实际版本不匹配造成的。 在了解 ORA-01461 错误解决...
主要介绍了连接Oracle数据库时报ORA-12541:TNS:无监听程序的图文解决教程,非常不错,具有参考借鉴价值,需要的朋友可以参考下
Oracle数据库报错ORA-00600是一个内部错误,通常表示系统遇到了未预见的问题或已知的软件缺陷。这个错误通常与Oracle的内核代码有关,而不是用户的SQL操作。在描述中,我们看到错误与“kcblasm_1”和参数103相关联,...
plsql连接oracle数据库报ora 12154错误 今天遇到一个问题,使用sqlplus能够连接到远程的数据库,但是使用plsql却连接不上,报错”ORA-12154: TNS: 无法解析指定的连接标识符” 解决方法如下: 1.先检查服务器端的...
ORA-12154_TNS无法解析指定的连接标识符
本篇文章是对ORA-12170 TNS 连接超时的解决办法进行了详细的分析介绍,需要的朋友参考下
PLSQL连接远程数据库问题 无法连接报错