以下的文章主要是对Oracle flashback buffer的实际应用的参数研究,我们大家知道在Oracle 10g中Oracle数据库可以启用flashback功能,以下的文章主要是介绍在Oracle shared pool中如何分配flashback buffer,以下是Oracle部分启动日志,可以清楚的看到Oracle flashback buffer在shared pool分配了3981204 bytes。
引用
WedDec3015:20:402009 Allocated3981204bytesinsharedpoolforflashbackgenerationbuffer StartingbackgroundprocessRVWR RVWRstartedwithpid=16,OSid=724
同样在数据字典中也可以看到Oracle flashback buffer的大小:
引用
SQL>selectname,bytesfromV$sgastat 2wherepool=’sharedpool’ 3andnamelike‘%flash%’; NAMEBYTES ————————–———- flashbackgenerationbuff3981204
当flashback buffer空间紧张时,可能会出现flashback buf free by RVWR等待事件,Oracle并没有提供参数调节Oracle flashback buffer,对于高吞吐量,并发量系统初始大小并不能满足系统要求
目前系统中log_buffer大小为7012352 bytes,将其改为10M,重启数据库,观察flashback buffer变化。
引用
SQL>showparameterlog_buffer NAMETYPEVALUE ———————————————–—————————— log_bufferinteger7012352 SQL>altersystemsetlog_buffer=10000000scope=spfile; Systemaltered. SQL>selectname,bytesfromV$sgastat 2wherepool=’sharedpool’ 3andnamelike‘%flash%’; NAMEBYTES —————————————- flashbackgenerationbuff3981204 SQL>startupforce ORACLEinstancestarted. TotalSystemGlobalArea536870912bytes FixedSize1262764bytes VariableSize155192148bytes DatabaseBuffers369098752bytes RedoBuffers11317248bytes Databasemounted. Databaseopened. SQL>selectname,bytesfromV$sgastat 2wherepool=’sharedpool’ 3andnamelike‘%flash%’; NAMEBYTES —————————————- flashbackgenerationbuff3981204
可以看到flashback generation buff大小并没有发生变化。
进一步,观察和flashback相关的隐含参数
相关文章
标签:Oracle