时间: 2020-09-7|48次围观|0 条评论

一套双节点的rac环境中,因为节点1本地硬盘空间不足造成实例崩溃,恢复实例后,通过业务账号登录数据库时,提示ora-01110错误:“ora-00376 此时无法读取文件;

ora-01110 读取文件失败”

原因为节点1实例崩溃时,由于正在写数据库,造成个别数据文件状态不一致。

解决:

1、检查需要恢复的文件

select file#,name,status from v$datafile;

状态为recover的两个datafile,在alter.log日志也能验证到相同的错误告警。

2、恢复受损文件

由于数据库运行在归档模式下,并redo日志文件和归档日志文件保存完好,可以在线恢复受损的datafile:

sql> recover datafile 20;

根据提示输入:auto,做自动恢复。

再执行一次:

sql> reocover datafile 20;

根据提示输入:cancel,恢复到同整个数据库状态一致。

将完成恢复的datafile联机:

sql> alter database datafile 20 online;

3、验证

select file#,name,status from v$datafile;

datafile状态已更新为online。

验证业务已恢复正常。

4、小结

打开归档功能,并定期做数据库备份,是救命稻草。

文章转载于:https://www.jianshu.com/p/ee0fde7c8806

原著是一个有趣的人,若有侵权,请通知删除

本博客所有文章如无特别注明均为原创。
复制或转载请以超链接形式注明转自起风了,原文地址《一次ora-01110错误处理
   

还没有人抢沙发呢~