重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛

标题: 表的设计,成就英雄。 [打印本页]

作者: 王硕    时间: 2015-2-2 19:40
标题: 表的设计,成就英雄。
1.查看产生多少日志



select a.name,b.value
       from v$statname a, v$mystat b
       where a.statistic#=b.statistic#
       and a.name='redo size';
    先执行上述语句,再更新命令,再执行上述语句 ,两个结果相减可得。


2.实验准备工作,建观察redo的视图



grant all on v_$mystat to abc;
grant all on v_$statname to abc;
create table t as select * from dba_objects; 防止破坏原数据
create or replace view v_redo_size 
    as  
      select a.name,b.value
      from v$statname a,v$mystat b
      where a.statistic#=b.statistic#
      and a.name='redo size';    创建视图,方便后续直接用select * from v_redo_size



3.观察删除记录产生多少redo
select * from v_redo_size;
delete from t
select * from v_redo_size;    查出字节数


4.观察插入记录产生多少redo
insert into t select * from dba_objects;
select * from v_redo_size;


5.观察更新记录产生多少redo
update t set object_id=rownum;
select * from v_redo_size;


6.结论   
       删除产生的undo 最多,而undo也是需要redo保护的。虽然删除undo量不大,但由于保护undo的redo量变大,导致redo最多。
vb3ygR7S.txt (754 Bytes, 下载次数: 574)