oracle报错12516,Oracle连接数太多报错-ORA-12516异常
Oracle连接数太多报错-ORA-12516错误
系统上线,一下子有几百人用,数据库出现异常
ORA-12516: TNS: 监听程序找不到符合协议堆栈要求的可用处理程
一开始以为数据库出了问题呢。
使用sqlplus连接以后,查看当前会话数、processes和sessions值,发现session数和2个参数的值已经非常逼近
SQL> select count(*) from v$session;
COUNT(*)---------- 88
SQL> show parameter processes
NAME TYPE VALUE
db_writer_processes integer 1
gcs_server_processes integer 0
job_queue_processes integer 10
log_archive_max_processes integer 2
processes integer 100
SQL> show parameter sessions
NAME TYPE VALUE
java_soft_sessionspace_limit integer 0
license_max_sessions integer 0
license_sessions_warning integer 0
logmnr_max_persistent_sessions integer 1
sessions integer 110
shared_server_sessions integer
2、修改processes和sessions值
SQL> alter system set processes=300 scope=spfile; 系统已更改。
SQL> alter system set sessions=335 scope=spfile; 系统已更改。
3、查看processes和sessions参数,但更改并未生效
SQL> show parameter processes NAME TYPE VALUE db_writer_processes integer 1 gcs_server_processes integer 0 job_queue_processes integer 10 log_archive_max_processes integer 2 processes integer 100 SQL> show parameter sessions NAME TYPE VALUE license_max_sessions integer 0 license_sessions_warning integer 0 logmnr_max_persistent_sessions integer 1 sessions integer 110 shared_server_sessions integer
4、重启数据库,使更改生效 SQL> shutdown SQL> startup SQL> show parameter processes NAME TYPE VALUE db_writer_processes integer 1 gcs_server_processes integer 0 job_queue_processes integer 10 log_archive_max_processes integer 2 processes integer 300 SQL> show parameter sessions NAME TYPE VALUE java_soft_sessionspace_limit integer 0 license_max_sessions integer 0 license_sessions_warning integer 0 logmnr_max_persistent_sessions integer 1 sessions integer 335 shared_server_sessions integer
其他:ORACLE的连接数(sessions)与其参数文件中的进程数(process)有关,它们的关系如下:
sessions=(1.1*process+5)
但是我们增加process数时,往往数据库不能启动了。这因为我们还漏调了一个unix系统参数:它是/etc/proc/kernel 中semmns,这是unix系统的信号量参数。每个process会占用一个信号量。semmns调整后,需要重新启动unix操作系统,参数才能生效。不过它的大小会受制于硬件的内存或ORACLE SGA。范围可从200——2000不等。
上面说的是unix,在RHEL5中, 就修改/etc/sysctl.conf里面的信号量:
kernel.sem = 2000 32000 100 128 //传说中参数依次为SEMMSL(每个用户拥有信号量最大数);SEMMNS(系统信号量最大数);SEMOPM(每次semopm系统调用操作数);SEMMNI(系统信号量级数最大数).
所以要修改的是第二个参数
semmns的计算公式为: SEMMNS>processes+instance_processes+system
processes=数据库参数processes的值
instance_processes=5(smon,pmon,dbwr,lgwr,arch)
system=系统所占用信号量。系统所占用信号量可用下列命令查出:
#ipcs -s
其中列NSEMS显示系统已占用信号量。
其它一些跟连接有关的参数,如 licence_max_sessions, licence_sessions_warning 等默认设置都为零,也就是没有限制。我们可以放心大胆地使用数据库了。
oracle报错12516,Oracle连接数太多报错-ORA-12516异常相关推荐
- oracle报609,案例:Oracle报错ORA-609 TNS-12537 TNS-12547 连接超时导致
天萃荷净 生产数据库alert日志中出现错误信息ORA-609 TNS-12537 TNS-12547,分析原因为数据库inbound connect timeout默认为60导致 1.数据库aler ...
- oracle报01031错误,Oracle数据库shutdown报ORA-01031: insufficient privileg
下午一位压测的同事找到我说一套压测的库连接报错,报错如下图: 要来ip和实例名登到服务器上看pmon进程还在 ps -ef |grep pmon 查看监听情况也是正常的 lsnrctl status ...
- sqlplus 登录oracle 报ERROR: ORA-01034:ORACLE not available ORA-27101:shared memory realm does not exit
1 先看oracle的监听和oracle的服务是否都启动了.启动oracle监听: cmd的命令行窗口下,输入lsnrctl start,回车即启动监听. 2 查看oracle的sid叫什么,比如创建 ...
- mybatis批量插入oracle报表达式,mybatis oracle两种方式批量插入数据
mybatis在oracle中批量插入数据时,单次批量大小有限制,批量插入时,单次批量过大,也会影响插入性能.故程序端也需要对应的限制. BEGIN insert into blacklist (id ...
- php 递归太多报错,PHP、递归 - 角落里的星辰的个人空间 - OSCHINA - 中文开源技术交流社区...
//递归遍历文件 //递归:实现流程分析 /* *1.先找到父问题,定义函数,解决父问题(遍历给定路径文件里面的所有文件) *2.找出递归点,子问题调用自己的函数解决问题,(遍历文件下的所有文件) * ...
- php 递归太多报错,php – javascript太多的递归?
我正在尝试创建一个脚本,在数据输入数据库后自动开始上传(我需要数据库用来上传文件的autoId). 当我运行javascript脚本运行php文件但它无法调用其他php来上传文件. too much ...
- oracle 报错总结
ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常. ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 OR ...
- oracle ogg00423,【案例】Oracle报错PLS-00378 PLS-00439产生原因和MOS官方解决办法
[案例]Oracle报错PLS-00378 PLS-00439产生原因和MOS官方解决办法 时间:2016-11-12 21:31 来源:Oracle研究中心 作者:代某人 点击: 次 天 ...
- oracle 6508,【案例】Oracle报错ORA-06552 ORA-06553 ORA-006508解决办法
天萃荷净 Oracle研究中心案例分析:运维DBA反映Oracle数据库alert日志中出现大量ORA-06552 ORA-06553 ORA-006508报错,分析原因为存储过程异常导致,结合MOS ...
- oracle pls 00905,【案例】Oracle报错PLS-00714 PLS-00951原因和解决办法笔记
[案例]Oracle报错PLS-00714 PLS-00951原因和解决办法笔记 时间:2016-11-14 11:07 来源:Oracle研究中心 作者:代某人 点击: 次 天萃荷净 P ...
最新文章
- Hibernate(1) 阻抗不匹配
- 《失业的程序员》(六):加班
- Android 中点击某个按钮实现 返回键 的功能
- luoguP5035金坷垃
- Linux(CentOS 7)安装docker
- 能量采集(HYSBZ-2005)
- 『中级篇』手动建立一个base Image(14)
- VS C++改变窗体背景色
- 时间管理——番茄工作法
- docker之部署一个不中毒的浏览器
- 台湾瑞昱Realtek RTL8153-VC-CG USB3.0 to lan简介
- 开学季:好好聊聊自己的大学生活
- 他在比亚迪30万变200亿,还是王传福的天使投资人
- ADO方法操作数据库
- IOS视频编辑,视频裁剪,视频拼接,音频处理,视频处理
- oracle10G 异构方式迁移表空间之二
- 个人开公司的流程及费用
- 2021-04-23 一年后第一次踢球
- libxml2的安装和使用
- Java程序编写----个人所得税计算器编写
热门文章
- 5. http://kb.cnblogs.com/page/90838/
- 19. jQuery 遍历
- 11.策略模式(Strategy Pattern)
- [2019杭电多校第三场][hdu6606]Distribution of books(线段树dp)
- 打开TestFlight并链接到具体的应用下载界面
- 【2018】面试复习大纲
- Android的存储方式
- SQL大圣之路笔记——SQL 行转列,列转行
- BST树、B树、B+树、B*树
- SaltStack之state.sls