实验: Oracle中表shrink与move产生redo日志比较
2011-11-27 11:50
495 查看
1 move时实验
SQL> create table my_objects_move tablespace ASSM as select * from all_objects where rownum < 20000;
Table created
SQL> select value
2 from v$mystat, v$statname
3 where v$mystat.statistic# = v$statname.statistic#
4 and v$statname.name = 'redo size';
VALUE
----------
2317832
SQL> delete from my_objects_move where object_name like '%C%';
7546 rows deleted
SQL> delete from my_objects_move where object_name like '%U%';
2959 rows deleted
SQL> commit;
Commit complete
SQL> select value
2 from v$mystat, v$statname
3 where v$mystat.statistic# = v$statname.statistic#
4 and v$statname.name = 'redo size';
VALUE
----------
6159912
SQL> alter table my_objects_move move;
Table altered
SQL> select value
2 from v$mystat, v$statname
3 where v$mystat.statistic# = v$statname.statistic#
4 and v$statname.name = 'redo size';
VALUE
----------
7265820
SQL> select (7265820 - 6159912) / 1024 / 1024 "redo_size(M)" from dual;
redo_size(M)
------------
1.0546760559
2 shrink时实验
SQL> create table my_objects tablespace ASSM as select * from all_objects where rownum < 20000;
Table created
SQL> select value
2 from v$mystat, v$statname
3 where v$mystat.statistic# = v$statname.statistic#
4 and v$statname.name = 'redo size';
VALUE
----------
2315104
SQL> delete from my_objects where object_name like '%C%';
7546 rows deleted
SQL> delete from my_objects where object_name like '%U%';
2959 rows deleted
SQL> commit;
Commit complete
SQL> select value
2 from v$mystat, v$statname
3 where v$mystat.statistic# = v$statname.statistic#
4 and v$statname.name = 'redo size';
VALUE
----------
6157428
SQL> alter table my_objects enable row movement;
Table altered
SQL> alter table my_objects shrink space;
Table altered
SQL> select value
2 from v$mystat, v$statname
3 where v$mystat.statistic# = v$statname.statistic#
4 and v$statname.name = 'redo size';
VALUE
----------
11034900
SQL> select (11034900 - 6157428) / 1024 / 1024 "redo_size(M)" from dual;
redo_size(M)
------------
4.6515197753
3 结论
move时产生的日志比shrink时少.
SQL> create table my_objects_move tablespace ASSM as select * from all_objects where rownum < 20000;
Table created
SQL> select value
2 from v$mystat, v$statname
3 where v$mystat.statistic# = v$statname.statistic#
4 and v$statname.name = 'redo size';
VALUE
----------
2317832
SQL> delete from my_objects_move where object_name like '%C%';
7546 rows deleted
SQL> delete from my_objects_move where object_name like '%U%';
2959 rows deleted
SQL> commit;
Commit complete
SQL> select value
2 from v$mystat, v$statname
3 where v$mystat.statistic# = v$statname.statistic#
4 and v$statname.name = 'redo size';
VALUE
----------
6159912
SQL> alter table my_objects_move move;
Table altered
SQL> select value
2 from v$mystat, v$statname
3 where v$mystat.statistic# = v$statname.statistic#
4 and v$statname.name = 'redo size';
VALUE
----------
7265820
SQL> select (7265820 - 6159912) / 1024 / 1024 "redo_size(M)" from dual;
redo_size(M)
------------
1.0546760559
2 shrink时实验
SQL> create table my_objects tablespace ASSM as select * from all_objects where rownum < 20000;
Table created
SQL> select value
2 from v$mystat, v$statname
3 where v$mystat.statistic# = v$statname.statistic#
4 and v$statname.name = 'redo size';
VALUE
----------
2315104
SQL> delete from my_objects where object_name like '%C%';
7546 rows deleted
SQL> delete from my_objects where object_name like '%U%';
2959 rows deleted
SQL> commit;
Commit complete
SQL> select value
2 from v$mystat, v$statname
3 where v$mystat.statistic# = v$statname.statistic#
4 and v$statname.name = 'redo size';
VALUE
----------
6157428
SQL> alter table my_objects enable row movement;
Table altered
SQL> alter table my_objects shrink space;
Table altered
SQL> select value
2 from v$mystat, v$statname
3 where v$mystat.statistic# = v$statname.statistic#
4 and v$statname.name = 'redo size';
VALUE
----------
11034900
SQL> select (11034900 - 6157428) / 1024 / 1024 "redo_size(M)" from dual;
redo_size(M)
------------
4.6515197753
3 结论
move时产生的日志比shrink时少.
相关文章推荐
- 测试4——shrink和move产生的redo log量的比较
- 实验: Oracle中表shrink与move后index的状态
- 实验: Oracle中表shrink与move后index的状态
- move和shrink的原理和redo的产生 ,利用rowid的含义实用block个数
- Script:列出Oracle每小时的redo重做日志产生量
- oracle nologging什么场景才能减少redo日志的产生
- 比较Oracle中的alter table t move和alter table t shrink space
- 启动Oracle后台服务器的方法_用来检测产生错误的原因,会打印日志
- oracle redo 重做日志文件
- 实验说明Oracle重做日志与归档日志的作用
- 20061023个人技术日志(mssql链接服务器链接到oracle,由于数据长度不定产生的问题)
- Oracle 维护redo日志 推荐
- Oracle redo log 大小及组数的设置(在线修改日志组数目及组成员个数)
- Oracle 调整重做日志(redo)大小
- 20061023个人技术日志(mssql链接服务器链接到oracle,由于数据长度不定产生的问题)
- Oracle Dataguard Standby Redo Log的两个实验
- Oracle为何会发生归档日志archivelog大小远小于联机重做日志online redo log size的情况?
- oracle 统计redo统计当天日志生成和最近日期日志生成统计
- Oracle中临时表产生过量Redo的说明
- 查看Oracle的redo日志切换频率