Oracle flashback buffer分配在shared pool中
在Oracle 10g中,如果相關(guān)的數(shù)據(jù)庫啟用flashback功能的話,Oracle數(shù)據(jù)庫即在shared pool中對(duì)Oracle flashback buffer進(jìn)行分配,下面就是Oracle數(shù)據(jù)庫的部分啟動(dòng)日志,可以清楚的看到flashback buffer在shared pool分配了3981204 bytes。
引用
- Wed Dec 30 15:20:40 2009
- Allocated 3981204 bytes in shared pool for flashback generation buffer
- Starting background process RVWR
- RVWR started with pid=16, OS id=724
同樣在數(shù)據(jù)字典中也可以看到Oracle flashback buffer的大小:
引用
- SQL> select name,bytes from V$sgastat
- 2 where pool=’shared pool’
- 3 and name like ‘%flash%’;
- NAME BYTES
- flashback generation buff 3981204
當(dāng)flashback buffer空間緊張時(shí),可能會(huì)出現(xiàn)flashback buf free by RVWR等待事件,Oracle并沒有提供參數(shù)調(diào)節(jié)flashback buffer,對(duì)于高吞吐量,并發(fā)量系統(tǒng)初始大小并不能滿足系統(tǒng)要求
目前系統(tǒng)中l(wèi)og_buffer大小為7012352 bytes,將其改為10M,重啟數(shù)據(jù)庫,觀察Oracle flashback buffer變化。
引用
- SQL> show parameter log_buffer
- NAME TYPE VALUE
- log_buffer integer 7012352
- SQL> alter system set log_buffer=10000000 scope=spfile;
- System altered.
- SQL> select name,bytes from V$sgastat
- 2 where pool=’shared pool’
- 3 and name like ‘%flash%’;
- NAME BYTES
- flashback generation buff 3981204
- SQL> startup force
- ORACLE instance started.
- Total System Global Area 536870912 bytes
- Fixed Size 1262764 bytes
- Variable Size 155192148 bytes
- Database Buffers 369098752 bytes
- Redo Buffers 11317248 bytes
- Database mounted.
- Database opened.
- SQL> select name,bytes from V$sgastat
- 2 where pool=’shared pool’
- 3 and name like ‘%flash%’;
- NAME BYTES
- flashback generation buff 3981204
可以看到flashback generation buff大小并沒有發(fā)生變化。
進(jìn)一步,觀察和flashback相關(guān)的隱含參數(shù) 。以上的相關(guān)內(nèi)容就是對(duì)Oracle flashback buffer參數(shù)研究的介紹,望你能有所收獲。
【編輯推薦】