故障现象:启动数据库,发现无法启动,无法定位文件

刚开始以为是个别文件丢失,检查警告文件,发现所有文件无法访问

在ASM中查看数据文件,与报错数据文件核对,发现启动库指向文件与系统真实存在数据文件不一致,怀疑是控制文件错乱引起的问题。
有了方法后,检查ASM中,数据库的控制文件,与参数文件中控制文件核对,发现两者不一致:
ASM中的控制文件

这是参数文件指向控制文件
*.control_files='+DATA/thytrac2/CONTROLFILE/current.582.1026641553'#Restore Controlfile
解决办法:
修改参数文件init实例名.ora,指定正确控制文件

重启数据库,问题解决

反思引起故障原因:
在故障之前,运行了RECOVER TABLE 这条语句,开始了一部分恢复工作,按照table恢复需求,更新了参数文件。
=============================================
【延伸学习】:
控制文件的作用:在的启动和关闭数据库的时候控制文件起着重要的作用,从官方文档中我们可以知道控制 文件中保存着下列的信息:
1、控制文件记录哪些信息?
alter database mount;
ORACLE 实例MOUNT时, 打开控制文件,数据库装载过程包括执行以下任务: 将数据库与以前启动的实例关联 ,定位并打开参数文件中指定的控制文件 ,通过读取控制文件来获取数据文件和联机重做日志文件的名称和状态
(这句话是引起这次错误的根本原因,因为读取到的控制文件,获取得数据与文件与联机日志文件与操作系统中,存储得数据文件与连机日志文件完全不同。因此后面打开数据库,会发现在指定目录找不到文件错误)

感谢关注





