龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 数据库类 > Oracle 技术 >

Oracle flashback buffer分配在shared pool中

时间:2011-04-12 23:18来源:未知 作者:admin 点击:
分享到:
在 Oracle 10g 中,如果相关的数据库启用flashback功能的话,Oracle数据库即在shared pool中对Oracle flashback buffer进行分配,下面就是Oracle数据库的部分启动日志,可以清楚的看到flashback buffer在

Oracle 10g中,如果相关的数据库启用flashback功能的话,Oracle数据库即在shared pool中对Oracle flashback buffer进行分配,下面就是Oracle数据库的部分启动日志,可以清楚的看到flashback buffer在shared pool分配了3981204 bytes。

引用

  1. Wed Dec 30 15:20:40 2009  
  2. Allocated 3981204 bytes in shared pool for flashback generation buffer  
  3. Starting background process RVWR  
  4. RVWR started with pid=16, OS id=724 

同样在数据字典中也可以看到Oracle flashback buffer的大小:

引用

  1. SQL> select name,bytes from V$sgastat  
  2. 2 where pool=’shared pool’  
  3. 3 and name like ‘%flash%’;  
  4. NAME BYTES  
  5. flashback generation buff 3981204  

当flashback buffer空间紧张时,可能会出现flashback buf free by RVWR等待事件,Oracle并没有提供参数调节flashback buffer,对于高吞吐量,并发量系统初始大小并不能满足系统要求

目前系统中log_buffer大小为7012352 bytes,将其改为10M,重启数据库,观察Oracle flashback buffer变化。

引用

  1. SQL> show parameter log_buffer  
  2. NAME TYPE VALUE  
  3. log_buffer integer 7012352  
  4. SQL> alter system set log_buffer=10000000 scope=spfile;  
  5. System altered.  
  6. SQL> select name,bytes from V$sgastat  
  7. 2 where pool=’shared pool’  
  8. 3 and name like ‘%flash%’;  
  9. NAME BYTES  
  10. flashback generation buff 3981204  
  11. SQL> startup force  
  12. ORACLE instance started.  
  13. Total System Global Area 536870912 bytes  
  14. Fixed Size 1262764 bytes  
  15. Variable Size 155192148 bytes  
  16. Database Buffers 369098752 bytes  
  17. Redo Buffers 11317248 bytes  
  18. Database mounted.  
  19. Database opened.  
  20. SQL> select name,bytes from V$sgastat  
  21. 2 where pool=’shared pool’  
  22. 3 and name like ‘%flash%’;  
  23. NAME BYTES  
  24. flashback generation buff 3981204  

可以看到flashback generation buff大小并没有发生变化。

进一步,观察和flashback相关的隐含参数 。以上的相关内容就是对Oracle flashback buffer参数研究的介绍,望你能有所收获。

精彩图集

赞助商链接