恢復資料庫hang住/parallel recovery read buffer free

parknkjun發表於2017-03-24
近日某客戶在做異機恢復資料庫時,restore完成,一直Hang住在recover歸檔,檢查等待事件parallel recovery read buffer free
出現該等待事件是因為源端資料庫設定了不同block size大小的表空間,而目標端並沒有設定db_nK_cache_size引數,檢查源端select block_size, count(*) from dba_tablespaces group by block_size;確實設定了16k的表空間,並且db_16k_cache_size設定了256M,在目標端同樣設定db_16k_cache_size後recover順利完成。
MOS文章文件 ID 1646202.1

CAUSE

Insufficient buffer cache for tablespace with non-default block size.  I.e., db_4k_cache_size, db_8k_cache_size, db_16k_cache_size, db_32k_cache_size are not set or set too low.  For example, running an RMAN duplicate of a target database which contains tablespaces with different block sizes but auxiliary instance does not have the appropriate db_nK_cache_size parameter. 

SOLUTION

Buffer cache blocks must exist for all tablespaces with block sizes <> DB_BLOCK_SIZE 

1.  Check target (or source):  

select block_size, count(*) from dba_tablespaces group by block_size;

2.  For any tablespace with block size NOT the same as db_block_size, set DB_nK_CACHE_SIZE

3.  After correctly setting db_nK_cache_size re-execute the recover or duplicate command


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10271187/viewspace-2135992/,如需轉載,請註明出處,否則將追究法律責任。

相關文章