楼主: warehouse

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

[复制链接]
招聘 : 数据库管理员
论坛徽章:
25
生肖徽章2007版:龙
日期:2008-05-06 11:07:48咸鸭蛋
日期:2011-10-19 10:09:12ITPUB十周年纪念徽章
日期:2011-11-01 16:20:282012新春纪念徽章
日期:2012-01-04 11:49:542013年新春福章
日期:2013-02-25 14:51:24
11#
发表于 2008-10-2 16:13 | 只看该作者
好文,谢兄。什么时候到北京,聚聚。

使用道具 举报

回复
论坛徽章:
0
12#
发表于 2008-10-2 18:14 | 只看该作者
学习一下

使用道具 举报

回复
论坛徽章:
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
13#
 楼主| 发表于 2008-10-2 21:51 | 只看该作者
是否存在一些数据字典它是源于redo的?
弟兄们,阅读的同时别忘了思考或者回答上面的问题啊

使用道具 举报

回复
论坛徽章:
12
奥运会纪念徽章:皮划艇静水
日期:2008-05-04 15:32:29参与WIN7挑战赛纪念
日期:2009-11-17 13:32:26祖国60周年纪念徽章
日期:2009-10-09 08:28:00CTO参与奖
日期:2009-01-15 11:42:462009新春纪念徽章
日期:2009-01-04 14:52:28奥运会纪念徽章:举重
日期:2008-10-24 13:16:31授权会员
日期:2008-09-29 09:30:46奥运会纪念徽章:马术
日期:2008-09-05 04:19:37奥运会纪念徽章:曲棍球
日期:2008-08-14 11:19:03奥运会纪念徽章:皮划艇激流回旋
日期:2008-07-31 22:06:04
14#
发表于 2008-10-2 21:54 | 只看该作者
今天累的很,看见这个帖又来了兴趣
等看 完了在讨论哦

使用道具 举报

回复
论坛徽章:
62
2015中国数据库技术大会纪念徽章
日期:2015-04-24 16:04:24版主2段
日期: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:54ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41现任管理团队成员
日期:2011-05-07 01:45:08
15#
发表于 2008-10-5 13:51 | 只看该作者
我 感觉 没有 。

使用道具 举报

回复
论坛徽章:
97
ITPUB十周年纪念徽章
日期:2011-11-01 16:24:04
16#
发表于 2008-10-5 18:31 | 只看该作者
收藏
真好!

使用道具 举报

回复
论坛徽章:
14
奥运会纪念徽章:自行车
日期:2008-04-25 21:00:142013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-10 13:11:14奥运会纪念徽章:皮划艇激流回旋
日期:2012-08-13 10:25:38鲜花蛋
日期:2012-02-10 11:40:172010新春纪念徽章
日期:2010-03-01 11:04:58授权会员
日期:2010-01-12 09:40:47ITPUB元老
日期:2010-01-12 09:33:092009新春纪念徽章
日期:2009-01-04 14:52:28奥运会纪念徽章:拳击
日期:2008-10-24 13:22:33
17#
发表于 2008-10-5 19:21 | 只看该作者
佩服楼主的钻研精神。

控制文件和数据文件头对数据文件的描述,除了checkpoint scn和checkpoint cnt之外,还有重要的数据结构:status。当数据文件头中的status取不同的值时,标志数据文件处于不同的状态:online(fuzzy)、clean、read only等。我一直觉得数据库open的时候,status也是判断是否需要恢复的重要依据。

关于数据字典,实在是寡闻,想不出哪个字典表或视图要从redo中获取信息。从概念上分析,redo里只是事物的重做记录,字典无须从redo中获取信息。

使用道具 举报

回复
论坛徽章:
190
生肖徽章:狗
日期:2006-11-23 04:26:03生肖徽章:羊
日期:2007-09-26 17:08:21生肖徽章:马
日期:2007-09-26 17:08:49授权会员
日期:2007-12-31 19:14:41生肖徽章2007版:牛
日期:2008-03-28 10:02:30奥运会纪念徽章:柔道
日期:2008-04-30 16:28:44奥运会纪念徽章:垒球
日期:2008-05-12 21:28:28奥运会纪念徽章:体操
日期:2008-06-26 10:00:41奥运会纪念徽章:沙滩排球
日期:2008-07-27 12:41:59奥运会纪念徽章:艺术体操
日期:2008-07-30 11:09:47
18#
发表于 2008-10-5 19:29 | 只看该作者
给个精华吧,呵呵

使用道具 举报

回复
论坛徽章:
86
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-01-04 11:49:542012新春纪念徽章
日期: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:20咸鸭蛋
日期:2012-05-08 10:27:19版主8段
日期:2012-05-15 15:24:112013年新春福章
日期:2013-02-25 14:51:24
19#
发表于 2008-10-5 20:27 | 只看该作者
lz,你开篇描述的重点是oracle如何根据rba去寻找到恢复的日志的起点。 但用这个来概括备份恢复的原理还是不太合适的

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

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



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

[ 本帖最后由 biti_rainy 于 2008-10-5 20:29 编辑 ]

使用道具 举报

回复
论坛徽章:
14
奥运会纪念徽章:自行车
日期:2008-04-25 21:00:142013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-10 13:11:14奥运会纪念徽章:皮划艇激流回旋
日期:2012-08-13 10:25:38鲜花蛋
日期:2012-02-10 11:40:172010新春纪念徽章
日期:2010-03-01 11:04:58授权会员
日期:2010-01-12 09:40:47ITPUB元老
日期:2010-01-12 09:33:092009新春纪念徽章
日期:2009-01-04 14:52:28奥运会纪念徽章:拳击
日期:2008-10-24 13:22:33
20#
发表于 2008-10-5 20:41 | 只看该作者
原帖由 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,那么在所有数据文件都不存在的前提下是否可以恢复数据库(尝试按照原来相同的方式创建数据库所有文件)。 当然我们的推理结果是不能。后来有兄弟去做试验了,结果是不能。


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

使用道具 举报

回复

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

本版积分规则 发表回复

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