MySQL, Oracle, Linux, 软件架构及大数据技术知识分享平台

网站首页 > 数据库 / 正文

oracle故障处理-文件丢失ORA-01157: cannot identify/lock data file

2024-11-26 17:36 huorong 数据库 5 ℃ 0 评论

#头条创作挑战赛#

一早开发人员反馈,测试库挂了。应用报错java.sql.SQLRecoverableException: ORA-01033: ORACLE initialization or shutdown in progress。

登录数据库查看alert日志:


分析数据库alert日志:

11:06:58 数据库启动到mount状态。执行alter database open的时候,发现有文件丢失:

Errors in file /usr/oracle2app/diag/rdbms/orcl2/orcl2/trace/orcl2_dbw0_106488.trc:

ORA-01157: cannot identify/lock data file 25 - see DBWR trace file

ORA-01110: data file 25

数据库启动过程检测两次丢失的文件后,依旧无法找到。报错:

ORA-1157 signalled during: ALTER DATABASE OPEN...

数据库OPEN失败,此时数据库依旧在MOUNT状态。到操作系统ls -ltr 对应的文件。显示文件不存在,数据库文件在操作系统以及被删掉。

登录数据库执行datafile offline命令。先把丢失的文件从控制文件offline掉。

alter database datafile 25 offline drop

Completed: alter database datafile 25 offline drop

再次启动数据库到open状态成功。

alter database open;

故障总结:

1、测试库非归档模式丢失了数据文件。只能采用offline drop的操作先回复数据库到OPEN保证研发人员正常使用。生产环境禁止此类操作。

2、数据库OPEN以后,需要检查该文件对应的对象。如果这部分对象没人使用则执行表空间删除命令,彻底删除文件。

3、此类操作严禁到生产操作。生产有全面的rman备份,如丢失文件需要从rman中恢复。




Tags:oracle查询库

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言