这个比较容易理解。
最近突然想,如果正在运行中的数据库的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到底如何理解?请大家谈谈!
但是我的测试结果不是这样的呀 数据库业务事务继续正常工作如何解释?
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