暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

ORA-01157 记录一次控制文件变化引发的数据库无法启动

茶花酒食光 2021-03-03
899

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

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

 


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

 

有了方法后,检查ASM中,数据库的控制文件,与参数文件中控制文件核对,发现两者不一致:

ASM中的控制文件

这是参数文件指向控制文件

*.control_files='+DATA/thytrac2/CONTROLFILE/current.582.1026641553'#Restore Controlfile

 

解决办法:

修改参数文件init实例名.ora,指定正确控制文件

重启数据库,问题解决

 

反思引起故障原因:

      在故障之前,运行了RECOVER TABLE 这条语句,开始了一部分恢复工作,按照table恢复需求,更新了参数文件。

=============================================

【延伸学习】:

控制文件的作用:在的启动和关闭数据库的时候控制文件起着重要的作用,从官方文档中我们可以知道控制 文件中保存着下列的信息:

1、控制文件记录哪些信息?

数据库的名称及数据库创建时间等,所有的数据文件、重做日志文件的名称和位置信息、表空间的信息、Offline数据文件的信息、重做日志及归档日志的信息、备份集及备份文件的信息、检查点及SCN信息等 。正常关闭数据库时,控制文件中的SCN值,  在控制文件的数据文件信息部分,对于每一个数据文件都有一个Checkpoint SCN 和 Stop SCN,在数据库启动时要对其进行校验。

2、什么时候会用到控制文件?启动时,读取控制文件

alter database mount;

ORACLE  实例MOUNT时,  打开控制文件,数据库装载过程包括执行以下任务: 将数据库与以前启动的实例关联 ,定位并打开参数文件中指定的控制文件 ,通过读取控制文件来获取数据文件和联机重做日志文件的名称和状态

(这句话是引起这次错误的根本原因,因为读取到的控制文件,获取得数据与文件与联机日志文件与操作系统中,存储得数据文件与连机日志文件完全不同。因此后面打开数据库,会发现在指定目录找不到文件错误)



                                                        感谢关注                                                                


微信ID:茶花酒食光
长按二维码关注微互动


文章转载自茶花酒食光,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论