oracle热备份用户管理备份之块撕裂
oracle热备份-----用户管理备份
用户管理备份:是指用户通过将表空间置于热备份模式,然后通过操作系统工具进行拷贝,拷贝结束后表空间热备份模式。
1.表空间单独存盘
2.冻结文件头 其他块继续使用此时拷贝只有文件头是好块
3.改变了日志的行为
2 from dba_objects o;
Table created.
2. 查看当前日志产生量(没有开启表空间热备模式)
SYS@ORCL>select ms.statistic#,name,value
2 from v$mystat ms,v$statname sn
3 where ms.statistic#=sn.statistic# and name=‘redo size‘;
STATISTIC# NAME VALUE
---------- -------------------------------------------------- ----------
134 redo size 12245956
SYS@ORCL>update tyger set object_id=99999 where rn=3;
1 row updated.
SYS@ORCL>commit;
Commit complete.
4.查看更新第3行数据后的日志产生量
SYS@ORCL>select ms.statistic#,name,value
2 from v$mystat ms,v$statname sn
3 where ms.statistic#=sn.statistic# and name=‘redo size‘;
STATISTIC# NAME VALUE
---------- -------------------------------------------------- ----------
134 redo size 12246604
SYS@ORCL>select 12246604-12245956 from dual;
12246604-12245956
-----------------
648 //未开启热备模式
6. 开启users表空间热备模式
SYS@ORCL>alter tablespace users begin backup;
Tablespace altered.
7. 继续更新第3行的ID
SYS@ORCL>update tyger set object_id=88888 where rn=3;
1 row updated.
SYS@ORCL>commit;
Commit complete.
8.查看当前的日志产生量
SYS@ORCL>select ms.statistic#,name,value
2 from v$mystat ms,v$statname sn
3 where ms.statistic#=sn.statistic# and name=‘redo size‘;
STATISTIC# NAME VALUE
---------- -------------------------------------------------- ----------
134 redo size 12256856
9. 计算在开启热备模式后 更新第3行数据产生的日志量
SYS@ORCL>select 12256856-12246604 from dual;
12256856-12246604
-----------------
10252 //开启热备模式后产生大量的日志量
10. 更新第10000行的ID查看更新后的日志量
SYS@ORCL>update tyger set object_id=77777 where rn=10000;
1 row updated.
SYS@ORCL>commit;
Commit complete.
SYS@ORCL>select ms.statistic#,name,value
2 from v$mystat ms,v$statname sn
3 where ms.statistic#=sn.statistic# and name=‘redo size‘;
STATISTIC# NAME VALUE
---------- -------------------------------------------------- ----------
134 redo size 12265660
11. 计算更新了第10000行后的日志产生量
SYS@ORCL>select 12265660-12256856 from dual;
12265660-12256856
-----------------
8804 //首次更新第10000行产生大量日志量
12. 继续更新第10001行的数据查看日志产生量
SYS@ORCL>update tyger set object_id=98765 where rn=10001;
1 row updated.
SYS@ORCL>select ms.statistic#,name,value
2 from v$mystat ms,v$statname sn
3 where ms.statistic#=sn.statistic# and name=‘redo size‘;
STATISTIC# NAME VALUE
---------- -------------------------------------------------- ----------
134 redo size 12266140
13. 此时发现更新完第10000行后继续更新第10001行数据日志量很少
SYS@ORCL>select 12266140-12265660 from dual;
12266140-12265660
-----------------
480 //再次更新第10001行产生很少的日志量
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。