楼主: grassbell

[精华] 热备份(hot backup)期间到底做了什么?

[复制链接]
论坛徽章:
10
授权会员
日期:2007-05-27 10:01:372010年世界杯参赛球队:巴西
日期:2010-02-09 17:18:59祖国60周年纪念徽章
日期:2009-10-09 08:28:002009日食纪念
日期:2009-07-22 09:30:002009新春纪念徽章
日期:2009-01-04 14:52:28奥运会纪念徽章:排球
日期:2008-07-09 05:35:32奥运会纪念徽章:自行车
日期:2008-05-24 17:23:07生肖徽章2007版:鼠
日期:2008-01-02 17:35:53生肖徽章2007版:鸡
日期:2008-01-02 17:35:532013年新春福章
日期:2013-02-25 14:51:24
41#
发表于 2007-8-2 12:49 | 只看该作者
看得頭暈!

使用道具 举报

回复
论坛徽章:
0
42#
发表于 2007-8-6 13:18 | 只看该作者
热备份的原理还好理解,但是rman备份的原理说了那么多似乎还是不清楚。

使用道具 举报

回复
论坛徽章:
11
数据库板块每日发贴之星
日期:2007-10-10 01:04:092010新春纪念徽章
日期:2010-01-04 08:33:08祖国60周年纪念徽章
日期:2009-10-09 08:28:00生肖徽章2007版:马
日期:2009-04-12 17:19:242009新春纪念徽章
日期:2009-01-04 14:52:28生肖徽章2007版:猪
日期:2008-05-06 11:10:422008新春纪念徽章
日期:2008-02-13 12:43:03生肖徽章2007版:鼠
日期:2008-01-02 17:35:53授权会员
日期:2007-11-02 16:47:52ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44
43#
发表于 2007-10-7 17:31 | 只看该作者
晕,都看不懂。
mark下,过后看到这块在细细看。

使用道具 举报

回复
论坛徽章:
10
每日论坛发贴之星
日期:2007-09-10 01:02:15金色在线徽章
日期:2007-10-03 04:03:16ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44数据库板块每日发贴之星
日期:2007-12-20 01:04:15生肖徽章2007版:猴
日期:2008-01-02 17:35:53生肖徽章2007版:鼠
日期:2008-01-02 17:35:53奥运会纪念徽章:摔跤
日期:2008-09-04 09:51:27生肖徽章2007版:狗
日期:2009-03-10 21:24:29ITPUB社区12周年站庆徽章
日期:2013-10-08 17:44:42
44#
发表于 2007-11-1 11:43 | 只看该作者
经典..比自己看书好多了

使用道具 举报

回复
论坛徽章:
2
ITPUB北京2009年会纪念徽章
日期:2009-02-09 11:42:45生肖徽章2007版:马
日期:2009-03-10 21:15:36
45#
发表于 2008-4-18 22:51 | 只看该作者
讲得太好了!

使用道具 举报

回复
论坛徽章:
1
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44
46#
发表于 2008-5-14 14:24 | 只看该作者
原帖由 grassbell 于 2004-8-10 23:40 发表
证实热备过程产生了更多的redo:
[php]
'--- 正常运行产生的redo---'
................

SQL> select 5774388-2989820 from dual;

5774388-2989820
---------------
        2784568


'--- hot backup 期间产生的redo---'
SQL> truncate table t;

Table truncated.

SQL> show user;
USER is "SYS"
SQL>
SQL> alter tablespace system begin backup;

Tablespace altered.

SQL> select value from v$sysstat where name='redo size';

     VALUE
----------
   5782896

SQL> insert into t select * from dba_objects;

24652 rows created.

SQL> commit;

Commit complete.

SQL> select value from v$sysstat where name='redo size';

     VALUE
----------
   8608520

SQL> select 8608520-5782896 from dual;

8608520-5782896
---------------
        2825624

SQL> alter tablespace system end backup;

Tablespace altered.


'--- 两者比较---'
SQL> select 2825624-2784568 from dual;

2825624-2784568
---------------
          41056

SQL>

[/php]




我的测试如下
:

sys@ASMDB> conn popgo@asmdb
Enter password: *****
Connected.
popgo@ASMDB> select value from v$sysstat where name='redo size';

     VALUE
----------
300472336

popgo@ASMDB> create table t_hotbackup as select * from dba_objects;

Table created.

popgo@ASMDB> commit;

Commit complete.

popgo@ASMDB> select value from v$sysstat where name='redo size';

     VALUE
----------
306407760

popgo@ASMDB> select
  2  306407760 - 300472336 from dual;

306407760-300472336
-------------------
            5935424

popgo@ASMDB> truncate table t_hotbackup;

Table truncated.

popgo@ASMDB> select value from v$sysstat where name='redo size';

     VALUE
----------
306483792

popgo@ASMDB> alter tablespace popgo begin backup;

Tablespace altered.

popgo@ASMDB> select value from v$sysstat where name='redo size';

     VALUE
----------
306514804

popgo@ASMDB> insert into t_hotbackup select * from dba_objects;

51361 rows created.

popgo@ASMDB> commit;

Commit complete.

popgo@ASMDB> select value from v$sysstat where name='redo size';

     VALUE
----------
312321120

popgo@ASMDB> alter tablespace popgo end backup;

Tablespace altered.

popgo@ASMDB> select 312321120-306514804 from dual;

312321120-306514804
-------------------
            5806316

popgo@ASMDB> select * from v$version;

BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE    10.2.0.1.0      Production
TNS for Linux: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production


按楼主的测试方法, 热备前后的redo size不差多少!!!不同的是,我不是在SYSTEM表空间测试操作的!不知道有没有区别!

[ 本帖最后由 justin033 于 2008-5-14 14:27 编辑 ]

使用道具 举报

回复
论坛徽章:
1
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44
47#
发表于 2008-5-14 15:35 | 只看该作者
原帖由 jametong 于 2006-10-31 17:48 发表
begin backup的时候做以下工作.
1. 设置 hotbackup-fuzzy bit. 表明这个文件正处在begin backup状态.
2. 冻结文件头的checkpoint, 保证文件checkpoint time/scn停留在begin backup的checkpoint.
3. 强制执行一次datafile checkpoint, 确保到begin backup checkpoint scn的所有的数据块都是一致的..
4. 开始做before-image的logging. 主要确保即使在出现fractured block/split block的情况下, 数据库都能从redo log中成功恢复数据.
5. 清楚file header中的online-fuzzy bit.


end backup的时候做相对的操作..
1. clear hotbackup-fuzzy bit.
2. 重新做一次完整的datafile checkpoint.
3.结束before-image logging
4. set online-fuzzy bit. (在数据库启动的时候, 主要通过这个判断数据库是否异常终止, 确定就需要进行instance recovery).



good!

使用道具 举报

回复
论坛徽章:
2
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44CTO参与奖
日期:2009-01-15 11:42:46
48#
发表于 2008-12-7 12:17 | 只看该作者
根据这个帖子和相关内容总结了下呵呵
http://www.itpub.net/thread-1076767-1-1.html

使用道具 举报

回复
论坛徽章:
3742
生肖徽章2007版:羊
日期:2013-02-08 10:53:41生肖徽章2007版:羊
日期:2013-02-08 10:53:41生肖徽章2007版:羊
日期:2013-02-08 10:53:41生肖徽章2007版:羊
日期:2013-02-08 10:53:41生肖徽章2007版:羊
日期:2013-02-08 10:53:41生肖徽章2007版:羊
日期:2013-02-08 10:53:41生肖徽章2007版:羊
日期:2013-02-08 10:53:41生肖徽章2007版:羊
日期:2013-02-08 10:53:41生肖徽章2007版:羊
日期:2013-02-08 10:53:41生肖徽章2007版:羊
日期:2013-02-08 10:53:41
49#
发表于 2008-12-9 14:15 | 只看该作者
学习

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表