×

processes 怎么办 or

oracle修改processes过大导致DB无法重启,但是我需要这个大点值,怎么办?keyboard operator(电脑键盘操作人员)具体是指什么工作

admin admin 发表于2022-07-05 06:52:20 浏览105 评论0

抢沙发发表评论

oracle修改processes过大导致DB无法重启,但是我需要这个大点值,怎么办


我们一般修改到1000~1500,就好了,再大也没有什么用处了。

一般和你机器的内存有关:

给你copy一段:

ORACLE最大连接数问题
(2010-09-08 20:27:17)
转载▼
标签:
oracle优化

it
分类: 多少会点

oracle 10g安装在windows 2003 32位操作系统,连接数到120个就不能连接,报ora12518

服务器IBM XSERVER,内存:4G
oracle 数据库配置的主要参数如下:
processes integer 800
sessions integer 885
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
数据库配置的连接数是800个,但是现在当oracle的连接数达到250个时候,其他的客户端就无法再连接上oracle服务器了,报个错:ORA-12518: TNS: 监听程序无法分发客户机 ;
但是已经连接上数据库的应用还可以正常应用,就是其他没连上的就再也连不上了,除非已有的连接有退出的,其他的才能再联上,就是可连接的总数是250个;
上网查:说是在可以在listener.ora中加入一行: direct_handoff_ttc_《listener name》=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,结果能够达到可以有350个并发连接,但是再多就又连不上了;
现在就是不太清楚究竟是什么参数配置的不合适,(不管是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的配置, 就可解决掉这个问题,

解决方案:

一、修改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、重新启动数据库服务。
二、1、修改Windows系统中Boot.ini文件
/3GB /PAE
说明:修改操作系统中Boot.ini文件,可以使oracle使用更多的内存空间。
2、修改用户组策略中锁定内存页大小权限。
参数修改完毕问题解决。
3、重启计算机。

keyboard operator(电脑键盘操作人员)具体是指什么工作


电脑操作员是做什么的_电脑操作员申报条件
如今对于电脑的熟悉程度大家应该自己都有所清楚,那么电脑操作员是做什么的呢?电脑操作员申报条件又是什么呢?如何才能做一名合格点电脑操作员呢?本期乔布简历的小编就给大家介绍一下。
电脑操作员工作主要有: 1、商品信息录入,对商品进行配货、发货;2、对商品的数据进行分析,制作相应报表,主要是后勤部门的相关数据输入工作,要求打字熟练。
那电脑操作员申报条件有哪些呢?
初级,具备以下条件之一者可以报考:
(1)经本职业初级正规培训达规定标准学时数,并取得毕(结)业证书。
(2)在本职业连续见习工作2年以上。
中级,具备以下条件之一者可以报考:
(1)取得计算机操作员初级职业资格证书后,连续从事本职业工作3年以上,经本职业中级正规培训达规定标准学时数,并取得毕(结)业证书。
(2)取得本职业初级职业资格证书后,连续从事本职业工作5年以上。
(3)取得经劳动保障行政部门审核认定的,以中级技能为培养目标的中等以上职业学校本专业毕业证书。
高级,具备以下条件之一者可以报考:
(1)取得本职业中级职业资格证书后,连续从事本职业工作4年以上,经本职业高级正规培训,达规定标准学时数,并取得毕(结)业证书。
(2)取得本职业中级职业资格证书后,连续从事本职业工作7年以上。
(3)取得高级技工学校或经劳动保障行政部门审核认定的,以高级技能为培养目标的高等职业学校本专业毕业证书。
(4)取得本职业中级职业资格证书的大专以上本专业或相关专业毕业生,连续从事本职业工作2年以上。
以上就是乔布简历的小编就给大家介绍的电脑操作员是做什么的,电脑操作员申报条件,希望有兴趣的小伙伴可以参考一下。

C#中的foreach 怎么用啊


foreach循环用于列举出集合中所有的元素,foreach语句中的表达式由关键字in隔开的两个项组成。in右边的项是集合名,in左边的项是变量名,用来存放该集合中的每个元素。
该循环的运行过程如下:每一次循环时,从集合中取出一个新的元素值。放到只读变量中去,如果括号中的整个表达式返回值为true,foreach块中的语句就能够执行。一旦集合中的元素都已经被访问到,整个表达式的值为false,控制流程就转入到foreach块后面
的执行语句。
foreach语句经常与数组一起使用,下面实例将通过foreach语句读取数组的值并进行显示。
数组的属性:Array.Length数组的容量
利用这个属性,我们可以取得数组对象允许存储的容量值,也就是数组的长度、元素个数,这个比较好理解,数组还有其他的属性,比如数组的维数等,属性的用法比较简单,学会一种,其他的格式基本一致,这里我们就不举例了。
当数组的维数、容量较多时,C#提供了foreach语句,专门用来读取集合/数组中的所有元素,我们把这种功能叫做遍历。语法书写如下:
遍历数组:foreach(type objName in collection/Array)
这段语句会逐一检查数组中的所存储的变量值,并且一一将其取出,其中的type是你所要读取的数组对象将要存储在objName变量的数据类型,而objName是定义了一个type类型的变量名,代表每一次从集合和数组(collection/Array)中取得的元素,collection/Array则是所要存取的数组对象。用这种方法只需写一个foreach就可以遍历出除交错数组以外的所有维数的数组。
注: objName的数据类型type必须与collection/Array对象的类型相同或比它大。
下面我们举一个用foreach和for遍历规则数组的例子,其中涉及到了一个数组得到维数的方法,比较foreach在一次性遍历规则数组上的优势。
int[,,] a = new int[2, 2, 2] { {{ 1, 2 }, { 3,4}},{{ 5, 6 }, { 7,8}} };//定义一个2行2列2纵深的3维数组a
for (int i = 0; i 《 a.GetLength (0) ;i++ ) //用Array.GetLength(n)得到数组[0,1,,,n]上的维数的元素数,0代表行,1列,n代表此数组是n+1维
{
for (int j = 0; j 《 a.GetLength(1); j++)
{
for (int z = 0; z 《 a.GetLength(2);z++ )//2代表得到纵深上的元素数,如果数组有n维就得写n个for循环
{
Console.WriteLine(a[i,j,z]);
}
}
}
用foreach循环一次性遍历a数组
int[,,] a = new int[2, 2, 2] { {{ 1, 2 }, { 3,4}},{{ 5, 6 }, { 7,8}} };//定义一个2行2列2纵深的3维数组a
foreach(int i in a)
{
Console .WriteLine (i);
}
这两种代码执行的结果是一样的都是 每行一个元素,共8行,元素分别是1 2 3 4 5 6 7 8
下面我们再做个例子,是一个利用for和foreach循环做的存取数组元素的例子,首先提示用户输入学生的个数,然后把学生个数作为存储学生姓名的数组names的元素个数,采用for循环按照数组的索引i从0位开始循环输出“输入学生姓名”的提示,并把用户输入的学生姓名按照其在数组的索引方式names[i]存储在names数组中,for循环次数的最大值(即索引的最大值)通过数组属性.Length得到,我们说过容量与索引之间的关系是index=Array.Length-1,本题即i的最大值《names.Length,存储后,提示“输出学生姓名”,再用foreach循环一次性遍历names数组中存储的每个元素(学生的姓名),一个一个的把它赋值给name元素,然后输出到控制台上。
必须注意的是,借助foreach,只能一一取得数组中的元素,并不能利用这种语句改变数组所存储的元素。
-or