共计 1955 个字符,预计需要花费 5 分钟才能阅读完成。
自动写代码机器人,免费开通
这篇文章给大家介绍 oracle 中如何设置 process,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
1、受操作系统参数的限制,操作系统中 oracle 用户使用的 nproc 参数要够大,否则 process 设的再大也没有用。
2、查看 oracle 数据库 pga 的大小,如果 pga 太小也会有问题。
3、process 的设置还和 shared_pool 有关系
今天我们主要分析第二点和第三点
首先看 PGA 的问题,我们使用的是专用服务器(DEDICATED)连接方式的话,客户端建立一个连接,PGA 会给会话分配一定的内存来支持会话。那么我们要知道一个会话大约需要多少内存,然后合理设置好 PGA 才会达到预期的效果。
下面是一个例子,分配了大约 2.2M, 实际使用了 2M 左右,
SQL select sum(pga_used_mem)/1024 total_used, sum(pga_used_mem)/count(1)/1024 used_avg, sum(pga_alloc_mem)/1024 total_alloc, sum(pga_alloc_mem)/coun
(1)/1024 alloc_avg from v$process;
TOTAL_USED USED_AVG TOTAL_ALLOC ALLOC_AVG
———- ———- ———– ———-
48146.8887 2006.12036 55651.084 2318.79517
但据大牛们的经验值:一个连接在 linux 系统下占用 PGA 5M,AIX 下占用 10M 左右,那么我们稳当一点,设置大一点的 PGA 给每个线程。
接下来我们来看第三点
如果没有使用 ASMM、AMM 自动管理的话,如果设置过大的话会,有可能出现 ORA-00371 的错误,共享池设置太小。如果设置了就不会出现错误,但是还是要注意 processes 的设置还是根据需求来设置,因为设置过大会造成共享池的浪费(每个进程大约 56Khttp://warehouse.itpub.net/post/777/515882)
下面是 process=1500
SQL select * from v$sgainfo;
NAME BYTES RES
——————————– ———- —
Fixed SGA Size 1375792 No
Redo Buffers 5804032 No
Buffer Cache Size 41943040 Yes
Shared Pool Size 469762048 Yes
Large Pool Size 4194304 Yes
Java Pool Size 8388608 Yes
Streams Pool Size 4194304 Yes
Shared IO Pool Size 0 Yes
Granule Size 4194304 No
Maximum SGA Size 535662592 No
Startup overhead in Shared Pool 218103808 No —— 这里
process=150
SQL select * from v$sgainfo;
NAME BYTES RES
——————————– ———- —
Fixed SGA Size 1375792 No
Redo Buffers 5804032 No
Buffer Cache Size 41943040 Yes
Shared Pool Size 469762048 Yes
Large Pool Size 4194304 Yes
Java Pool Size 8388608 Yes
Streams Pool Size 4194304 Yes
Shared IO Pool Size 0 Yes
Granule Size 4194304 No
Maximum SGA Size 535662592 No
Startup overhead in Shared Pool 58720256 No
关于 oracle 中如何设置 process 就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
向 AI 问一下细节