ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 实例演示oracle数据块状态视图v$bh的用法二 热点块问题

实例演示oracle数据块状态视图v$bh的用法二 热点块问题

原创 Linux操作系统 作者:gengzhizhen 时间:2009-03-11 16:45:59 0 删除 编辑
在实例一中,我们读取到了x$bh中的tch字段,该字段表示的该字段被读取/写入的次数,这个值在oracle的LRU算法中,是一个重要的参数,如果这个字段被访问,则该值就会增加:

1,第一次查看TCH的值:
    1.1 获得表ID:
    SQL> select data_object_id from dba_objects
    2     where wner='SYS' and object_name='TEST';

    DATA_OBJECT_ID
    --------------
             60629
   
    1.2 获得表所占用的数据库ID:
    SQL> select unique dbablk from x$bh where bj=60629;
   
    1.3 获得该表中,62191数据库的tch值:
    SQL> select tch from x$bh where bj=60629 and dbablk=62191;

           TCH
    ----------
             2

2,再次读入表test;
    SQL> select count(*) from test;

      COUNT(*)
    ----------
         20000

3,重复1.3操作,再次检测tch值:
    SQL> select tch from x$bh where bj=60629 and dbablk=62191;

           TCH
    ----------
             3

    用户可以继续试验,TCH会继续增长。由此可见,用户可以通过x$bh,获得系统中访问量比较大的字段以及其所在数据库,进一步优化存储的安排,提高系统性能。

下面的script可以列出top 10的热点块对象
select /*+rule*/ owner,object_name from dba_objects
where data_object_id in
(select obj from (select obj from x$bh order by tch desc) where rownum < 11);

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15142212/viewspace-566838/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-02-09

  • 博文量
    119
  • 访问量
    206237