记一次Oracle启动报错问题解决

Posted killall007

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记一次Oracle启动报错问题解决相关的知识,希望对你有一定的参考价值。

因为之前直接删除了表空间,重启oracle后报错ORA-01157,以下记录解决方法。

ORA-01157:无法识别/锁定数据文件字符串 - 请参阅DBWR跟踪文件
原因:后台进程无法找到其中一个数据文件或未能锁定它,因为该文件已被使用。该数据库将禁止访问此文件,但其他文件将不受影响。但是,打开数据库的第一个实例需要访问所有在线数据文件。来自操作系统的伴随错误描述了无法识别文件的原因。
操作:将操作系统make文件提供给数据库。然后打开数据库或执行ALTER SYSTEM CHECK DATAFILES。

参考: http //docs.oracle.com/cd/B28359_01/server.111/b28278/e900.htm#ORA-01157 

ORA-01157数据库写入程序(DBWR)无法找到并锁定数据文件时引发此错误。这可能是由于各种原因,如
- 数据文件被删除或损坏
- 数据文件被重命名或移动
- 挂载点不正确
- 数据文件的读/写权限问题

要解决ORA-01157,我们可以使用以下步骤之一:
- 如果数据文件被删除或损坏,而不是TEMP或UNDO表空间,那么我们需要使用有效的备份来恢复它。
- 如果数据文件被删除或损坏,并且不是TEMP或UNDO表空间,但该表空间不包含重要的段,可以脱机删除
- 如果数据文件被重命名或移动,那么我们需要将其保存在原始位置
- 如果挂载点不正确,只需重新创建挂载点
- 如果它是由于权限引起的,那么

当我恢复冷备份时,我们需要在我的本地环境中在操作系统级别授予我面对ORA-01157 的权限它是为了测试目的而添加的表空间,并不重要。所以我简单地使用“OFFLINE DROP”子句删除数据文件并打开数据库。

C:\>sqlplus sys/sys as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Tue Apr 30 19:07:16 2013
Copyright (c) 1982, 2011, Oracle.  All rights reserved.
Connected to an idle instance.

SQL> startup
ORACLE instance started.
Total System Global Area  778387456 bytes
Fixed Size                  1384856 bytes
Variable Size             520097384 bytes
Database Buffers          251658240 bytes
Redo Buffers                5246976 bytes
Database mounted.
ORA-01157: cannot identify/lock data file 11 – see DBWR trace file
ORA-01110: data file 16: E:\oracle\app\nimish.garg\oradata\orcl\test_ts.dbf

SQL> select NAME from v$datafile where file#=16;
NAME
--------------------------------------------------------------------------------
E:\ORACLE\APP\NIMISH.GARG\ORADATA\ORCL\TEST_TS.DBF

SQL> alter database datafile 16 OFFLINE DROP;
Database altered.

SQL> alter database open;
Database altered.


我希望这个解决方案有助于解决您的问题。

参考:http://nimishgarg.blogspot.com/2014/01/ora-01157-cannot-identifylock-data-file.html























以上是关于记一次Oracle启动报错问题解决的主要内容,如果未能解决你的问题,请参考以下文章

记一次mongodb启动不了的解决方法

记一次遇到ORA-39006,ORA-39213的解决办法

记一次Tomcat无法正常启动的查错与解决之路

记一次ORACLE无法启动登陆事故

记一次sshd启动报错,Failed to start OpenSSH server daemon.

记一次ORA-600[13011]