RMAN Block Change Tracking and “_bct_public_dba_buffer_size” Hidden Parameter
One important feature “block change tracking” that comes with 10g, keeps log of the blocks changed since the last backup. During the next backup it uses the log file “block change tracking” to detect the changed blocks instead of scanning all data files. Changed blocks are determined and written to the log file by the process CTWR. After enabling “block change tracking” RMAN incremantal backups will run effectively.
You can enable or disable block change tracking as below:
SQL>alter database enable block change tracking using file '/rman_bkups/change.log'; SQL>alter database disable block change tracking;
During RMAN incrremental backup you can see ‘block change tracking buffer space’ wait events. This wait event appears especially in large databases. It affects between 10.2 and 11.2 databases.
According to metalink documentation [ID 1311518.1] you must do following operations to solve this problem.
1- Do not put “Block Change Tracking” log file to disk which has higher I/O ratio.
log dosyası çok fazla I/O gören verilerin bulunduğu diskde olmamalıdır.
2- The value of Large_pool_size must be examined. If it is lower then must be increased .
3- Set hidden parameter “_bct_public_dba_buffer_size”.
Ypu can query the memory area which is allocated for change tracking.
select dba_buffer_count_public*dba_entry_count_public*dba_entry_size from x$krcstat;
Multiply by 2 the obtained value and you will calculate value of “_bct_public_dba_buffer_size” parameter.