今天整理电脑文件,误删了数据库文件,导致连接数据库时报错:
ora-01033:oracle initialization or shutdown in progress在DOS窗口下恢复文件过程记录如下:Microsoft Windows [版本 6.1.7601]版权所有 (c) 2009 Microsoft Corporation。保留所有权利。C:\Users\Administrator>set ORACLE_SID=orclC:\Users\Administrator>sqlplus "/as sysdba"SQL*Plus: Release 11.2.0.1.0 Production on 星期四 10月 16 15:27:47 2014Copyright (c) 1982, 2010, Oracle. All rights reserved.连接到:Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing optionsSQL> shutdown immediateORA-01109: 数据库未打开已经卸载数据库。ORACLE 例程已经关闭。SQL> startSP2-1506: START, @ 或 @@ 命令没有参数SQL> startupORACLE 例程已经启动。Total System Global Area 3373858816 bytesFixed Size 2180424 bytesVariable Size 1845496504 bytesDatabase Buffers 1509949440 bytesRedo Buffers 16232448 bytes数据库装载完毕。ORA-01157: 无法标识/锁定数据文件 7 - 请参阅 DBWR 跟踪文件ORA-01110: 数据文件 7: 'G:\ORACLETABLESPACE\STUDENT.DBL'SQL> shutdown immediateORA-01109: 数据库未打开已经卸载数据库。ORACLE 例程已经关闭。SQL> startup moutSP2-0714: 无效的 STARTUP 选项组合SQL> startup mountORACLE 例程已经启动。Total System Global Area 3373858816 bytesFixed Size 2180424 bytesVariable Size 1845496504 bytesDatabase Buffers 1509949440 bytesRedo Buffers 16232448 bytes数据库装载完毕。SQL> recover datafile 7ORA-00283: 恢复会话因错误而取消ORA-01110: 数据文件 7: 'G:\ORACLETABLESPACE\STUDENT.DBL'ORA-01157: 无法标识/锁定数据文件 7 - 请参阅 DBWR 跟踪文件ORA-01110: 数据文件 7: 'G:\ORACLETABLESPACE\STUDENT.DBL'SQL> recover datafile 7ORA-00283: 恢复会话因错误而取消ORA-01110: 数据文件 7: 'G:\ORACLETABLESPACE\STUDENT.DBL'ORA-01157: 无法标识/锁定数据文件 7 - 请参阅 DBWR 跟踪文件ORA-01110: 数据文件 7: 'G:\ORACLETABLESPACE\STUDENT.DBL'SQL> startup mountORA-01081: 无法启动已在运行的 ORACLE - 请首先关闭它SQL> recover datafile 7ORA-00283: 恢复会话因错误而取消ORA-01110: 数据文件 7: 'G:\ORACLETABLESPACE\STUDENT.DBL'ORA-01157: 无法标识/锁定数据文件 7 - 请参阅 DBWR 跟踪文件ORA-01110: 数据文件 7: 'G:\ORACLETABLESPACE\STUDENT.DBL'SQL> recover datafile 7ORA-00283: 恢复会话因错误而取消ORA-01110: 数据文件 7: 'G:\ORACLETABLESPACE\STUDENT.DBL'ORA-01157: 无法标识/锁定数据文件 7 - 请参阅 DBWR 跟踪文件ORA-01110: 数据文件 7: 'G:\ORACLETABLESPACE\STUDENT.DBL'SQL> recover datafile 7ORA-00283: 恢复会话因错误而取消ORA-01110: 数据文件 7: 'G:\ORACLETABLESPACE\STUDENT.DBL'ORA-01157: 无法标识/锁定数据文件 7 - 请参阅 DBWR 跟踪文件ORA-01110: 数据文件 7: 'G:\ORACLETABLESPACE\STUDENT.DBL'SQL> select flashback_on from vdatabase;select flashback_on from vdatabase *第 1 行出现错误:ORA-01219: 数据库未打开: 仅允许在固定表/视图中查询SQL> recover datafile 'G:\ORACLETABLESPACE\STUDENT.DBL'ORA-00283: 恢复会话因错误而取消ORA-01110: 数据文件 7: 'G:\ORACLETABLESPACE\STUDENT.DBL'ORA-01157: 无法标识/锁定数据文件 7 - 请参阅 DBWR 跟踪文件ORA-01110: 数据文件 7: 'G:\ORACLETABLESPACE\STUDENT.DBL'SQL> select file_name,file_id,tablespace_name from dba_data_files;select file_name,file_id,tablespace_name from dba_data_files *第 1 行出现错误:ORA-01219: 数据库未打开: 仅允许在固定表/视图中查询SQL> startup mount;ORA-01081: 无法启动已在运行的 ORACLE - 请首先关闭它SQL> alter session set nld_language=american;alter session set nld_language=american *第 1 行出现错误:ORA-02248: 无效的 ALTER SESSION 选项SQL> alter session set nls_language=american;Session altered.SQL> alter database open;alter database open*ERROR at line 1:ORA-01157: cannot identify/lock data file 7 - see DBWR trace fileORA-01110: data file 7: 'G:\ORACLETABLESPACE\STUDENT.DBL'SQL> alter database open;alter database open*ERROR at line 1:ORA-01157: cannot identify/lock data file 7 - see DBWR trace fileORA-01110: data file 7: 'G:\ORACLETABLESPACE\STUDENT.DBL'SQL> alter database datafile 'G:\ORACLETABLESPACE\STUDENT.DBL' offline drop;Database altered.SQL> alter database datafile 'G:\ORACLETABLESPACE\STUDENT.DBL' offline drop;Database altered.SQL> alter database open;Database altered.SQL>***********************************************************至此,恢复完成,数据库可连接正常使用。原理:数据库启动到nomount状态,找到初始化参数文件(inittestDB.ora),根据这个定位到控制文件;