Control files 丢失到底会出现什么情况?

[复制链接]
查看11 | 回复9 | 2008-10-24 13:12:17 | 显示全部楼层 |阅读模式
最近准备考OCA/OCP, 做练习题时,发现一个关于control file 的问题。
原题如下:
19. Your database is configured in NOARCHIVELOG mode. All the control files have been lost due to a hard
disk failure but the data files are not lost. You have the closed whole database backup available to you. Which
two statements are true in this scenario? (Choose two.)
A) The instance aborts.
B) The database cannot be recovered.
C) The database can be recovered by restoring the control files from the backup.
D) The database remains opened and you have to shut it down with the ABORT option.
E) The database can be restored till the point of the last closed whole database backup.
参考答案选 A,E。
我有点不太明白,为什么control file丢失了,数据库instance就立马 aborts了。我开始觉得至少应该有一个写control file的事件来触发吧。
于是我在自己机器上做了一个实验。我把数据库正常启动到 open状态,然后把所有(我机器上是2个)control file 都move 到其他文件夹下面。(我用的Linux,用mv命令)
做完这个操作之后,发现之前建立的session并没有异常信息抛出,还照样可以select ,甚至 update commit 都可以做。
令我不解的是,我一直以为checkpoint 会写 control file. 但此时运行 alter system checkpoint; 居然也可以成功!我白思不得其解啊。这是为什么呢?
另外还有一道类似的题:
77. Your database is having two control files, three redo log file groups with two members in each group.
Failure of which file would cause an instance to shut down?
A) any control file
B) any archive log file
C) one of the redo log members
D) loss of the initialization parameter file
E) any data file belonging to the default permanent tablespace
参考答案是 A。但我实验出来完全不是这个结果阿....
还请高人指点迷津!谢谢!
回复

使用道具 举报

千问 | 2008-10-24 13:12:17 | 显示全部楼层
学习下。
回复

使用道具 举报

千问 | 2008-10-24 13:12:17 | 显示全部楼层
这个文件不能用移动方法.即使你移动了数据库也知道在那里还是能找的到..  .如果你删除看看...测试就要测试透彻.
回复

使用道具 举报

千问 | 2008-10-24 13:12:17 | 显示全部楼层
先备份控制文件.等下用备份控制文件来恢复.
回复

使用道具 举报

千问 | 2008-10-24 13:12:17 | 显示全部楼层
虽然有三个控制文件,但是数据库只读第一个能读到的控制文件 其他两个在数据库运行时不读
可以说更本用不到,只是在CHECKPOINT类似操作的时候才会更新同步控制文件 所以你删除另外的控制文件不会出错,不过在ALERT里面会看到警告
回复

使用道具 举报

千问 | 2008-10-24 13:12:17 | 显示全部楼层
如果三个文件都已经损坏,数据库不能通过控制文件找到相应的数据文件,日志文件,当然ABORT掉
至于恢复,是应为可以通过重建控制文件,在利用数据文件文件头上的SCN来从新恢复,所以你有最近的备份,就可以恢复到你最近的点
回复

使用道具 举报

千问 | 2008-10-24 13:12:17 | 显示全部楼层
对于你77题,你可以自己做一个实验,在spfile文件里面定义参数,然后把一个控制文件改名,效果就是A
回复

使用道具 举报

千问 | 2008-10-24 13:12:17 | 显示全部楼层
19和77的区别就是
19是在运行中的数据库down掉
77是在从关闭的数据库打开数据库
打开数据库要做检查的,检查不到参数中所有的控制文件就关闭实例
明白了没?
[ 本帖最后由 gkl0818 于 2008-10-27 16:45 编辑 ]
回复

使用道具 举报

千问 | 2008-10-24 13:12:17 | 显示全部楼层
windows数据库在线的情况是没办法删的。。。 改倒是可以改。。。。
这里有个关于心跳线的问题
自己看大师写的东西吧
http://www.eygle.com/searchmysit ... 2%E6%9C%AC%E7%AB%99
回复

使用道具 举报

千问 | 2008-10-24 13:12:17 | 显示全部楼层
现在的问题是他的磁盘给弄坏了
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行