查看: 12789|回复: 69

[笔记] 为什么再次select还会产生redo?

[复制链接]
论坛徽章:
106
2008新春纪念徽章
日期:2008-02-13 12:43:03ITPUB十周年纪念徽章
日期:2011-11-01 16:21:152012新春纪念徽章
日期:2012-01-04 11:51:222012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:25版主4段
日期:2012-05-15 15:24:11ITPUB 11周年纪念徽章
日期:2012-10-09 18:07:31
跳转到指定楼层
1#
发表于 2007-2-27 15:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
[php]

14:13:01 SQL> select * from temp_trial_3006;


9651547 rows selected.

Elapsed: 00:01:42.29

Statistics
----------------------------------------------------------
          0  recursive calls
          0  db block gets
     665940  consistent gets
          0  physical reads
        936  redo size
  253514499  bytes sent via SQL*Net to client
    7078451  bytes received via SQL*Net from client
     643438  SQL*Net roundtrips to/from client
          0  sorts (memory)
          0  sorts (disk)
    9651547  rows processed

14:14:54 SQL> 14:14:54 SQL> r
  1* select * from temp_trial_3006

9651547 rows selected.

Elapsed: 00:01:42.93

Statistics
----------------------------------------------------------
          0  recursive calls
          0  db block gets
     665940  consistent gets
          0  physical reads
        936  redo size
  253514499  bytes sent via SQL*Net to client
    7078451  bytes received via SQL*Net from client
     643438  SQL*Net roundtrips to/from client
          0  sorts (memory)
          0  sorts (disk)
    9651547  rows processed

14:17:19 SQL> select * from temp_trial_3006_iot;

9651547 rows selected.

Elapsed: 00:01:42.48

Statistics
----------------------------------------------------------
          0  recursive calls
          0  db block gets
     663793  consistent gets
          0  physical reads
          0  redo size
  253514499  bytes sent via SQL*Net to client
    7078451  bytes received via SQL*Net from client
     643438  SQL*Net roundtrips to/from client
          0  sorts (memory)
          0  sorts (disk)
    9651547  rows processed

14:29:36 SQL>




数据环境

SQL> select segment_name,blocks from dba_segments where owner='YXY';

SEGMENT_NAME                       BLOCKS
------------------------------ ----------

TEMP_TRIAL_3006                     24320

SYS_IOT_TOP_21509                   22016



SQL> show parameter cache;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------

db_cache_size                        big integer 3992977408



在上面的测试过程中,有两个地方不太理解,请指点

1.为什么 select * from temp_trial_3006 在第二次执行还会产生  936  redo size  ?

2.为什么 select * from temp_trial_3006_iot 查询这个IOT表不会产生REDO ?



————————————————————————————————
[/php]
论坛徽章:
7
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44ITPUB9周年纪念徽章
日期:2010-10-08 09:28:512011新春纪念徽章
日期:2011-02-18 11:43:35ITPUB十周年纪念徽章
日期:2011-11-01 16:20:282012新春纪念徽章
日期:2012-01-04 11:50:442013年新春福章
日期:2013-02-25 14:51:24鲜花蛋
日期:2013-06-08 11:14:02
2#
发表于 2007-2-27 15:22 | 只看该作者
TOM那本新书好似也有介绍地

使用道具 举报

回复
论坛徽章:
2
授权会员
日期:2006-06-26 09:16:31会员2007贡献徽章
日期:2007-09-26 18:42:10
3#
发表于 2007-2-27 15:25 | 只看该作者
2.为什么 select * from temp_trial_3006_iot 查询这个IOT表不会产生REDO ?
这个没有redo没有什么奇怪的,select又何必要有redo呢。

1.为什么 select * from temp_trial_3006 在第二次执行还会产生  936  redo size  ?
这个有点不太好解释,如果第一次是delay block cleanout的话,那第二次呢,还是有其他session影响了呢?

使用道具 举报

回复
论坛徽章:
106
2008新春纪念徽章
日期:2008-02-13 12:43:03ITPUB十周年纪念徽章
日期:2011-11-01 16:21:152012新春纪念徽章
日期:2012-01-04 11:51:222012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:25版主4段
日期:2012-05-15 15:24:11ITPUB 11周年纪念徽章
日期:2012-10-09 18:07:31
4#
 楼主| 发表于 2007-2-27 15:28 | 只看该作者
最初由 Talmud 发布
[B]2.为什么 select * from temp_trial_3006_iot 查询这个IOT表不会产生REDO ?
这个没有redo没有什么奇怪的,select又何必要有redo呢。

1.为什么 select * from temp_trial_3006 在第二次执行还会产生  936  redo size  ?
这个有点不太好解释,如果第一次是delay block cleanout的话,那第二次呢,还是有其他session影响了呢? [/B]



没有其他session了,这个DB就我一人在玩

使用道具 举报

回复
论坛徽章:
2
授权会员
日期:2006-06-26 09:16:31会员2007贡献徽章
日期:2007-09-26 18:42:10
5#
发表于 2007-2-27 15:37 | 只看该作者
我以前的测试,如果是delay block cleanout,第一次select 显示redo,但第二次就不会有redo了。

我能够想到的就这些,还会有其他情况吗?

使用道具 举报

回复
论坛徽章:
18
ITPUB元老
日期:2005-02-28 12:57:002010年世界杯参赛球队:南非
日期:2010-04-19 12:17:452010新春纪念徽章
日期:2010-03-01 11:05:01生肖徽章2007版:牛
日期:2009-11-02 17:04:55祖国60周年纪念徽章
日期:2009-10-09 08:28:00生肖徽章2007版:兔
日期:2008-09-22 19:33:40奥运会纪念徽章:蹦床
日期:2008-09-09 11:00:24奥运会纪念徽章:跳水
日期:2008-06-16 06:59:25ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44数据库板块每日发贴之星
日期:2007-10-08 01:03:42
6#
发表于 2007-2-27 15:39 | 只看该作者
再select 还有吗?看v$transaction里是不是有这个的活的事物,如果有那你每次select都会有redo做csc

使用道具 举报

回复
论坛徽章:
20
参与2007年甲骨文全球大会(中国上海)纪念
日期:2007-08-06 15:19:002012新春纪念徽章
日期:2012-02-13 15:09:522012新春纪念徽章
日期:2012-02-13 15:09:522012新春纪念徽章
日期:2012-02-13 15:09:522012新春纪念徽章
日期:2012-02-13 15:09:52马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:09:52
7#
发表于 2007-2-27 15:53 | 只看该作者
ORACLE收集的统计数据有问题,可能出现了异常

使用道具 举报

回复
论坛徽章:
106
2008新春纪念徽章
日期:2008-02-13 12:43:03ITPUB十周年纪念徽章
日期:2011-11-01 16:21:152012新春纪念徽章
日期:2012-01-04 11:51:222012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:25版主4段
日期:2012-05-15 15:24:11ITPUB 11周年纪念徽章
日期:2012-10-09 18:07:31
8#
 楼主| 发表于 2007-2-27 18:23 | 只看该作者
最初由 zhaolinjnu 发布
[B]ORACLE收集的统计数据有问题,可能出现了异常 [/B]



[php]

QL> select * from v$sesstat where sid =(select distinct sid from v$mystat) and statistic#=(select statistic# from v$statname where name='redo size');

       SID STATISTIC#      VALUE
---------- ---------- ----------
        20        115       6224

SQL> select count(*) from temp_trial_3006;

  COUNT(*)
----------
   9651547

SQL> select * from v$sesstat where sid =(select distinct sid from v$mystat) and statistic#=(select statistic# from v$statname where name='redo size');

       SID STATISTIC#      VALUE
---------- ---------- ----------
        20        115       7160

SQL>  

[/php]

使用道具 举报

回复
论坛徽章:
106
2008新春纪念徽章
日期:2008-02-13 12:43:03ITPUB十周年纪念徽章
日期:2011-11-01 16:21:152012新春纪念徽章
日期:2012-01-04 11:51:222012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:25版主4段
日期:2012-05-15 15:24:11ITPUB 11周年纪念徽章
日期:2012-10-09 18:07:31
9#
 楼主| 发表于 2007-2-27 18:25 | 只看该作者
[php]

create table aaa as select * from temp_trial_3006;

SQL> r
  1* select * from v$sesstat where sid =(select distinct sid from v$mystat) and statistic#=(select statistic# from v$statname where name='redo size')

       SID STATISTIC#      VALUE
---------- ---------- ----------
        20        115       7160

SQL> select count(*) from aaa;

  COUNT(*)
----------
   9651547

SQL> select * from v$sesstat where sid =(select distinct sid from v$mystat) and statistic#=(select statistic# from v$statname where name='redo size');

       SID STATISTIC#      VALUE
---------- ---------- ----------
        20        115       7160




____________________________________________________
[/php]

使用道具 举报

回复
论坛徽章:
106
2008新春纪念徽章
日期:2008-02-13 12:43:03ITPUB十周年纪念徽章
日期:2011-11-01 16:21:152012新春纪念徽章
日期:2012-01-04 11:51:222012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:25版主4段
日期:2012-05-15 15:24:11ITPUB 11周年纪念徽章
日期:2012-10-09 18:07:31
10#
 楼主| 发表于 2007-2-27 19:09 | 只看该作者
回家前ding 一下

使用道具 举报

回复

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

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表