| 修改时间 10-NOV-2010 类型 HOWTO 状态 PUBLISHED | |||||
In this Document
Goal
Solution
References
Applies to:
Oracle Server - Enterprise Edition - Version: 10.2.0.1 and later [Release: 10.2 and later ]Information in this document applies to any platform.
Goal
Following error occurs while performing RMAN back up:RMAN-03009: failure of backup command on ch0 channel at 07/23/2010 10:39:21
ORA-04031: unable to allocate 7836 bytes of shared memory ("shared pool","unknown object","sga heap(1,0)","ksfqpar")
The LARGE_POOL_SIZE was set.
But the Large Pool was not used and ORA-4031 error occurred.
Solution
The LARGE POOL is only utilized when following are set:1. DBWR_IO_SLAVES and/or BACKUP_TAPE_IO_SLAVES to a non-zero value
2. Set DISK_ASYNCH_IO = FALSE
Otherwise shared pool is used. You can test this as below:
When DBWR_IO_SLAVES is set to zero and DISK_ASYNCH_IO is set to true then Large pool is not used:
RMAN> allocate channel for maintenance type disk;
SQL> select * from v$sgastat where name like '%KSFQ
POOL NAME BYTES
------------ -------------------------- ----------
shared pool X$KSFQP ANCHOR 52
shared pool KSFQ buffer pool 2376
SQL> select * from v$sgastat where pool='large pool';
POOL NAME BYTES
------------ -------------------------- ----------
large pool PX msg pool 262144
large pool free memory 33292288
When DBWR_IO_SLAVES is set to non-zero and DISK_ASYNCH_IO is set to false:
RMAN> allocate channel for maintenance type disk;
SQL> select * from v$sgastat where pool='large pool';
POOL NAME BYTES
------------ -------------------------- ----------
large pool PX msg pool 262144
large pool free memory 29081600
large pool KSFQ Buffers 4210688
SQL> select * from v$sgastat where name like '%KSFQ%';
POOL NAME BYTES
------------ -------------------------- ----------
shared pool X$KSFQP ANCHOR 52
shared pool KSFQ buffer pool 2376
shared pool KSFQ Buffer Structures 208
large pool KSFQ Buffers 4210688
Now, we see the large pool is in use.
References
SR 3-1956130291|
产品
|
|||
相关的
返回页首