oracle sga 4031,oracle – 解析ORA-4031“无法分配x字节的共享内存”

我需要一些关于如何诊断和解决这个问题的指针。我不知道这是否是一个简单的服务器设置问题或应用程序设计问题(或两者)。

每几个月一次或两次,这个Oracle XE数据库会报告ORA-4031错误。它并没有指向sga的任何特定部分。最近的一个例子是:

ORA-04031:无法分配8208字节的共享内存(“大型池”,“未知对象”,“排序子图”,“排序键”)

当这个错误出现时,如果用户保持刷新,点击不同的链接,他们通常会在不同的时间获得更多的这些错误,然后很快他们会得到“404未找到”页面错误。

重新启动数据库通常会解决问题一段时间,然后一个月左右再次出现,但很少在程序中的相同位置(即它似乎没有链接到任何特定部分的代码)(上面的例子错误是从一个从表中排序5000行的Apex页面引起的)。

我已经尝试将sga_max_size从140M增加到256M,并希望这将有助于事情。当然,我不知道这是否有帮助,因为我不得不重新启动数据库来更改设置:)

我在具有512MB RAM的Oracle Enterprise Linux 5盒上运行Oracle XE 10.2.0.1.0。服务器只运行数据库Oracle Apex(v3.1.2)和Apache Web服务器。我安装了几乎所有的默认参数,它一直运行相当好一年左右。大多数问题我已经能够通过调整应用程序代码来解决自己;它没有被广泛使用,而不是一个关键的业务系统。

这些是我认为可能相关的一些当前设置:

pga_aggregate_target 41,943,040

sga_max_size 268,435,456

sga_target 146,800,640

shared_pool_reserved_size 5,452,595

shared_pool_size 104,857,600

如果这里有任何帮助,目前的SGA尺寸:

Total System Global Area 268435456 bytes

Fixed Size 1258392 bytes

Variable Size 251661416 bytes

Database Buffers 12582912 bytes

Redo Buffers 2932736 bytes

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值