ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Why ORA-04031 on Shared Pool during RMAN back up even when Large Pool is set?

Why ORA-04031 on Shared Pool during RMAN back up even when Large Pool is set?

原创 Linux操作系统 作者:spider0283 时间:2011-08-29 20:49:41 0 删除 编辑
 [ID 1169387.1]

修改时间 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

显示相关信息 相关的


产品
  • Oracle Database Products > Oracle Database > Oracle Database > Oracle Server - Enterprise Edition
关键字
SHARED POOL; HEAP; RMAN; DBWR_IO_SLAVES; LARGE POOL; DISK_ASYNCH_IO
错误
ORA-4031; RMAN-3009; 4031 ERROR

返回页首返回页首


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/38267/viewspace-706166/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2011-03-29

  • 博文量
    194
  • 访问量
    630152