博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Oracle数据库】误删表空间文件【ora-01033ORA-01110】解决办法
阅读量:6426 次
发布时间:2019-06-23

本文共 3860 字,大约阅读时间需要 12 分钟。

今天整理电脑文件,误删了数据库文件,导致连接数据库时报错:

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

转载于:https://www.cnblogs.com/yinhf/p/4051882.html

你可能感兴趣的文章
移动端适配知识你到底知多少
查看>>
TiDB 在 G7 的实践和未来
查看>>
重新认识javascript对象(三)——原型及原型链
查看>>
小学生学“数学”
查看>>
FastDFS蛋疼的集群和负载均衡(十七)之解决LVS+Keepalived遇到的问题
查看>>
深入剖析Redis系列(二) - Redis哨兵模式与高可用集群
查看>>
Android 用于校验集合参数的小封装
查看>>
iOS混合开发库(GICXMLLayout)七、JavaScript篇
查看>>
instrument 调试 无法指出问题代码 解决
查看>>
理解缓存
查看>>
BAT 经典算法笔试题 —— 磁盘多路归并排序
查看>>
Nginx限制带宽
查看>>
All Web Application Attack Techniques
查看>>
归档日志ORA-19809: 超出了恢复文件数的限制
查看>>
精品德国软件 UltraShredder 文件粉碎机
查看>>
PANDAS 数据合并与重塑(join/merge篇)
查看>>
文件时间信息在测试中的应用
查看>>
直播疑难杂症排查(8)— 播放杂音、噪音、回声问题
查看>>
如何写gdb命令脚本
查看>>
Android ListView展示不同的布局
查看>>