所有的controlfile都丢失,数据库如何反应?

[复制链接]
查看11 | 回复9 | 2007-3-20 21:21:40 | 显示全部楼层 |阅读模式
如果做了multiplexing的控制文件丢失一个,oracle将正常运行,当然会在alert中报一个错误信息,但是不会影响数据库的正常运行(下次启动的时候,需要恢复)。

这个比较容易理解。
最近突然想,如果正在运行中的数据库的controlfile突然全部丢失,那么数据库会如何反应呢?
因为每隔三秒checkpoint都会向控制文件写入检查点信息,这是如果发现找不到控制文件将会报错,所以认为在数据库控制文件全部丢失的下个checkpoint时,数据库将会hang或者其它。
但是昨天做了一个测试,将正在运行的数据库的控制文件全部删掉,然后做简单的事务测试,数据库工作正常,使用手工执行检查点,数据库也正常运作,alert中没有任何报错信息,所以想到看看创建一个新的表空间时,数据库一定会将此信息记入控制文件,此时应该会报错,所以测试创建一个新的表空间,果然报错。所以就有些小郁闷执行检查点的时候,理论上应该是会写入控制文件的,但数据库却没有报错。
concept是这样说的:If all control files of a database are permanently lost during operation, then the instance is aborted and media recovery is required。
这里的abort到底如何理解?请大家谈谈!
回复

使用道具 举报

千问 | 2007-3-20 21:21:40 | 显示全部楼层
难道这里的
alter system checkpoint不会记入控制文件
但是每隔3s的也要记啊?
回复

使用道具 举报

千问 | 2007-3-20 21:21:40 | 显示全部楼层
高手都进来 谈谈啊拜托了
回复

使用道具 举报

千问 | 2007-3-20 21:21:40 | 显示全部楼层
就是实例挂了。
回复

使用道具 举报

千问 | 2007-3-20 21:21:40 | 显示全部楼层
但是我的测试结果不是这样的呀 数据库业务事务继续正常工作如何解释?
BANNER
----------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
PL/SQL Release 9.2.0.4.0 - Production
CORE9.2.0.3.0 Production
TNS for Linux: Version 9.2.0.4.0 - Production
NLSRTL Version 9.2.0.4.0 - Production
回复

使用道具 举报

千问 | 2007-3-20 21:21:40 | 显示全部楼层
而且执行
select * from v$controlfile_record_section也会报错说找不到控制文件
这个是正常现象,但是手工执行检查点为啥 没有报错呢? 还有每隔3s的checkpoint
回复

使用道具 举报

千问 | 2007-3-20 21:21:40 | 显示全部楼层
8可能吧。控制文件都没有了。咋记录啊。
回复

使用道具 举报

千问 | 2007-3-20 21:21:40 | 显示全部楼层
如何你没有做过实验请不要随便下结论
回复

使用道具 举报

千问 | 2007-3-20 21:21:40 | 显示全部楼层
控制丢失一个数据库就down了吧!!
回复

使用道具 举报

千问 | 2007-3-20 21:21:40 | 显示全部楼层
不会!
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行