123
返回列表 发新帖
楼主: simulate

[精华] oracle是如何确定应在什么时候对某个特定的数据文件或某些数据文件进行恢复的?

[复制链接]
论坛徽章:
1
授权会员
日期:2005-11-04 08:50:09
21#
发表于 2005-2-20 15:52 | 只看该作者

關注ing

關注ing

使用道具 举报

回复
论坛徽章:
314
行业板块每日发贴之星
日期:2012-07-12 18:47:29双黄蛋
日期:2011-08-12 17:31:04咸鸭蛋
日期:2011-08-18 15:13:51迷宫蛋
日期:2011-08-18 16:58:25紫蛋头
日期:2011-08-31 10:57:28ITPUB十周年纪念徽章
日期:2011-09-27 16:30:47蜘蛛蛋
日期:2011-10-20 15:51:25迷宫蛋
日期:2011-10-29 11:12:59ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41鲜花蛋
日期:2011-11-09 20:33:30
22#
发表于 2005-2-21 08:50 | 只看该作者
最初由 Kamus 发布
[B]


如果你自己作一次trace,就知道生成的是文本文件,只是一条SQL而已(当然还有一些操作步骤的建议),需要你运行这个SQL创建新的控制文件,这个新创建的控制文件里面自然有所有的数据文件信息。 [/B]


问题是,这是新创建的控制文件里是否有数据文件的检测点及
SCN的信息?若没有,则实现不了楼主的说法,那ORACLE
又是如何实现检测的;若有,那这信息从何而来?

使用道具 举报

回复
论坛徽章:
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
23#
发表于 2005-2-22 14:49 | 只看该作者
最初由 ZALBB 发布
[B]

问题是,这是新创建的控制文件里是否有数据文件的检测点及
SCN的信息?若没有,则实现不了楼主的说法,那ORACLE
又是如何实现检测的;若有,那这信息从何而来? [/B]



创建控制文件的时候会去读数据文件头从而获得一些基础信息

使用道具 举报

回复
论坛徽章:
314
行业板块每日发贴之星
日期:2012-07-12 18:47:29双黄蛋
日期:2011-08-12 17:31:04咸鸭蛋
日期:2011-08-18 15:13:51迷宫蛋
日期:2011-08-18 16:58:25紫蛋头
日期:2011-08-31 10:57:28ITPUB十周年纪念徽章
日期:2011-09-27 16:30:47蜘蛛蛋
日期:2011-10-20 15:51:25迷宫蛋
日期:2011-10-29 11:12:59ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41鲜花蛋
日期:2011-11-09 20:33:30
24#
发表于 2005-2-22 17:08 | 只看该作者
最初由 biti_rainy 发布
[B]


创建控制文件的时候会去读数据文件头从而获得一些基础信息 [/B]


假如这些基础信息可以用来诊断是否需要恢复数据文件的话,
那数据库启动的时候,只需要从文件本身获取这些信息即可
做出判断,无需和控制上的类似信息做比较;若不可以,,,

使用道具 举报

回复
论坛徽章:
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
25#
发表于 2005-2-22 17:57 | 只看该作者
最初由 ZALBB 发布
[B]

假如这些基础信息可以用来诊断是否需要恢复数据文件的话,
那数据库启动的时候,只需要从文件本身获取这些信息即可
做出判断,无需和控制上的类似信息做比较;若不可以,,, [/B]


控制文件和数据文件之间的信息是有冗余的。

控制文件上存放文件头信息还有其他用途,用于备份、恢复等,除了校验数据文件外、识别文件版本差异,还比如,数据文件丢失,通过控制文件就可以create  datafile  reuse 得到创建的时间点的scn然后根据该文件创建以来的归档日志进行恢复。

在mount状态下,使用rman就可以根据控制文件来决定备份。

假如控制文件中没有记录文件头的信息,我们很容易可以骗过oracle使用非  正确的文件 而打开数据库。


当然,我还是认为,控制文件中不存储日志文件头信息不是不可以,大不了少些功能而已。现实如此,要耿耿于怀可以去 质问  oracle 设计人员。

使用道具 举报

回复

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

本版积分规则 发表回复

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