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: 检查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
=====================================================================================
在压力测试的时候,JDBC连接出现了ORA-12519错误。
连接是报错如下:
<2008-8-23 上午01时34分38秒 CST> <Warning> <JDBC> <BEA-001129> <Received exception while creating connection for pool "rac11g1": Listener refused the connection with the following error:
ORA-12519, TNS:no appropriate service handler found
The Connection descriptor used by the client was:
172.0.2.58:1521:rac11g1
检查了半天metalink,最终发现是由于Oracle初始化参数的设置问题导致了bug。
SQL> SHOW PARAMETER SESSION
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
java_max_sessionspace_size integer 0
java_soft_sessionspace_limit integer 0
license_max_sessions integer 0
license_sessions_warning integer 0
session_cached_cursors integer 50
session_max_open_files integer 10
sessions integer 600
shared_server_sessions integer
SQL> SHOW PARAMETER PROCESS
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes integer 0
db_writer_processes integer 2
gcs_server_processes integer 2
global_txn_processes integer 1
job_queue_processes integer 1000
log_archive_max_processes integer 4
processes integer 150
根据Oracle文档,SESSIONS和TRANSACTIONS的初始化参数应该源于PROCESSES参数,根据默认设置SESSIONS = PROCESSES * 1.1 + 5。
但是目前SESSIONS的设置达到了600,而PROCESSES的设置没有改变,仍然为150,导致了过多的用户会话连接到Oracle上时,Oracle没有足够的后台进程来支持这些会话。
详细的问题描述可以参考metalink的文档:Doc ID: Note:240710.1。
解决方法很简单,直接设置合适的PROCESSES产生就可以了。
=====================================================================================
修改process的值的方法二(针对LINUX系统):
先到ORACLE_BASE/admin/你的实例名/profile/目录下找到一个init.ora的文件,然后修改里面的process的值,然后将该文件拷贝到ORACLE_HOME/dbs目录下,并将文件重命名为initorcl.ora(其中的orcl为你的数据库实例名,我的数据库实例为orcl所以命名为 initorcl.ora)
用sys用户同时以sysoper身份登录sqlplus
即 sqlplus sys/sa as sysoper;
进入SQLPLUS后,先把数据库关闭,可以使用shutdown abort命令,也可以使用shutdown immediate命令,推荐使用shutdown abort命令。然后使用命令startup force即可,说白了就是重启数据库。
分享到:
相关推荐
### ora-12519错误解决方案 #### 一、问题概述 在Oracle数据库的日常运维与使用过程中,用户可能会遇到“ORA-12519”这一错误提示。此错误通常表明客户端尝试连接到Oracle服务时出现问题。具体来说,“ORA-12519, ...
用oracle数据库新建连接时遇到ora-12505,此问题解决后又出现ora-12519错误,郁闷的半天,经过一番折腾问题解决,下面小编把我的两种解决方案分享给大家,仅供参考。 解决方案一: 今天工作时在新建连接的时候遇到...
### 创建物化视图ORA-12014错误解决方法 #### 背景介绍 在Oracle数据库中,物化视图(Materialized View)是一种用于优化查询性能的重要工具。它预先计算并存储了复杂的查询结果,从而在实际查询时能够快速地返回...
关于WIN10系统使用oracle instant client 时候提示ORA-01019错误的解决方案,本方案是配置好环境变量后依然提示ORA-01019错误的解决方案,内附本人制作测试的全过程说明
示例中的解决方案为: ```sql sys@sec> drop directory dpump_dir; -- 删除原有目录 Directory dropped. sys@sec> create directory dpump_dir as '/db_backup/dpump_dir'; -- 创建新的目录 Directory created. sys@...
在Oracle数据库管理与维护的过程中,遇到各种错误代码是家常便饭,其中“ORA-227101”错误虽然在题目...通过以上分析和解决方案,可以有效地应对和解决Oracle数据库中ORA-27101及相关错误,确保数据库服务的稳定运行。
NULL 博文链接:https://ajita.iteye.com/blog/1725304
### ORA-01033 错误解决方法 #### 概述 在数据库管理过程中,遇到诸如ORA-01033等错误代码是非常常见的。这些错误往往与数据库实例的状态、文件系统问题或是配置不当有关。ORA-01033 错误通常表示在启动或关闭...
### ORA-12514错误解决办法 #### 错误概述 ORA-12514是Oracle数据库中常见的一个错误,全称为“TNS:listener does not currently know of service requested in connect descriptor”。该错误表明客户端尝试连接到...
在深入探讨解决方案之前,我们首先需要了解ORA-29275错误的具体原因。这一错误的发生通常与以下因素有关: 1. **表中的VARCHAR2字段存储了多字节字符**:如果某个字段的数据类型为VARCHAR2,并且其长度限制不足以...
下面将对这两个错误进行详细解析,并给出相应的解决方案。 #### 二、ORA-00132: Syntax Error or Unresolved Network Name ##### 1. 错误含义 ORA-00132错误通常出现在网络配置不正确或数据库实例无法通过网络名...
本文将深入探讨ORA-01460错误的成因、影响以及提供一系列有效的解决方案,帮助数据库管理员和开发人员克服这一挑战。 ### ORA-01460错误概述 ORA-01460错误全称为“ORA-01460: unimplemented unreasonable ...
- **解决方案**:检查Oracle文档和支持站点,获取更多关于此错误的信息。 ##### 错误: 54: Unknown error - **原因**:未知错误。 - **解决方案**:同样需要参考Oracle的支持资料来解决问题。 #### 适用范围 本...
本文将详细介绍这两种错误的原因、可能的解决方案,并提供一个实际案例来帮助读者更好地理解和处理此类问题。 #### ORA-01033 错误解析 **ORA-01033 错误概述** ORA-01033是Oracle数据库启动过程中遇到的一种常见...
#### 四、解决方案 针对上述情况,可以采取以下步骤解决问题: 1. **扩大表空间**: - 修改表空间的最大限制,使其能够适应当前的数据增长需求。 - 使用ALTER TABLESPACE命令调整表空间大小,例如: ``` ALTER...
### ORA-01157 错误详解与解决方案 #### 错误代码与含义 ORA-01157 错误是 Oracle 数据库中一个常见的错误代码,其全称是:“ORA-01157: 无法识别/文件 - DBWR 文件”。这个错误通常发生在数据库启动过程中,当...
总结上述解决方法,面对从Oracle 10g到Oracle 11g的数据库链接认证问题,解决方案集中在密码认证的细节上。在Oracle 11g中默认开启的密码大小写敏感性需要特别注意,因为当从一个不区分密码大小写的旧版本数据库连接...
#### 四、解决方案步骤详解 根据提供的部分内容,下面详细介绍解决ORA-01041错误的具体步骤: 1. **启动Oracle配置和移植工具** - 打开Oracle的“配置和移植工具”中的“Net Configuration Assistant”。 2. **...
#### 三、解决方案建议 ##### 1. 增加process和session的连接数 为了防止由于连接数达到上限而导致的ora-12520错误,可以通过调整`processes`和`sessions`参数来提高并发连接能力。这通常需要在每个实例的`spfile`...
#### 解决方案 基于上述分析,如果在尝试连接到`ORCL`服务时出现ORA-15414错误,可能存在以下几种情况: 1. **服务名称不匹配**: - 确认客户端和服务端使用的全局数据库名(`GLOBAL_DBNAME`)是否一致。 - 检查...