电脑技术学习

解决Oracle 10g library内存分配告警问题

dn001
问题:在Oracle10g的alert文件中,忽然可以发现如下记录:

Fri Feb 02 22:00:09 2007

Memory Notification: Library Cache Object loaded into SGA

Heap size 2448K exceeds notification threshold (2048K)

KGL object name :SELECT * FROM "ADMODB"."DW_SECTOR_FLAT"

解决方法:

Oracle10g中,在load较大的对象进library cache中时,会记录以上警告。在版本10.2.0.1中,这个定义大对象的阈值是2M,这是有隐含参数_kgl_large_heap_warning_threshold 指定的,如果系统中需要load很多大对象,又不想在alert中看到太多这类的警告信息,可以修改该参数:

SQL> alter system set "_kgl_large_heap_warning_threshold"=8388608 scope=spfile ;

参数值以字节为单位,设置完后需要重启实例才能生效。

从10.2.0.2起,这个参数的默认值被修改为50M。

注:此错误与Ora-04031没有直接联系。