ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 关于redo log 文件中记录的内容问题 ?

关于redo log 文件中记录的内容问题 ?

原创 Linux操作系统 作者:tolywang 时间:2009-04-01 10:58:02 0 删除 编辑
关于回滚段问题, 读了回滚段探究文章之后比较了解sql 运行时在不同操作下回滚段中存储的内容 。
    不过现在对redo log 在不同操作下存储的内容不了解 。以下几种情况下redo log 中储存的数据块应该包含哪些内容呢 ?

1.  insert into tab1(aa,bb,cc)   values(1,2,'3')  ;  tab1表中原有数据10万笔, 插入语句在运行后,dirty data 在写入disk 前先通过lgwr将变化redo buffer 写入redo log , 那么这种情况下写入redo log 的内容仅仅是insert 到表tab1 中那一笔数据及相应的sql 操作 。

2. update tab2  set  bb='red'  where   aa<=200 ;  tab2 表中在sql 操作时的记录总数是1400 比, 被update 的记录数为 150 笔 ,那么在redo log 中记录这比交易的内容是被更新的150笔记录及相应的sql 操作 , 还是仅仅记录被更新的bb 字段及作为条件的aa 字段的及sql 操作, 还是其他 ?

3. delete tab2 where aa<=18 ;  那么redo log 中会记录sql操作及被删除的数据 ?  

4. redo log 以binary 方式存储信息,那么 运行delete tab2 where aa<=18  , 会删除大约10万笔记录,大小大概60M ,  用一个clear 的redo log 来记录这个transaction ,假设redo log file 大小100M ,那么redo log 中记录的内容大小和删除的记录大小是否差不多大小?

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

请登录后发表评论 登录
全部评论
Oracle , MySQL, SAP IQ, SAP HANA, PostgreSQL, Tableau 技术讨论,希望在这里一起分享知识,讨论技术,畅谈人生 。

注册时间:2007-12-10

  • 博文量
    5595
  • 访问量
    13301914