楼主: warehouse

[精华] 揭密备份恢复的原理!

[复制链接]
论坛徽章:
150
蓝锆石
日期:2011-11-16 22:31:22萤石
日期:2011-11-17 13:05:31祖母绿
日期:2008-06-14 15:23:26海蓝宝石
日期:2011-11-16 22:25:15紫水晶
日期:2011-11-16 22:31:22红宝石
日期:2011-10-09 08:54:30蓝锆石
日期:2009-01-31 15:20:54萤石
日期:2008-12-22 15:22:00祖母绿
日期:2011-11-17 13:13:26海蓝宝石
日期:2008-07-05 14:52:18
21#
 楼主| 发表于 2008-10-5 21:04 | 只看该作者
多谢biti的指点和提醒,其实备份恢复包含的内容确实很多,因为我对其他的内容可能相对比较熟悉了,或者说对我而言其他的内容都相对容易的理解了,但一直没有搞清楚oracle在恢复时是如何找到准确的起点位置的,尽管数据文件头上记录的检查点的位置(checkpoint_change#)就是恢复的起点,但是一直没想明白如何和日志准确的的关联起来,一下搞明白了,可能有些兴奋,所以对自己而言,觉得datafile header上记录的rba是真真恢复时oracle能准确找到logfile的根本原因,关于标题确实可能不合适,希望不要误导别人。

[ 本帖最后由 warehouse 于 2008-10-5 21:07 编辑 ]

使用道具 举报

回复
论坛徽章:
12
2009新春纪念徽章
日期:2009-01-04 14:52:28优秀写手
日期:2014-06-20 06:00:12蛋疼蛋
日期:2012-02-22 08:52:48ITPUB十周年纪念徽章
日期:2011-11-01 16:24:04生肖徽章2007版:鸡
日期:2009-11-11 13:17:35祖国60周年纪念徽章
日期:2009-10-09 08:28:00ITPUB8周年纪念徽章
日期:2009-09-27 10:21:21生肖徽章2007版:龙
日期:2009-08-09 19:39:29生肖徽章2007版:鸡
日期:2009-08-03 23:22:352009日食纪念
日期:2009-07-22 09:30:00
22#
发表于 2008-10-5 23:30 | 只看该作者
先顶下,

使用道具 举报

回复
论坛徽章:
68
2015年新春福章
日期:2015-03-06 11:57:31奥运会纪念徽章:手球
日期:2012-09-13 15:50:49奥运会纪念徽章:水球
日期:2012-08-26 20:46:49版主1段
日期:2012-05-15 15:24:112012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-01-04 11:49:54
23#
发表于 2008-10-6 02:55 | 只看该作者
写的挺好的。support

使用道具 举报

回复
论坛徽章:
139
2009日食纪念
日期:2009-07-22 09:30:00ITPUB8周年纪念徽章
日期:2009-09-27 10:21:21祖国60周年纪念徽章
日期:2009-10-09 08:28:002010年世界杯参赛球队:葡萄牙
日期:2010-01-18 09:23:302010年世界杯参赛球队:意大利
日期:2010-01-21 07:30:192010年世界杯参赛球队:南非
日期:2010-01-22 09:48:242010年世界杯参赛球队:加纳
日期:2010-02-13 16:34:422010新春纪念徽章
日期:2010-03-01 11:04:572010年世界杯参赛球队:斯洛伐克
日期:2010-05-21 11:24:312010年世界杯参赛球队:塞尔维亚
日期:2010-06-30 13:43:14
24#
发表于 2008-10-6 08:36 | 只看该作者
好文,谢兄的专研精神令人景仰。
这一块偶都块忘光了

使用道具 举报

回复
论坛徽章:
0
25#
发表于 2008-10-6 09:09 | 只看该作者
[quote]原帖由 biti_rainy 于 2008-10-5 20:27 发表
lz,你开篇描述的重点是oracle如何根据rba去寻找到恢复的日志的起点。 但用这个来概括备份恢复的原理还是不太合适的

我以前给人上课讲原理也是一句话:
oracle通过 log的形式记录了所有数据文件(上面的块)的变化,所以只要在某个时段备份了oracle的全部数据文件,并且拥有备份开始时间点以来的所有log,那么就可以用备份的数据文件通过log中变化信息去重演这个变化的过程而达到恢复数据的目的,如果没有某个时间点的数据文件作为应用变化的起点那么log的变化就没有立足之处。 所以备份的目标就是满足这个条件。

其他所有,包括 rba、checkpoint time、checkpoint change、scn、checkpoint 等等概念,以及恢复时候的所有行为,都是围绕这个这个原理的具体表现。一系列的试验就是尝试去列举这些具体的表现给大家感性的认识,并不断地补充一些规则。



关于这个原理的命题,前段时间我们team还有兄弟提出,假如存在自创建数据库以来的所有log,那么在所有数据文件都不存在的前提下是否可以恢复数据库(尝试按照原来相同的方式创建数据库所有文件)。 当然我们的推理结果是不能。后来有兄弟去做试验了,结果是不能。 [/quote

You got the point. That's the reason why it is compulsory for RMAN to perform a level 0 backup when starting incremental backup within the database. A level 0 backup is also called the baseline backup. From my point of view, I think the level 0 backup or baseline backup is equal to the full database backup.

使用道具 举报

回复
论坛徽章:
11
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44生肖徽章2007版:牛
日期:2008-09-21 09:12:21授权会员
日期:2008-09-27 13:54:15奥运会纪念徽章:足球
日期:2008-10-24 13:28:14生肖徽章2007版:猴
日期:2009-03-10 21:16:26生肖徽章2007版:猴
日期:2009-03-10 21:23:27生肖徽章2007版:狗
日期:2009-03-25 16:16:34
26#
发表于 2008-10-6 09:19 | 只看该作者
高作啊,  warehouse ,牛哥

使用道具 举报

回复
论坛徽章:
7
授权会员
日期:2010-12-06 19:50:26数据库板块每日发贴之星
日期:2011-09-03 01:01:01迷宫蛋
日期:2011-09-08 16:30:08ITPUB十周年纪念徽章
日期:2011-11-01 16:24:04玉石琵琶
日期:2012-02-21 15:04:38最佳人气徽章
日期:2012-03-13 17:39:18
27#
发表于 2008-10-6 09:26 | 只看该作者
原帖由 solearn 于 2008-10-5 20:41 发表


至少system文件是必须的吧。redo中的信息应该还不足以实现create database。



能说下还缺哪些信息吗?

使用道具 举报

回复
论坛徽章:
7
授权会员
日期:2010-12-06 19:50:26数据库板块每日发贴之星
日期:2011-09-03 01:01:01迷宫蛋
日期:2011-09-08 16:30:08ITPUB十周年纪念徽章
日期:2011-11-01 16:24:04玉石琵琶
日期:2012-02-21 15:04:38最佳人气徽章
日期:2012-03-13 17:39:18
28#
发表于 2008-10-6 09:27 | 只看该作者
原帖由 biti_rainy 于 2008-10-5 20:27 发表
lz,你开篇描述的重点是oracle如何根据rba去寻找到恢复的日志的起点。 但用这个来概括备份恢复的原理还是不太合适的

我以前给人上课讲原理也是一句话:
oracle通过 log的形式记录了所有数据文件(上面的块)的变化,所以只要在某个时段备份了oracle的全部数据文件,并且拥有备份开始时间点以来的所有log,那么就可以用备份的数据文件通过log中变化信息去重演这个变化的过程而达到恢复数据的目的,如果没有某个时间点的数据文件作为应用变化的起点那么log的变化就没有立足之处。 所以备份的目标就是满足这个条件。

其他所有,包括 rba、checkpoint time、checkpoint change、scn、checkpoint 等等概念,以及恢复时候的所有行为,都是围绕这个这个原理的具体表现。一系列的试验就是尝试去列举这些具体的表现给大家感性的认识,并不断地补充一些规则。



关于这个原理的命题,前段时间我们team还有兄弟提出,假如存在自创建数据库以来的所有log,那么在所有数据文件都不存在的前提下是否可以恢复数据库(尝试按照原来相同的方式创建数据库所有文件)。 当然我们的推理结果是不能。后来有兄弟去做试验了,结果是不能。


why????

使用道具 举报

回复
论坛徽章:
242
蛋疼蛋
日期:2013-01-29 11:27:262013年新春福章
日期:2013-02-25 14:51:24ITPUB社区12周年站庆徽章
日期:2013-10-08 14:56:08
29#
发表于 2008-10-6 09:44 | 只看该作者
谢谢了!

使用道具 举报

回复
论坛徽章:
27
ITPUB元老
日期:2008-01-15 09:32:23授权会员
日期:2008-08-13 23:37:22ITPUB十周年纪念徽章
日期:2011-09-27 16:30:47迷宫蛋
日期:2012-02-25 10:02:36秀才
日期:2017-03-20 13:42:20
30#
发表于 2008-10-6 09:46 | 只看该作者
先顶一下,再好好研究。谢谢LZ

使用道具 举报

回复

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

本版积分规则 发表回复

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