oracle连接数一直超出,Oracle超出最大連接數問題及解決(…
用過Oracle的應該都熟悉如何查看和設置Oracle數據庫的最大連接數。這里就再啰嗦一遍。
查看當前的連接數,可以用select count(*) from v$process;
設置的最大連接數(默認值為150)select value from v$parameter where name =‘processes’;
修改最大連接數alter system set processes = 300 scope = spfile;
都知道,當數據庫最大連接數不夠時會出現客戶端連接間歇性失敗,報錯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 forwin32的一個bug,上網下了補丁,打完補丁后的版本是:10.2.0.3;也曾懷疑是不是windows2003的tcp連接數不夠,上網查說好像是有這毛病,下了個2003的補丁,把tcp連接數擴到了1000,結果能夠達到可以有250個並發連接,但是再多就又連不上了。
現在就是不太清楚究竟是什么參數配置的不合適(不管是oracle10g的,還是windows2003的),才會造成實際上沒有達到oracle設置的最大連接數時就不能連接了。
最后,懷疑是不是windows 2003(32位)的問題,於是就裝了個64位的windows 2003,同樣版本的oracle10g,裝好后就把連接數process參數配置成800,然后做連接測試,一直可以有800個session連接上來,到現在為止,可以大致總結出症結所在了,就是windows2003 server(32位)的操作系統,在安裝oracle10g(10.2.0.1-10.2.0.3)時有問題,連接數不能達到系統配置的那么大,可以采用64位的替代。找到問題根源了,就可以想到究竟為什么windows2003 server(32位)的操作系統和oracle 10g數據庫連接數會有限制,修改一下2003的配置或者oracle10g的配置, 就可解決掉這個問題。
解決方案:
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、重啟計算機。
oracle连接数一直超出,Oracle超出最大連接數問題及解決(…相关推荐
- ASP.NET MVC Identity 兩個多個連接字符串問題解決一例
按照ASP.NET MVC Identity建立了一個用戶權限管理模塊,由于還要加自己已有的數據庫,所以建立了一個實體模型,建立了之后,發現登錄不了: 一直顯示"Login in faile ...
- 解決memcache 有時無法連接的問題
網站出現無法連接的錯誤!查看代碼發現錯誤的出處是在連接memcache的代碼中! 代碼如下: $instance[$className] = & new Memcache; $instance ...
- Linux db2 4499,db2 連接 ERRORCODE=-4499, SQLSTATE=08001,解決辦法
1.更新服務名 db2 update database manager configuration using svcename $SVCNAME 服務名可在 cat /etc/services |g ...
- Zabbix监控Oracle 连接数
监控Oracle 连接数 使用python脚本编写脚本,监控oracle连接数:连接Oracle需要安装cx_Oracle模块,安装完成后检查是否正常,没有任何信息返回即正常: python -c & ...
- 检查当前ORACLE连接数
检查当前ORACLE连接数并写入文件 [oracle@rac1 shell]$ cat ip.sh #!/bin/sh date1=`date +%Y%m%d` date2="`date + ...
- jpa oracle mysql,JPA-Oracle-Mysql連接數據庫配置
//...省略datasouce class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean" ...
- 修改oracle数据连接数据库,修改Oracle数据库的连接数
修改Oracle数据库的连接数 摘(一) 使用sys,以sysdba权限登录: SQL>conn / as sysdba 1. 查看processes和sessions参数 SQL> sh ...
- zabbix监控oracle缓冲区,Zabbix监控oracle各服务器连接数
需求: 根据机器名查询oracle连接数,并通过zabbix进行监控 脚本: [root@rac1 Zabbix_S]# cat get_conns.py #!/usr/bin/python #cod ...
- oracle 连接数_Oracle多租户数据库资源管理,就这么简单
我们知道,Oracle多租户选件是数据库原生支持的云管理能力,而不是像其它厂商采用云管理平台来实现多租户的功能,使得Oracle多租户选件可实现更高的资源利用率,更好的性能,更强的稳定性,和更简便的运 ...
最新文章
- 我最看不惯的几个公众号!
- 好程序员Java分享SQL语言之索引
- SAP Cloud Application Programming bookshop 例子 Vue页面不能正常显示的原因分析
- Android studio删除sdk的方法(图文教程)
- jquery实现单击div切换背景,再次单击回到原来样式
- JavaScript窗体控制函数
- MySQL于ON DUPLICATE KEY UPDATE采用
- android四大组件之Activity以及常见的view处理
- 使用vm14安装Linux系统
- Process Explorer工具
- MFC网络通信程序设计——网络聊天室
- 岩土工程英语词汇A-R
- python秒杀脚本 拼多多_点击劫持漏洞之理解 python打造一个挖掘点击劫持漏洞的脚本...
- Python的三个引号作用
- 催收行业再现“暴力(利)”
- mkdir -p的含义
- Win系统速览桌面功能失效 - 解决方案
- java net包 网关_Net分布式系统之六:微服务之API网关
- 为listview、或者recyclerView的item增加进场动画
- RealFlow在线教程翻译(11)——SPH - Particles (Liquid) (液体粒子)
热门文章
- .NET(C#):使用SmtpClient发送带有图片和附件的电子邮件
- SwiftUI5.x微博入门案例第1部分
- 02-继承的本质-Objective-C基础
- rstudio 保存_Rstudio学习笔记
- java quot;1quot;==quot;1quot;_JAVA: 为什么要使用quot;抽象类quot;? 使用quot;抽象类quot;有什么好处?...
- 检测网络状态的工具类
- ios 自己服务器 苹果支付_iOS应用内支付(IAP)服务端端校验详解
- 网络运维装linux,网络安装linux系统
- php+insert+into+注入,PHP+MySQL之Insert Into数据插入用法分析
- 03—Shell脚本编写规范