alert日志遇到 ORA-04030 的分析(二)

2014-11-24 17:11:00 · 作者: · 浏览: 1
免此错误的一般建议


1.一些操作需要大量的内存,对于排序问题,减少SORT_AREA_SIZE会有所帮助。Oracle服务器进程会将PGA中的SORT_AREA_SIZE字节分配给排序操作。如果完成搜索需要更多内存,服务器进程将会使用temporary segment。这意味着减少SORT_AREA_SIZE会对需要大量排序操作的查询性能产生影响。
2.对于9i及更高版本,通过将参数WORKAREA_SIZE_POLICY设置为AUTO,以及在初始化文件中指定PGA_AGGREGATE_TARGET的大小,即可启用自动SQL执行内存管理功能。使用自动PGA内存管理将有助于减少发生ORA-04030错误的可能性。注意,OpenVMS操作系统在Oracle 9i版本上不支持PGA_AGGREGATE_TARGET,但是在Oracle 10g版本上是支持的。
3.PL/SQL程序也可分配大量内存,因此可能需要重写应用程序的某些部分。尽管PL/SQL表非常容易使用,但它确实需要在PGA中分配内存。
4.查看optimizer策略,一些访问路径可能会因排序操作、较多行上的函数使用等原因而需要更多内存。

5.在某些操作系统上(例如 Microsoft Windows),可能要降低 SGA 的大小以便于PGA获得更大的内存。
6.确保操作系统和Oracle的内存限制设置合理。
7.确保有足够的可用内存(物理Memory和Swap)。