视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
[oracle10g]dbca创建数据库时processes参数的最小取值
2020-11-09 07:55:55 责编:小采
文档


dbca新建数据库时processes这个参数的默认是150,一般没有会蛋疼关心其最小取,只是看到《2 day dba》和dbca中说最小乎是6,因为它包括了数据库实例的几个必须启动的后台进程,是5个,加上至少一个的用户进程,乎就是这么得出6的,但是根据上一博文,设为6是

dbca新建数据库时processes这个参数的默认值是150,一般没有会蛋疼关心其最小取值,只是看到《2 day dba》和dbca中说最小值似乎是6,因为它包括了数据库实例的几个必须启动的后台进程,是5个,加上至少一个的用户进程,似乎就是这么得出6的,但是根据上一博文,设为6是必然不行的,报错ora-03113,新建无法完成,那么这个实际的最小值是多少呢?可能不会有人关心这个,我也只是好奇。

动手验证,环境是windows下oracle10.2。首先试图通过重建数据库的方法指定尝试的processes值,做着做着想到我这是有多笨啊,为什么不用alter system set processes=int 去改,一开始发现这么改报错,提示无法修改参数,后来想到没有添加scope选项,试着加上scope=both,结果还是报错,这才明白这是个静态参数,只能使用scope=spfile来修改,且修改后重启有效。

于是就这么试了几个值,发现在processes的值在20或十几的时候无法打开数据库,只能到mount阶段,不过这个时候忘了关闭其他连接。值为30的时候可以正常打开数据库。这是想到通过不断增加客户端的连接来验证这个参数对连接的:使用SQL>select count(*) from v$process可以查看当前连接数,当这个数字到达29时,无法连接普通用户,然而这时候连接sysdba用户时,可以连接,但是上面的查询结果依然是29。在最新的验证中发现,sysdba连接后显示“连接到空闲例程”,且无法进行数据库操作。不管那么多,总之知道连接数到达指定值-1时,连接受限。

这时候想到可以关闭所有客户端,重启数据库,到nomount阶段,发现当前连接数15,到mount阶段依然15,再到open状态,是19,初步推断所需最小连接数是19,经过多次重启,依然是这个值,最后将processes的值修改为20,成功启动数据库,查看当前连接值还是19。最后将processes的值修改为19,重启数据库,就在我将要认为那个实际的最小值是19的时候,数据库竟然重启成功,当前连接数是18!继续将processes的值改为18,重启数据库,终于发现没有打开,提示ora-01092:oracle实例终止。这时修改processes到较大值,就可以正常打开了,打开后查看当前连接数发现时23。

总结一下,processes这个参数决定着oracle服务最大连接数,包括数据库后台进程和用户进程,服务器进程也可能包括。要让数据库正常启动(windows下10g企业版),这个参数的最小值在19附近。

下载本文
显示全文
专题