码迷,mamicode.com
首页 > 数据库 > 详细

【Oracle数据库】误删表空间文件【ora-01033ORA-01110】解决办法

时间:2014-10-26 14:14:03      阅读:341      评论:0      收藏:0      [点我收藏+]

标签:io   os   ar   使用   sp   文件   数据   on   2014   

今天整理电脑文件,误删了数据库文件,导致连接数据库时报错:
ora-01033:oracle initialization or shutdown in progress

在DOS窗口下恢复文件过程记录如下:

Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

C:\Users\Administrator>set ORACLE_SID=orcl

C:\Users\Administrator>sqlplus "/as sysdba"

SQL*Plus: Release 11.2.0.1.0 Production on 星期四 10月 16 15:27:47 2014

Copyright (c) 1982, 2010, Oracle.  All rights reserved.


连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> shutdown immediate
ORA-01109: 数据库未打开


已经卸载数据库。
ORACLE 例程已经关闭。
SQL> start
SP2-1506: START, @ 或 @@ 命令没有参数
SQL> startup
ORACLE 例程已经启动。

Total System Global Area 3373858816 bytes
Fixed Size                  2180424 bytes
Variable Size            1845496504 bytes
Database Buffers         1509949440 bytes
Redo Buffers               16232448 bytes
数据库装载完毕。
ORA-01157: 无法标识/锁定数据文件 7 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 7: ‘G:\ORACLETABLESPACE\STUDENT.DBL‘


SQL> shutdown immediate
ORA-01109: 数据库未打开


已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mout
SP2-0714: 无效的        STARTUP 选项组合
SQL> startup mount
ORACLE 例程已经启动。

Total System Global Area 3373858816 bytes
Fixed Size                  2180424 bytes
Variable Size            1845496504 bytes
Database Buffers         1509949440 bytes
Redo Buffers               16232448 bytes
数据库装载完毕。
SQL> recover datafile 7
ORA-00283: 恢复会话因错误而取消
ORA-01110: 数据文件 7: ‘G:\ORACLETABLESPACE\STUDENT.DBL‘
ORA-01157: 无法标识/锁定数据文件 7 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 7: ‘G:\ORACLETABLESPACE\STUDENT.DBL‘


SQL> recover datafile 7
ORA-00283: 恢复会话因错误而取消
ORA-01110: 数据文件 7: ‘G:\ORACLETABLESPACE\STUDENT.DBL‘
ORA-01157: 无法标识/锁定数据文件 7 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 7: ‘G:\ORACLETABLESPACE\STUDENT.DBL‘


SQL> startup mount
ORA-01081: 无法启动已在运行的 ORACLE - 请首先关闭它
SQL> recover datafile 7
ORA-00283: 恢复会话因错误而取消
ORA-01110: 数据文件 7: ‘G:\ORACLETABLESPACE\STUDENT.DBL‘
ORA-01157: 无法标识/锁定数据文件 7 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 7: ‘G:\ORACLETABLESPACE\STUDENT.DBL‘

SQL> recover datafile 7
ORA-00283: 恢复会话因错误而取消
ORA-01110: 数据文件 7: ‘G:\ORACLETABLESPACE\STUDENT.DBL‘
ORA-01157: 无法标识/锁定数据文件 7 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 7: ‘G:\ORACLETABLESPACE\STUDENT.DBL‘


SQL> recover datafile 7
ORA-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 file
ORA-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 file
ORA-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),根据这个定位到控制文件;

【Oracle数据库】误删表空间文件【ora-01033ORA-01110】解决办法

标签:io   os   ar   使用   sp   文件   数据   on   2014   

原文地址:http://www.cnblogs.com/yinhf/p/4051882.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!