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

今天整理电脑文件,误删了数据库文件,导致连接数据库时报错:
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),根据这个定位到控制文件;

时间: 2024-10-05 15:17:05

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

Oracle数据库创建表空间

--Oracle数据库创建表空间 create tablespace new_taspace --表空间名 DATAFILE 'D:\NEWTABLESPACE.DBF'   --表空间关联的数据文件和位置 size 200M --文件初始大小 autoextend on next 20MB MAXSIZE 400MB; --文件大小可自动扩展,每次扩展20MB,最大400MB --创建表空间 create tablespace new_taspace1 --表空间关联的数据文件和位置 DATA

Oracle数据库的表空间基本管理

一.概述 Oracle数据库是通过表空间来存储物理表的,一个数据库实例可以有N个表空间,一个表空间下可以有N张表. 有了数据库,就可以创建表空间. 表空间(tablespace)是数据库的逻辑划分,每个数据库至少有一个表空间(称作SYSTEM表空间).为了便于管理和提高运行效率,可以使用一些附加表空间来划分用户和应用程序.例如:USER表空间供一般用户使用,RBS表空间供回滚段使用.一个表空间只能属于一个数据库. 表空间是数据库中最大的逻辑单位, SYSTEM和SYSAUX表空间是在创建数据库时

oracle 数据库导出 表空间查询 与 权限管理 整理

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>导入导出操作 oralce imp help=y; 查看命令使

Oracle数据库增加表空间

扩展表空间大小语句 1.给表空间添加一个数据文件: dba_data_files ALTER TABLESPACE users ADD DATAFILE '/u02/oracle/rbdb1/users03.dbf' SIZE 10M AUTOEXTEND ON NEXT 512K MAXSIZE 250M; 2.调整数据文件的大小: ALTER DATABASE DATAFILE '/u02/oracle/rbdb1/stuff01.dbf' RESIZE 100M; 3.启用或禁用数据文件的

Linux oracle数据库创建表空间、用户并赋予权限

管理员用户登录oracle数据库 1.创建临时表空间 select name from v$tempfile;查出当前数据库临时表空间,主要是使用里面的存放路径: 得到其中一条记录/opt/oracle/oradata/orcl/temp01.dbf 创建临时表空间:create temporary tablespace plncontrol_temp tempfile '/opt/oracle/oradata/orcl/plncontrol_temp.dbf' size 100m reuse

重命名Oracle数据库的表空间(Renaming a Tablespace)

重命名一个表空间时,Oracle会在数据字典.控制文件和数据文件的头部更新这个表空间名. 注意,重命名一个表空间不会重命名相关联的数据文件. 重命名代码示例如下: 1 SQL> alter tablespace old_name rename to new_name;

创建oracle数据库的表空间、用户、目录、导入\导出文件等信息

1.创建表空间 create tablespace ts_aw logging datafile 'd:\app\Administrator\product\tablespace\ts_aw.dbf' size 10M autoextend on next 5M maxsize 20480M; 2.创建用户 create user hb identified by hb default tablespace ts_aw; 3.给用户授权限 grant connect,resource,dba t

Oracle 数据库创建表空间、创建用户

创建表空间 create temporary tablespace user_name_temp tempfile '/oradata/ORA11G/user_name_temp.dbf' size 50m autoextend on next 50m maxsize unlimited --maxsize 2048m extent management local; create tablespace user_name_tb logging datafile '/oradata/ORA11G

ORACLE数据库建表空间、建用户、分配用户表空间,分配用户权限

1.建表空间 create tablespace 表空间名 datafile  'D:\app\Administrator\oradata\orcl\ABC.DBF' size 100M autoextend on next 50M extent management 2.建用户 create  user 用户名  identified by password default tablespace 表空间名 temporary tablespace temp   (默认表空间名) 3.给用户赋予