用過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超出最大連接數問題及解決(…相关推荐

  1. ASP.NET MVC Identity 兩個多個連接字符串問題解決一例

    按照ASP.NET MVC Identity建立了一個用戶權限管理模塊,由于還要加自己已有的數據庫,所以建立了一個實體模型,建立了之后,發現登錄不了: 一直顯示"Login in faile ...

  2. 解決memcache 有時無法連接的問題

    網站出現無法連接的錯誤!查看代碼發現錯誤的出處是在連接memcache的代碼中! 代碼如下: $instance[$className] = & new Memcache; $instance ...

  3. Linux db2 4499,db2 連接 ERRORCODE=-4499, SQLSTATE=08001,解決辦法

    1.更新服務名 db2 update database manager configuration using svcename $SVCNAME 服務名可在 cat /etc/services |g ...

  4. Zabbix监控Oracle 连接数

    监控Oracle 连接数 使用python脚本编写脚本,监控oracle连接数:连接Oracle需要安装cx_Oracle模块,安装完成后检查是否正常,没有任何信息返回即正常: python -c & ...

  5. 检查当前ORACLE连接数

    检查当前ORACLE连接数并写入文件 [oracle@rac1 shell]$ cat ip.sh #!/bin/sh date1=`date +%Y%m%d` date2="`date + ...

  6. jpa oracle mysql,JPA-Oracle-Mysql連接數據庫配置

    //...省略datasouce class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean" ...

  7. 修改oracle数据连接数据库,修改Oracle数据库的连接数

    修改Oracle数据库的连接数 摘(一) 使用sys,以sysdba权限登录: SQL>conn / as sysdba 1. 查看processes和sessions参数 SQL> sh ...

  8. zabbix监控oracle缓冲区,Zabbix监控oracle各服务器连接数

    需求: 根据机器名查询oracle连接数,并通过zabbix进行监控 脚本: [root@rac1 Zabbix_S]# cat get_conns.py #!/usr/bin/python #cod ...

  9. oracle 连接数_Oracle多租户数据库资源管理,就这么简单

    我们知道,Oracle多租户选件是数据库原生支持的云管理能力,而不是像其它厂商采用云管理平台来实现多租户的功能,使得Oracle多租户选件可实现更高的资源利用率,更好的性能,更强的稳定性,和更简便的运 ...

最新文章

  1. 我最看不惯的几个公众号!
  2. 好程序员Java分享SQL语言之索引
  3. SAP Cloud Application Programming bookshop 例子 Vue页面不能正常显示的原因分析
  4. Android studio删除sdk的方法(图文教程)
  5. jquery实现单击div切换背景,再次单击回到原来样式
  6. JavaScript窗体控制函数
  7. MySQL于ON DUPLICATE KEY UPDATE采用
  8. android四大组件之Activity以及常见的view处理
  9. 使用vm14安装Linux系统
  10. Process Explorer工具
  11. MFC网络通信程序设计——网络聊天室
  12. 岩土工程英语词汇A-R
  13. python秒杀脚本 拼多多_点击劫持漏洞之理解 python打造一个挖掘点击劫持漏洞的脚本...
  14. Python的三个引号作用
  15. 催收行业再现“暴力(利)”
  16. mkdir -p的含义
  17. Win系统速览桌面功能失效 - 解决方案
  18. java net包 网关_Net分布式系统之六:微服务之API网关
  19. 为listview、或者recyclerView的item增加进场动画
  20. RealFlow在线教程翻译(11)——SPH - Particles (Liquid) (液体粒子)

热门文章

  1. .NET(C#):使用SmtpClient发送带有图片和附件的电子邮件
  2. SwiftUI5.x微博入门案例第1部分
  3. 02-继承的本质-Objective-C基础
  4. rstudio 保存_Rstudio学习笔记
  5. java quot;1quot;==quot;1quot;_JAVA: 为什么要使用quot;抽象类quot;? 使用quot;抽象类quot;有什么好处?...
  6. 检测网络状态的工具类
  7. ios 自己服务器 苹果支付_iOS应用内支付(IAP)服务端端校验详解
  8. 网络运维装linux,网络安装linux系统
  9. php+insert+into+注入,PHP+MySQL之Insert Into数据插入用法分析
  10. 03—Shell脚本编写规范