数据库正常,误删了表空间,但只有误删表空间的.dbf数据文件,能恢复数据吗? 各位大侠: 我的数据库还正常,只是不小心误删了一个应用的表空间,但我有这个误删表空间的.dbf数据文件。现我在数据库下重新建一表空间,能利用误删表空间的dbf文件把数据恢复吗? 急啊。谢谢。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 只能通过备份来恢复,如果没有备份,就无法恢复。 你的数据文件是怎么删掉的,数据库在打开的时候是无法删除数据文件的。数据文件头里保存了最新的SCN。 这个和控制文件里的保持一致时才能正常启动。 如果直接恢复,数据库是启动不了的。 ------------------------------------------------------------------------------ Blog: http://blog.csdn.net/tianlesoftware 网上资源: http://tianlesoftware.download.csdn.net 相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx DBA1 群:62697716(满); DBA2 群:62697977 是这样的。我的数据库安装在本地硬盘上,表空间的数据文件保存在SAN上,前段时间san卡有问题,同事在san没连上的情况下把表空间给删掉了。所以现在数据库在,只剩下san下的dbf文件。请问:恢复有办法吗? 闪回是有限制的, Flashback Database 的前提是数据文件必须存在,如果不存在,就要先用RMAN restore 出数据文件,然后才能进行Flashback Database。 Flashback Database 默认也是关闭的,需要启动后才行。Oracle Flashback 技术 总结http://blog.csdn.net/tianlesoftware/archive/2009/10/16/4677378.aspx oracle 9i 表空间误删除的恢复方法日志。Errors in file /opt/ora9/admin/xwoa/udump/xwoa_ora_17933.trc:ORA-01115: 从文件 16 读取块时出现 IO 错误 (块 # 189544)ORA-27072: skgfdisp: I/O 错误Linux Error: 25: Inappropriate ioctl for deviceAdditional information: 189543靠,数据表空间文件被删除。好在数据库采用了归档模式。开始恢复: 1、SQL>shutdown immediate备份全部数据文件和控制文件和log以防恢复过程中出现问题。2、SQL> startup mount;3、SQL> alter database create datafile '/opt/ora9/oradata/xwoa/CHAOYANGJP.dbf' as '/opt/ora9/oradata/xwoa/CHAOYANGJP.dbf' reuse;创建误删除的数据文件。4、recover datafile '/opt/ora9/oradata/xwoa/CHAOYANGJP.dbf';ORA-00279: 更改 57900012 (在 09/19/2007 10:27:05 生成) 对于线程 1 是必需的ORA-00289: 建议: /opt/ora9/oradata/xwoa/archive/1_863.dbfORA-00280: 更改 57900012 对于线程 1 是按序列 # 863 进行的指定日志: {<RET>=suggested | filename | AUTO | CANCEL}输入:AUTO回车开始恢复过程,这个时间比较长。5、SQL> select d.file#,d.name,d.status,h.status from v$datafile d,v$datafile_header h where d.file#=h.file# ;查看一下数据文件是否online。如果没有online,6、SQL> ALTER DATABASE DATAFILE '/opt/ora9/oradata/xwoa/CHAOYANGJP.dbf' ONLINE;ok!完成恢复过程。 求一UPDATE语句 帮忙写一个SQL UTL_FILE.FOPEN 文件编码格式 关于日期的格式问题 dbca 无法建库的问题。求救! 关于VIEW数据的取得的执行计划分析机制的问题 oracle 如果判断一个Varchar字段是否可转换为number数字类型 excel里的日期怎么导入到oracle中? 从那个表中可以取出某表的主键字段,外键及相关联的表名等之类的信息? Oracel 9i OEM 启动问题 我现在只有一个应用的两个.dbf数据文件,能恢复数据库吗? 一个表空间exp出来,为啥有的表里的中文是??,有的确很正常?
只能通过备份来恢复,如果没有备份,就无法恢复。 你的数据文件是怎么删掉的,数据库在打开的时候是无法删除数据文件的。
数据文件头里保存了最新的SCN。 这个和控制文件里的保持一致时才能正常启动。 如果直接恢复,数据库是启动不了的。 ------------------------------------------------------------------------------
Blog: http://blog.csdn.net/tianlesoftware
网上资源: http://tianlesoftware.download.csdn.net
相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
DBA1 群:62697716(满); DBA2 群:62697977
请问:恢复有办法吗?
闪回是有限制的, Flashback Database 的前提是数据文件必须存在,如果不存在,就要先用RMAN restore 出数据文件,然后才能进行Flashback Database。 Flashback Database 默认也是关闭的,需要启动后才行。Oracle Flashback 技术 总结
http://blog.csdn.net/tianlesoftware/archive/2009/10/16/4677378.aspx
日志。
Errors in file /opt/ora9/admin/xwoa/udump/xwoa_ora_17933.trc:
ORA-01115: 从文件 16 读取块时出现 IO 错误 (块 # 189544)
ORA-27072: skgfdisp: I/O 错误
Linux Error: 25: Inappropriate ioctl for device
Additional information: 189543
靠,数据表空间文件被删除。
好在数据库采用了归档模式。
开始恢复:
1、SQL>shutdown immediate
备份全部数据文件和控制文件和log以防恢复过程中出现问题。
2、SQL> startup mount;
3、SQL> alter database create datafile '/opt/ora9/oradata/xwoa/CHAOYANGJP.dbf' as '/opt/ora9/oradata/xwoa/CHAOYANGJP.dbf' reuse;
创建误删除的数据文件。
4、recover datafile '/opt/ora9/oradata/xwoa/CHAOYANGJP.dbf';ORA-00279: 更改 57900012 (在 09/19/2007 10:27:05 生成) 对于线程 1 是必需的
ORA-00289: 建议: /opt/ora9/oradata/xwoa/archive/1_863.dbf
ORA-00280: 更改 57900012 对于线程 1 是按序列 # 863 进行的
指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
输入:AUTO回车
开始恢复过程,这个时间比较长。5、SQL> select d.file#,d.name,d.status,h.status from v$datafile d,v$datafile_header
h where d.file#=h.file# ;
查看一下数据文件是否online。
如果没有online,
6、SQL> ALTER DATABASE DATAFILE '/opt/ora9/oradata/xwoa/CHAOYANGJP.dbf' ONLINE;
ok!完成恢复过程。