l checked the alert logfile it conatains alter like:

Thread 1 advanced to log sequence 6949
  Current log# 1 seq# 6949 mem# 0: /data/oracle/oradata/mamiai/redo01.log
Tue Sep 28 03:01:08 2010
Memory Notification: Library Cache Object loaded into SGA
Heap size 3745K exceeds notification threshold (2048K)
KGL object name :XDB.XDbD/PLZ01TcHgNAgAIIegtw==
Tue Sep 28 03:01:09 2010
Memory Notification: Library Cache Object loaded into SGA
Heap size 3968K exceeds notification threshold (2048K)
Details in trace file /data/oracle/admin/mamiai/udump/mamiai_ora_30809.trc
KGL object name :XDB.XDA8XlWX/h+P3gQFeMmGQWfg==
Tue Sep 28 04:33:48 2010
Starting control autobackup
Control autobackup written to DISK device
        handle '/data/rmback/data/c-2920245731-20100928-00.ctl'
Tue Sep 28 04:33:53 2010
Thread 1 advanced to log sequence 6950
  Current log# 2 seq# 6950 mem# 0: /data/oracle/oradata/mamiai/redo02.log
Thread 1 advanced to log sequence 6951

解决:

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

SQL> startup open

oracle 对此的解释是:

NOTE:  The default threshold in 10.2.0.1 is 2M.   So these messages could show up frequently in some application environments

In 10.2.0.2,  the threshold was increased to 50MB after regression tests, so this should be a reasonable and recommended value.   If you continue to see the these warning messages in the alert log after applying 10.2.0.2 or higher, an SR may be in order to investigate if you are encountering a bug in the Shared Pool.