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

简介:

有时候连得上数据库,有时候又连不上.可能是数据库上当前的连接数目已经超过了它能够处理的最大值.


wKioL1W4qvnyGoLwAAPEEihsdDU418.jpg

解决办法:


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.address order by cpu_time/executions desc;



下面摘自别的地方:

windows2003 32位即使修改了连接数也还是报错的处理说法。


都知道,当数据库最大连接数不够时会出现客户端连接间歇性失败,报错ORA-12519。设置大点一般就可以了。但是做大型项目的时候还是会遇到一 些不正常的问题,比如:设置最大连接数800,但是正常连接200多个就会报错,这也是我在一次面试中得知的。回来因为自己的垃圾机器上没有装 Oracle,就查了些资料,发现还真的有这个问题,不过不是什么难题,貌似很多人遇到过,看来我们真的做项目太少了吧,顶多同时测试的也就十多个人。

网上搜集到有此类问题的描述,如下。

服务器IBM XSERVER,内存:4G
oracle 数据库配置的主要参数如下:

processes integer 500
sessions integer 585
pga_aggregate_target big integer 350M
sga_max_size big integer 1256M
sga_target big integer 1152M
shared_pool_size big integer 400M
large_pool_size big integer 16M

看样子挺不粗的配置,但是就这样默认情况还是会出现连接数不够的现象。数据库配置的连接数是500个,但是现在当Oracle的连接数达到120个 时候,其他的客户端就无法再连接上Oracle服务器了,报个错:ORA-12518: TNS: 监听程序无法分发客户机;但是已经连接上数据库的应用还可以正常应用,就是其他没连上的就再也连不上了,除非已有的连接有退出的,其他的才能再联上,就是 可连接的总数是120个;

有网友说是在可以在listener.ora中加入一行: direct_handoff_ttc_ =off,经测试此方法依旧不行;

这期间我尝试着把pga_aggregate_target 改成200或者500等,结果是一样的。也尝试着把sga_target改成800m后,结果数据库就起不来了,提示说要不能小于1024m。

后来查到有可能是oracle 10g for win32的一个bug,上网下了补丁,打完补丁后的版本是:10.2.0.3;也曾怀疑是不是windows 2003的tcp连接数不够,上网查说好像是有这毛病,下了个2003的补丁,把tcp连接数扩到了1000,结果能够达到可以有250个并发连接,但是 再多就又连不上了。

现在就是不太清楚究竟是什么参数配置的不合适(不管是oracle10g的,还是windows 2003的),才会造成实际上没有达到oracle设置的最大连接数时就不能连接了。

最后,怀疑是不是windows 2003(32位)的问题,于是就装了个64位的windows 2003,同样版本的oracle 10g,装好后就把连接数process参数配置成800,然后做连接测试,一直可以有800个session连接上来,到现在为止,可以大致总结出症结 所在了,就是windows 2003 server(32位)的操作系统,在安装oracle 10g(10.2.0.1-10.2.0.3)时有问题,连接数不能达到系统配置的那么大,可以采用64位的替代。找到问题根源了,就可以想到究竟为什么 windows 2003 server(32位)的操作系统和oracle 10g数据库连接数会有限制,修改一下2003的配置或者oracle 10g的配置, 就可解决掉这个问题。

解决方案:
A.修改Oracle参数

1、原有参数
#pga_aggregate_target=67108864
#processes=500
#sessions=555
# pga_aggregate_target此参数是扩大并发连接数占用内存大小。
# 可调整此参数,放大或缩小,同时影响并发数量。
# 公式: 约=可按照并发数量*4M
pga_aggregate_target=720M
# processes、sessions是扩大并发连接数,是同时使用。
# 公式: sessions = processes *1.1 +5
processes=600
sessions=665
2、在监听参数文件LISTENER.ORA 文件中增加参数
direct_handoff_ttc_listener = off
3、重新启动数据库服务。

B.修改windows配置

1、修改Windows系统中Boot.ini文件
/3GB /PAE
说明:修改操作系统中Boot.ini文件,可以使Oracle使用更多的内存空间。
2、修改用户组策略中锁定内存页大小权限。
参数修改完毕问题解决。
3、重启计算机。



本文转自pizibaidu 51CTO博客,原文链接:http://blog.51cto.com/pizibaidu/1679753,如需转载请自行联系原作者
相关文章
|
druid Oracle 关系型数据库
奇奇怪怪的问题-Druid+Oracle连接超时关闭问题
SpringBoot+Druid+Oracle连接超时关闭问题
2753 0
|
JSON 数据格式
【异常】com.alibaba.fastjson.JSONException: unclosed string : U
【异常】com.alibaba.fastjson.JSONException: unclosed string : U
3589 0
xxl-job执行器启动报错读取不到配置文件Could not resolve placeholder ‘xxl.job.executor.address‘ in value “${xxl.job
有几个不用配置的属性,也要写出来,不填值就行 但是最后一个日志天数得写,写个-1。不然空字符串无法转成数字
|
2月前
|
SQL Oracle 关系型数据库
PL/SQL Developer 13.0.2 安装教程(Windows 64位 plsqldev1302x64.msi 详细步骤)
PL/SQL Developer 13.0.2 x64 是专为Oracle数据库设计的高效IDE,支持PL/SQL调试、SQL开发与对象管理。本教程详解64位Windows下安装步骤(含管理员运行、路径设置、桌面图标创建)及首次启动必备的Oracle Instant Client配置,助你快速上手。
|
存储 Oracle 关系型数据库
Oracle中“ORA-00060: 等待资源时检测到死锁” 或存储过程编译卡死的一种解决方法
Oracle中“ORA-00060: 等待资源时检测到死锁” 或存储过程编译卡死的一种解决方法
1750 0
|
JSON Java 数据格式
【异常处理】关于访问swagger-ui报错java.lang.NumberFormatException: For input string: ““的解决方案总结
【异常处理】关于访问swagger-ui报错java.lang.NumberFormatException: For input string: ““的解决方案总结
2054 0
|
SQL 前端开发 JavaScript
kettle开发-超好用自定义数据处理组件
kettle开发-超好用自定义数据处理组件
1668 0
|
SQL Java 数据库连接
sql injection violation, syntax error: syntax error, error in :‘**‘expect IDENTIFIER, actual IDENTIF
sql injection violation, syntax error: syntax error, error in :‘**‘expect IDENTIFIER, actual IDENTIF
636 0
|
消息中间件 数据挖掘 Kafka
揭秘大数据时代的极速王者!Flink:颠覆性流处理引擎,让实时数据分析燃爆你的想象力!
【8月更文挑战第29天】Apache Flink 是一个高性能的分布式流处理框架,适用于高吞吐量和低延迟的实时数据处理。它采用统一执行引擎处理有界和无界数据流,具备精确状态管理和灵活窗口操作等特性。Flink 支持毫秒级处理和广泛生态集成,但学习曲线较陡峭,社区相对较小。通过实时日志分析示例,我们展示了如何利用 Flink 从 Kafka 中读取数据并进行词频统计,体现了其强大功能和灵活性。
549 0
|
数据安全/隐私保护
金狮金盾点盾云鹏保宝加密视频去检测翻录录屏
通过独家技术特殊加载录屏工具,可规避加密视频播放器如金盾、金狮等的检测,确保录屏既清晰又隐形。使用步骤简便:首先正常播放加密视频,接着通过特殊方式打开录屏工具,最后即可顺利录制。详情及下载请访问 spjm.vip/sp/pz/wnlp.txt。主要功能包括:防止录制时出现黑屏,以及隐蔽启动录屏工具以避开检测。
1740 2

热门文章

最新文章