oracle删除表空间的.DBF文件后,无法打开服务

今天给客户初始化oracle还原数据。不小心手误删除了建立的表空间;

记住:客户的环境能不删东西就不删。物理删除是最最最忌讳的,一个生成的文件肯定是关联了什么东西。

 

还原一旦手动删除了表空间,oracle会出现什么样的症状? (因为我关闭了linux窗口,报错靠描绘和借鉴其他博主报错)

一、首先你的sysdba可以连上,但是查询语句的时候就会报错,报的错误就是打不开数据库

查询这个语句select file#,name,status from v$datafile;出现各种表空间名。

查询这个语句是 select * from v$tempfile; 临时表空间。

会提示缺失:xxx表空间不存在,因为被手动删了。

类似oracle-01516,Oracle 11g ORA-01516: nonexistent log file, data file, or temporary file  ....

二、登录用户会报错

Caused by: java.sql.SQLException: ORA-01109: database not open

三、不能创建数据库,提示也是没打开数据库。

 

解决方法:

 

 登录:
(1):sqlplus "/as sysdba" (2):SQL> shutdown immediate (3)SQL> startup ORACLE 例程已经启动。
报错类似

SQL> startup
ORACLE 例程已经启动。
Total System Global Area 293601280 bytes
Fixed Size 1248600 bytes
Variable Size 92275368 bytes
Database Buffers 192937984 bytes
Redo Buffers 7139328 bytes
数据库装载完毕。
ORA-01157: 无法标识/锁定数据文件 6 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 6: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\BJPOWERNACTIVEDB.DBF'

 

(5)SQL> select   name   from  v$datafile;

NAME
--------------------------------------------------------------------------------

NAME
--------------------------------------------------------------------------------
D:\ORACLE\PRODUCT\10.2.0\ORADATA\BJPOWERN\SYSTEM01.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADATA\BJPOWERN\UNDOTBS01.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADATA\BJPOWERN\SYSAUX01.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADATA\BJPOWERN\USERS01.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADATA\BJPOWERN\EXAMPLE01.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADATA\BJPOWERNACTIVEDB.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADATA\BJPOWERN\DRP.DBF

SQL> alter database datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\BJPOWERNACTIVEDB.DBF' offline;

alter database datafile D:\ORACLE\PRODUCT\10.2.0\ORADATA\BJPOWERNACTIVEDB.DBF offline
第 1 行出现错误:
ORA-01145: 除非启用了介质恢复, 否则不允许立即脱机
此时alter system check datafiles命令可以用来纠正这个问题,使数据文件能够正常访问,将触发实例重新识别并验证这个数据文件。然后使数据库能够正常工作
SQL> alter system check datafiles;
System altered.

  

 

SQL>   alter   database  datafile'D:\ORACLE\PRODUCT\10.2.0\ORADATA\BJPOWERNACTIVEDB.DBF'OFFLINE  DROP ;
 
数据库已更改。
SQL> shutdown immediate;
ORA-01109: 数据库未打开
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 293601280 bytes
Fixed Size 1248600 bytes
Variable Size 92275368 bytes
Database Buffers 192937984 bytes
Redo Buffers 7139328 bytes
数据库装载完毕。
数据库已经打开.

 

 

注意事项:

先offline 再online:
发现: offline 容易,online 难:

最好再让系统检查下审核下文件,核查下文件位置。

 sql:alter system check datafiles;
System altered.

如果报以下错误

ERROR at line 1:

ORA-01122: database file xxx  failed verification check
ORA-01110: data file 201: 'xxx/xxx/temp01.dbf'
ORA-01203: wrong incarnation of this file - wrong creation SCN

SQL> alter database tempfile '/u02/ezhou/temp01.dbf' offline;
Database altered.

SQL> alter database tempfile '/u02/ezhou/temp01.dbf' drop;

Database altered.

SQL> alter database tempfile '/u02/ezhou/temp01.dbf' online;
alter database tempfile '/u02/ezhou/temp01.dbf' online *
ERROR at line 1:
ORA-01122: database file 201 failed verification check
ORA-01110: data file 201: '/u02/ezhou/temp01.dbf'
ORA-01203: wrong incarnation of this file - wrong creation SCN

 

 

参考文章:https://blog.csdn.net/xml1996/article/details/104704869/

 
posted @ 2022-04-20 18:41  不积硅步,无以至千里  阅读(1422)  评论(0编辑  收藏  举报