部分联机备份在备份期间会比正常情况操作db由于os命令参与拷贝数据文件引起block split而多产生出redo!
SQL> connect /as sysdba
已连接。
SQL> show parameter db_name
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_name string orcl
SQL> drop table t;
表已删除。
SQL> create table t(id int) tablespace users;
表已创建。
SQL> select b.name , a.value
2 from v$sysstat a , v$statname b
3 where b.name like '%redo size%'
4 and a.STATISTIC# = b.STATISTIC#;
NAME VALUE
---------------------------------------------------------------- ----------
redo size 892788
SQL> insert into t values(1);
已创建 1 行。
SQL> commit;
提交完成。
SQL> select b.name , a.value
2 from v$sysstat a , v$statname b
3 where b.name like '%redo size%'
4 and a.STATISTIC# = b.STATISTIC#;
NAME VALUE
---------------------------------------------------------------- ----------
redo size 893864
SQL> select 893864 - 892788 from dual;
893864-892788
-------------
1076
SQL> alter tablespace users begin backup;
表空间已更改。
SQL> select b.name , a.value
2 from v$sysstat a , v$statname b
3 where b.name like '%redo size%'
4 and a.STATISTIC# = b.STATISTIC#;
NAME VALUE
---------------------------------------------------------------- ----------
redo size 1170336
SQL> insert into t values(2);
已创建 1 行。
SQL> commit;
提交完成。
SQL> select b.name , a.value
2 from v$sysstat a , v$statname b
3 where b.name like '%redo size%'
4 and a.STATISTIC# = b.STATISTIC#;
NAME VALUE
---------------------------------------------------------------- ----------
redo size 1181804
SQL> select 1181804 - 1170336 from dual;
1181804-1170336
---------------
11468
相差的redo:
SQL> select 11468 - 1076 from dual;
11468-1076
----------
10392