`
liufeng_king
  • 浏览: 35579 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

连接oracle 报 ORA-12519

阅读更多

 

TNS-12519与processes参数设置;jdbc 连接oracle 报 ORA-12519, TNS:no appropriate service handler found 问题解决

这几天项目中进行大批量数据导入时,在运行一段时间后报如下异常:

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扩展名不存在.docx

    ### ERwin连接Oracle报ORA-01041内部错误,hostdef扩展名不存在的知识点解析 #### 一、问题背景及概述 在使用ERwin数据建模工具连接Oracle数据库时,可能会遇到ORA-01041内部错误提示:“hostdef扩展名不存在”。...

    Oracle 11gr2连Oracle 19c 报ORA-28040 ORA-01017解决方法.pdf

    Oracle数据库不同版本间的客户端与服务端的连接问题通常涉及到安全和兼容性配置,这篇文章主要讲述了在Oracle 11g R2客户端尝试连接Oracle 19c服务端时,遇到了两个特定的错误:ORA-28040和ORA-01017,以及如何解决...

    kettle连接oracle12C--报错ORA-28040 没有匹配的验证协议.rar

    当尝试使用Kettle连接Oracle 12c时,可能会遇到错误"ORA-28040:没有匹配的验证协议"。这个错误通常意味着客户端和服务器之间的安全认证不兼容。 **ORA-28040错误的解释:** 此错误通常出现在Oracle数据库服务器...

    远程连接Oracle报ORA-12545错误解决方案

    NULL 博文链接:https://ajita.iteye.com/blog/1725304

    oracle远程连接服务器出现 ORA-12170 TNS:连接超时 解决办法

    您可能感兴趣的文章:常用的Oracle doc命令(收藏)Oracle 多行记录合并/连接/聚合字符串的几种方法Oracle中字符串连接的实现方法php连接oracle数据库及查询数据的方法plsql连接oracle数据库报ora 12154错

    Navicat连接Oracle报ORA-12737问题解决方法

    完美解决Navicat连接Oracle时提示:“ORA-12737:Instant Client Light:unsupported server character set ZHS16GBK”问题的方法。

    Oracle报ORA-12737问题解决方法

    然而,在日常使用过程中,我们可能会遇到各种错误代码,其中“ORA-12737”是一个常见的错误,它通常与网络连接或者数据库实例的启动有关。本文将深入探讨ORA-12737错误的原因、解决方案以及如何利用Oracle最新版本的...

    Oracle 10g启动后报ORA-16038错误的解决方法

    ### Oracle 10g启动后报ORA-16038错误的解决方法 #### 错误概述 在启动Oracle 10g数据库时遇到ORA-16038错误,该错误通常与归档日志操作有关。具体错误信息为: ``` ORA-16038: log 1 sequence #230 cannot be ...

    oracle重启报错ORA-00702解决办法

    然而,在日常运维过程中,我们可能会遇到各种错误,比如“ORA-00702”就是其中之一。这个错误通常在尝试重启Oracle数据库服务时出现,意味着数据库实例在启动过程中遇到了问题。本文将详细介绍如何在Windows和Linux...

    安装/升级Oracle遇到ORA-12514问题

    前几天升级Oracle数据库,从11.2.0.1升级至11.2.0.4,安装完成后,打开PL/SQL,显示ORA-12514,如图: 问题阐述 ORA-12514:监听程序当前无法识别链接描述符中请求的服务,简单的来说就是Oracle数据库的监听器配置有...

    navict连接oracle报错解决.zip

    navicat连接oracle报错:“ORA-12514:TNS:监听程序无法识别连接描述符中请求的服务”;问题解决:资源包中只包含一些 dll 文件,无需安装解压即可,并附有详细的操作步骤。

    oracle 12 c ORA-01017: 用户名/口令无效; 登录被拒绝

    - **SQLPLUS vs PL/SQL Developer**:创建用户时,推荐使用SQL*Plus而非PL/SQL Developer,因为在某些情况下,使用后者可能导致登录失败,报ORA-01017错误。 - 创建示例命令: ```sql CREATE USER xxx IDENTIFIED...

    oracle报错大全(珍藏版)

    #### ORA-00120: Oracle Client Not Installed Oracle客户端未安装。这可能是由于缺少必要的客户端组件或配置错误。 #### ORA-00121: DISPATCHERS Parameter Not Set 未设置DISPATCHERS参数。这可能是由于配置错误...

    ORA-01461 仅可以为插入 LONG 列的 LONG 值赋值”解决办法

    ORA-01461 错误是 Oracle 数据库中的一种常见错误,错误信息为“仅可以为插入 LONG 列的 LONG 值赋值”。该错误通常是由于 Oracle 的 jar 包版本与 Oracle 数据库实际版本不匹配造成的。 在了解 ORA-01461 错误解决...

    连接Oracle数据库时报ORA-12541:TNS:无监听程序的图文解决教程

    主要介绍了连接Oracle数据库时报ORA-12541:TNS:无监听程序的图文解决教程,非常不错,具有参考借鉴价值,需要的朋友可以参考下

    oracle报错(ORA-00600)问题处理

    Oracle数据库报错ORA-00600是一个内部错误,通常表示系统遇到了未预见的问题或已知的软件缺陷。这个错误通常与Oracle的内核代码有关,而不是用户的SQL操作。在描述中,我们看到错误与“kcblasm_1”和参数103相关联,...

    plsql连接oracle数据库报ora 12154错误解决方法

    plsql连接oracle数据库报ora 12154错误 今天遇到一个问题,使用sqlplus能够连接到远程的数据库,但是使用plsql却连接不上,报错”ORA-12154: TNS: 无法解析指定的连接标识符” 解决方法如下: 1.先检查服务器端的...

    ORA-12154_TNS无法解析指定的连接标识符

    ORA-12154_TNS无法解析指定的连接标识符

    基于ORA-12170 TNS 连接超时解决办法详解

    本篇文章是对ORA-12170 TNS 连接超时的解决办法进行了详细的分析介绍,需要的朋友参考下

    解决navicat报错ORA-12737(OCI报错)

    在提供的文件列表中,`instantclient_10_2`是一个Oracle Instant Client的版本,它包含了连接Oracle数据库所需的动态库和工具。你可以根据你的系统环境和需求,将这个版本的客户端安装并配置,以解决ORA-12737错误。...

Global site tag (gtag.js) - Google Analytics