Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

11

积分

0

好友

4

主题
1#
发表于 2015-1-5 21:33:40 | 查看: 4328| 回复: 2
测试如下
SQL> create table myusers as select * from dba_users;

Table created.

SQL> select object_id from dba_objects where object_name='MYUSERS';

OBJECT_ID
----------
    270471

SQL> select count(*) from myusers;

  COUNT(*)
----------
        37

select obj#,STATISTIC_NAME,value from V$SEGMENT_STATISTICS where obj#=270471 and STATISTIC_NAME='db block changes';

     OBJ# STATISTIC_NAME                      VALUE
---------- ------------------------------ ----------
    270471 db block changes                        0

SQL> update myusers set user_id=1;

37 rows updated.

SQL> commit;

Commit complete.

SQL> select obj#,STATISTIC_NAME,value from V$SEGMENT_STATISTICS where obj#=270471 and STATISTIC_NAME='db block changes';

      OBJ# STATISTIC_NAME                      VALUE
---------- ------------------------------ ----------
    270471 db block changes                       32

创建的测试表比较小,简单的更新30+记录,但是 db block changes 统计值却增加了 32,请问 db block changes 的
具体统计是否 和 修改的记录数有关,
3#
发表于 2015-1-6 10:26:23
刘老大,是这样做trace吗?
SQL> alter session set events '10200 trace name context forever, level 10';

Session altered.

SQL> update myusers set user_id=1;

37 rows updated.

SQL> commit;

Commit complete.

不过测试的时候还有一个情况
会话1
select obj#,STATISTIC_NAME,value from V$SEGMENT_STATISTICS where obj#=270471 and STATISTIC_NAME='db block changes';
      OBJ# STATISTIC_NAME                      VALUE
---------- ------------------------------ ----------
    270471 db block changes                      224
SQL> update myusers set user_id=1;

37 rows updated.

会话2
select * from myusers;

会话1
SQL> commit;

Commit complete.

SQL> select obj#,STATISTIC_NAME,value from V$SEGMENT_STATISTICS where obj#=270471 and STATISTIC_NAME='db block changes';

      OBJ# STATISTIC_NAME                      VALUE
---------- ------------------------------ ----------
    270471 db block changes                      288

增加了64,

回复 只看该作者 道具 举报

2#
发表于 2015-1-5 21:45:21
请问 db block changes 的
具体统计是否 和 修改的记录数有关,

==>无关

db block changes代表此对象 数据块变化的次数 用来计量 描绘数据变化频率

并不是说 表较小就会导致  db block changes 达不到32次,具体你可以做10200相关的trace证明

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-12-21 02:48 , Processed in 0.047775 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569