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 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、重启计算机。

问题总结,内容摘自网络

转载于:https://www.cnblogs.com/zhwl/p/3715722.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/375917.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

操作系统上机作业--使用系统调用实现mycat

mycat.c的功能与系统cat程序相同mycat将指定的文件内容输出到屏幕,例子如下:要求使用系统调用open/read/write/close实现 $ cat /etc/passwd root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin bin:x:2:2:bin:/bin:/u…

GCDAynscSocket简单使用-客户端

这是一篇介绍GCDAynscSocket客户端简单使用的文章(服务端后续添加) 背景:在这篇文章之前我对socket的了解仅限于知道有TCP、UDP两种方式,使用抓包工具时甚至看不懂抓包数据(惭愧...),所以本文介…

微信android版字体,微信炫彩字下载-微信七彩字体 安卓版v1.6.2-PC6安卓网

微信七彩字体一款方便的手机字体更换软件,微信炫彩字软件集合了上百款优质中文美化字体,微信七彩发光字里有可爱的喵呜体、卡通体,清秀的静蕾体等多种字体。软件介绍微信、qq上最好用、最个性的聊天字体应用,让你的聊天与众不同&a…

Android SQLite 数据库 增删改查操作

Android SQLite 数据库 增删改查操作 转载▼一、使用嵌入式关系型SQLite数据库存储数据在Android平台上,集成了一个嵌入式关系型数据库——SQLite,SQLite3支持NULL、INTEGER、REAL(浮点数字)、TEXT(字符串文本)和BLOB(二进制对象…

SIT与UAT的分别

在企业级软件的测试过程中,经常会划分为三个阶段——单元测试,SIT和UAT,如果开发人员足够,通常还会在SIT之前引入代码审查机制(Code Review)来保证软件符合客户需求且流程正确。下面简单介绍一下SIT和UAT的…

操作系统上机作业--使用系统调用实现mycp

mycp.c的功能与系统cp程序相同将源文件复制到目标文件,例子如下:要求使用系统调用open/read/write/close实现 $ cat /etc/passwd root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin bin:x:2:2:bin:/bin:/usr/sbin/nolo…

android自动化持续集成,基于持续集成的Android自动化测试.pdf

基于持续集成的Android自动化测试.pdf2015 年 第24 卷 第 5 期 计 算 机 系 统 应 用①基于持续集成的Android 自动化测试王 焱, 张 征(华中科技大学 自动化学院, 武汉 430074)摘 要: Android 测试方面的研究大多集中在测试工具和框架的实现上, 有些工具和框架可以实现测试用例…

Csharp 高级编程 C7.1.2

第七章 代理(1) 一、代理要声明 二、代理使用步骤 声明代理初始化代理(使用 实例的方法名 作为参数)使用代理代码示例: /*C7.1.2*/ using System; using System.Collections.Generic; using System.Linq; using System…

操作系统上机作业--实现mysys(多进程)

mysys.c: 实现函数mysys&#xff0c;用于执行一个系统命令&#xff0c;要求如下mysys的功能与系统函数system相同&#xff0c;要求用进程管理相关系统调用自己实现一遍使用fork/exec/wait系统调用实现mysys不能通过调用系统函数system实现mysys 测试程序 #include <stdio.…

06链队列_LinkQueue--(栈与队列)

#include "stdio.h" #include "stdlib.h" #include "io.h" #include "math.h" #include "time.h"#define OK 1 #define ERROR 0 #define TRUE 1 #define FALSE 0 #define MAXSIZE 20 /* 存储空间初始分配量 */ty…

android 透明变成白色,android – 状态栏不透明但是白色

为了用anko DSL测试kotlin我决定在最后一个android studio ide(2.1.3)中使用kotlin插件(1.0.3)和最新的anko库(0.9)开始一个新的proyect我使用默认的proyect Navigation Drawer Activity,所以我只需要将主xml转换为anko.这是xml&#xff1a;xmlns:android"http://schemas.…

操作系统上机作业--实现shell(1)(多进程)

sh1.c: 实现shell程序&#xff0c;要求具备如下功能支持命令参数 $ echo arg1 arg2 arg3 $ ls /bin /usr/bin /home 实现内置命令cd、pwd、exit $ cd /bin $ pwd /bin 实现思路&#xff1a;在获取命令字符串后&#xff0c;用strtok函数对字符串进行处理&#xff0c;获取参数…

VC下勉强可用的list

linux内核中的list太好用了&#xff0c;可惜VC编译器不支持 typeof 关键字&#xff0c;将linux内核中的list直接移植过来不能用 修改所有与typeof相关的代码后&#xff0c;终于可以勉强在VC下运行起来了&#xff0c;但是还不完美&#xff0c;list_for_each_entry和list_for_eac…

当执行游戏0xc000007b错误的解决方法

如图&#xff0c;这个错误使无数玩家烦恼。 出现这个错误&#xff0c;可能是硬件的问题&#xff0c;也可能是软件的问题。可是&#xff0c;因为硬件引起该问题的概率非常小&#xff0c;而且除了更换硬件之外没有更好的解决方法&#xff0c;因此本文将具体介绍怎样通过软件解决此…

android触屏音文件地址,Android音视频-音频采集

Android的音视频开发是我暂定的一个职业发展的一个方向&#xff0c;通过自学记录一些记了又忘记的知识。音频基础知识采样率(samplerate)蓝色代表模拟音频信号&#xff0c;红色的点代表采样得到的量化数值。采用就是把模拟信号数字化的过程&#xff0c;不仅仅是音频需要采样&am…

平衡二叉树,AVL树之图解篇

学习过了二叉查找树&#xff0c;想必大家有遇到一个问题。例如&#xff0c;将一个数组{1,2,3,4}依次插入树的时候&#xff0c;形成了图1的情况。有建立树与没建立树对于数据的增删查改已经没有了任何帮助&#xff0c;反而增添了维护的成本。而只有建立的树如图2&#xff0c;才能…

窗体

GDI:图形设备接口 所有能够将电子信号转换成图像显示的设备是图形设备&#xff0c; 常见的图形设备有显示器&#xff0c;打印机。 Winform封装了GDI底层的接口&#xff0c;提供一组面向对象的接口&#xff0c;供我们使用 Partial关键字&#xff0c;用他修饰的类叫分布类/部分类…

android程序到处apk,导出已安装到手机中程序的apk文件

查看该手机所有安装包的包名&#xff0c;输入adb shell pm list packages找到你要导出的包名获取该安装apk的路径&#xff0c;输入adb shell pm path com.pfoc.myacurite得到包所在路径&#xff1a;导出文件&#xff0c;adb pull /data/app/com.pfoc.myacurite-1/base.apk /Use…

数据结构--顺序栈

栈&#xff1a;限定仅在表尾进行插入或删除操作的线性表&#xff0c;对栈来说&#xff0c;表尾端为栈顶&#xff0c;表头端为栈底。 本文实现了顺序栈的表示和相关函数操作&#xff0c;以及一些验证性代码。 #include<stdio.h> #include<stdlib.h> #include<w…

Mysql 的一些基本用法

一、增加字段 alter table students add IsImportJcxx int set default 0 COMMENT 是否导入基础信息平台 1 是导入; 二、删除字段 alter table provincestudentinfo drop column NativePlace; 三、创建表 CREATE TABLE 表名 ( IconId int not null auto_increment, 字段名 …