问题描述
由于误删 Oracle 的表空间数据文件 **.dbf,导致数据库服务无法连接。
解决办法
首先用 sysdba 用户登录数据库,查看数据文件
1
select file#,name,status from v$datafile
然后将误删的表空间数据文件状态置为 offline。
1
alter database datafile 'xxx/xxx/xxx.dbf' offline drop
然后使用下面的sql恢复数据库。
1
alter database open resetlogs
之后会提示需要介质恢复,则用提示的文件进行恢复。
1
recover datafile '/oradata/xxx/xxx.dbf'
如提示使用 BACKUP CONTROLFILE 选项的恢复必须已完成,则使用
select * from v$logfile
查看日志文件所在路径。再使用recover database using backup controlfile
进行恢复- 最后重启数据库监听服务以及oracle即可重新连接。