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;
1 2 3 4 5 6 7 8 9 10 11 12 | 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;
1 2 3 4 5 6 | 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> shutdown immediate; ORA-01109: 数据库未打开
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 难:
最好再让系统检查下审核下文件,核查下文件位置。
1 | sql:alter system check datafiles;<br>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/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix