误删ORACLE数据库文件导致数据库无法启动
转载自:http://blog.sina.com.cn/s/blog_49f485700100s362.html
无意中删除了ORACLE的数据可文件,将dbf和dmp文件删除了,再后来发现服务无法启动了,连接时会提示oracle initialization or shutdown in progress,后来经过查询发现,原来这些dbf和dmp不是说删除就能删除的(我还是故意停停掉oracle服务,然后将其删除滴),最终导致数据库实例无法启动。
我的解决过程如下:
Microsoft Windows [版本 5.2.3790]
(C) 版权所有 1985-2003 Microsoft Corp.
C:\Documents and Settings\Administrator>sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on 星期五 3月 4 18:40:13 2011
Copyright (c) 1982, 2005, Oracle.
All rights reserved.
SQL> connect system/hope;
ERROR:
ORA-01033:
ORACLE initialization or shutdown in progress【就是这个错误】
【解决方法】
SQL> connect sys/hope as sysdba
已连接。
SQL> shutdown normal
ORA-01109: 数据库未打开
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> start mount
SP2-0310: 无法打开文件 "mount.sql"
SQL> startup mount
ORACLE 例程已经启动。
Total System Global Area
612368384 bytes
Fixed Size
1332348 bytes
Variable Size
183151492 bytes
Database Buffers
423624704 bytes
Redo Buffers
4259840 bytes
数据库装载完毕。
SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-01157: 无法标识/锁定数据文件 5 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 5: 'C:\TYKM.DBF'
SQL> alter database datafile 5 offline drop;【5是数据文件中的5】 就是上面错误信息里的 根据个人不同情况修改
数据库已更改。
SQL> alter database open;【我们一直循环这个语句,直至不再提示错误】
数据库已更改。
SQL> shutdown normal
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area
612368384 bytes
Fixed Size
1332348 bytes
Variable Size
187345796 bytes
Database Buffers
419430400 bytes
Redo Buffers
4259840 bytes
数据库装载完毕。
数据库已经打开。
这样就解决啦~~~哈哈哈~~~~~~~~~~~~~~~~~~~~