windows oracle out of memory,win2008下安装oracle11gR2后DBCA报ORA-27102: out of memory

我的物理内存有32GB,windows 2008 server,oracle11gR2.

做DBCA的initial parameter分配内存时:

1,典型:oracle总内存只有3072MB,分40%给SGA,PGA。

疑问:为什么oracle总内存只有这么小?

2,定制:按照SGA+PGA最好不要超过总内存的70%,我分别设置SGA:14G,PGA=3G。

但是报ORA-27102: out of memory。

----------以下是我对SGA,PGA的一些收集整理和自己的规划分配,请指教。谢谢。

ORA-27102: out of memory

when running dbca it fails with ORA-27102

solution:

By default, Oracle 10 will allocate 40% of the total system RAM to the SGA and PGA.

On my T2000 with 16GB of RAM this equates to ~6.5GB. Using the value of 4GB for the SHM as stated in the Oracle installation docs is therefore too low. I set the value to 8GB and the database created without problems.

On your 32GB machine, assuming you are using the default 40% allocation, your minimum shared memory requiredment will be ~13GB. Working on the principal of setting it a little higher to get things working (you can always reduce it later), I would set 'project.max-shm-memory' to 16GB and try re-running DBCA.

内存分配原则:

因为我们在数据库服务器会安装二个数据库(不是二个实例):一个生产数据库,一个RMAN备份数据库。

非常有必要对内存进行分配与管理,在用DBCA建库的时候就可以进行选择分配,当然,也可以后续通过命令修改。

总分则:

SGA+PGA最好不要超过总内存的70%,即total_physical_mem*0.7。当然,这个百分比是说这个server只用来做数据库服务器。如果一台服务器有多个应用,则占总内存的百分比可以具体应用设定。

因为我们有二个数据库,我们可以分配如下:

1,生产数据库:(total_physical_mem*0.7)*80%

2,rman备份数据库:(total_physical_mem*0.7)*20%

在OLTP(联机事务处理)系统中,典型PGA内存设置应该是总内存的较小部分(例如20%),剩下80%分配给SGA。 一般来说PGA设置为2G-3G就OK了。

OLTP:PGA_AGGREGATE_TARGET = (oracle_total_mem * 80%) * 20%   [oracle_total_mem:分配给oracle的总内存,即total_physical_mem*0.7]

在DSS(数据集)系统中,由于会运行一些很大的查询,典型的PGA内存最多分配70%的内存。

DSS:PGA_AGGREGATE_TARGET = (oracle_total_mem * 80%) * 50%         [oracle_total_mem:分配给oracle的总内存,即total_physical_mem*0.7]

假设总内存有32GB,那么:

1,生产库

SGA:32*0.7 {数据库可分配的总内存} * 0.8 {分配给生产库80%} * 0.8 {OLTP分80%给SGA}=32*0.7*0.8*0.8=14.336G=14680M

PGA: 32*0.7 {数据库可分配的总内存} * 0.8 {分配给生产库80%} * 0.2 {OLTP分20%给SGA}=32*0.7*0.8*0.2=3.584G=3670M

2,rman库

SGA:32*0.7 {数据库可分配的总内存} * 0.2 {分配给rman库20%} * 0.8 {OLTP分80%给PGA}=32*0.7*0.2*0.8=3.584G=3670M

PGA: 32*0.7 {数据库可分配的总内存} * 0.2 {分配给rman库20%} * 0.2 {OLTP分20%给PGA}=32*0.7*0.2*0.2=0.896G=917M

假设总内存有4GB,那么:

1,生产库

SGA:4*0.7 {数据库可分配的总内存} * 0.8 {分配给生产库80%} * 0.8 {OLTP分80%给SGA}=4*0.7*0.8*0.8=1.792G=1835M

PGA: 4*0.7 {数据库可分配的总内存} * 0.8 {分配给生产库80%} * 0.2 {OLTP分20%给SGA}=4*0.7*0.8*0.2=0.448G=458M

2,rman库

SGA:4*0.7 {数据库可分配的总内存} * 0.2 {分配给rman库20%} * 0.8 {OLTP分80%给PGA}=4*0.7*0.2*0.8=0.448G=458M

PGA: 4*0.7 {数据库可分配的总内存} * 0.2 {分配给rman库20%} * 0.2 {OLTP分20%给PGA}=4*0.7*0.2*0.2=0.112G=114M

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值