Oracle Freelist和HWM原理探讨及相关性能优化[11]

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 youbo2004 的 blog

high water mark之所以重要是因为它对全表扫描性能的影响。当实施一个全表扫描时,oracle会读取所有high water mark下的块即使它们是空块。当high water mark 下有很多unused block时实施全表扫描会增加额外的不必要的i/o。它也会在全局共享区中填充很多很多空块。

 

3.分析方法

    存储参数基本上属于oracle internal的东西,因此oralce并没有提供很好的手段来分析。但是对于dba来说,还是可以通过block dump和dbms_space等手段来获取部分信息。

3.1 提取block和free list信息

创建dbms_space使用的存储过程show_space

sql>

create or replace procedure show_space

 ( p_segname in varchar2,

 p_owner in varchar2 default user,

 p_type in varchar2 default 'table',

 p_partition in varchar2 default null )

 as

 l_free_blks number;

 l_total_blocks number;

 l_total_bytes number;

 l_unused_blocks number;

 l_unused_bytes number;

 l_lastusedextfileid number;

 l_lastusedextblockid number;

 l_last_used_block number;

 procedure p( p_label in varchar2, p_num in number )

本文关键:Oracle Freelist和HWM原理探讨及相关性能优化
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top