Oracle本机上错删非系统的DBF的文件恢复

简介:

 

情况是这样的,昨天下午2点,我将Oracle离线了,然后复制一份E:\Files\Oracle\oradata\xxxxxx目录下的文件。其中xxxxxx为本机上的数据库名。

然后晚上22点钟时,我在ArcGIS中对表空间YYYY_SDE进行了致命错误的修改,便随手一删,把E:\Files\Oracle\oradata\xxxxxx\tablespase\YYYY_SDE.DBF删除了,并用昨天下午2点钟冷备份的该文件替换了这个文件。

结果数据库一直启动不了。报如下错误:

删除系统原来'E:\FILES\ORACLE\ORADATA\xxxxxx\TABLESPASE\'目录下的最新的HHCH_SDE.DBF, 想用冷备份的先前文件恢复数据库的该表空间,结果重新启动数据库时实例后报以下错误:

ORA-01113: 文件 7 需要介质恢复
ORA-01110: 数据文件 7:
'E:\FILES\ORACLE\ORADATA\xxxxxx\TABLESPASE\YYYY_SDE.DBF'

 

由于直接拷贝E:\Files\Oracle\oradata\xxxxxx目录并非为冷备份,之能算是只备份了一部分的文件。所以无法用recover命令加载这个文件,日志文件缺失。

 

问题演变为如何使用单一的.dbf文件, 去恢复Oracle数据库的表空间了。

解决方案:

首先明确的是本机上的环境,仅一个.dbf被错误替换的场景。

解决办法是死马当做活马医,还是希望能救活的。就把下午2点钟备份的E:\FILES\ORACLE\ORADATA\xxxxxx下的文件,全部拷贝到数据库的那个目录下。

然后重启数据库,但是会报ORA--00214错误,后来索性将CONTROL02.CTL控制文件也给替换了,替换为CONTROL01.CTL,名字直接改为CONTROL02.CTL。也就是

然后替换掉E:\Files\Oracle\flash_recovery_area\xxxxxx\CONTROL02.CTL为E:\Files\Oracle\oradata\xxxxxx\CONTROL01.CTL

重启数据库,奇迹出现了,竟然好了。谢天谢地!

 

 

总结:

万万使不得,自己直接删除Oracle数据库中的文件;

万万记住不能看不靠谱的网络博客,比如这次冷备份说直接让我备份数据库目录下的文件即可实现冷备份。错了。完整的冷备份是应该是Oracle空间数据库的备份与恢复 ,备份的文件绝非一个文件夹的数据;

数据安全大于天,一定要做好数据定期备份与错误恢复的基本功,做到具备系统性的数据库维护能力。

 

没有整理与归纳的知识,一文不值!高度概括与梳理的知识,才是自己真正的知识与技能。 永远不要让自己的自由、好奇、充满创造力的想法被现实的框架所束缚,让创造力自由成长吧! 多花时间,关心他(她)人,正如别人所关心你的。理想的腾飞与实现,没有别人的支持与帮助,是万万不能的。




    本文转自wenglabs博客园博客,原文链接:http://www.cnblogs.com/arxive/p/6432193.html,如需转载请自行联系原作者

相关文章
|
2月前
|
开发框架 Oracle 关系型数据库
ASP.NET实验室LIS系统源码 Oracle数据库
LIS是HIS的一个组成部分,通过与HIS的无缝连接可以共享HIS中的信息资源,使检验科能与门诊部、住院部、财务科和临床科室等全院各部门之间协同工作。 
35 4
|
2月前
|
存储 Oracle NoSQL
Oracle 表空间、数据文件、schema的关系
Oracle 表空间、数据文件、schema的关系
32 2
|
30天前
|
XML Java 数据库连接
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——hibernate的config文件(hibernate.cfg.xml)
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——hibernate的config文件(hibernate.cfg.xml)
10 0
|
6月前
|
Oracle 关系型数据库 数据库
9-4 Oracle管理表空间和数据文件
9-4 Oracle管理表空间和数据文件
|
6月前
|
Oracle 关系型数据库 数据库
Win11系统如何安装Oracle数据库(超级详细)
Win11系统如何安装Oracle数据库(超级详细)
208 0
|
3月前
|
Oracle 关系型数据库 Linux
RHEL7.9系统下一键脚本安装Oracle 11gR2单机版本
RHEL7.9系统下一键脚本安装Oracle 11gR2单机版本
56 1
|
3月前
|
SQL 存储 Oracle
oracle如何定期备份数据库sql文件
【1月更文挑战第7天】oracle如何定期备份数据库sql文件
58 8
|
8月前
|
SQL 监控 Oracle
【Oracle系列】- Oracle数据库更改数据文件位置
【Oracle系列】- Oracle数据库更改数据文件位置
138 0
|
4月前
|
Oracle 关系型数据库 数据库
这个问题可能是由于Flink在尝试获取Oracle的预览数据时,没有找到启动标志文件
这个问题可能是由于Flink在尝试获取Oracle的预览数据时,没有找到启动标志文件
43 1
|
4月前
|
Oracle 关系型数据库 数据管理
.NET医院检验系统LIS源码,使用了oracle数据库,保证数据的隔离和安全性
LIS系统实现了实验室人力资源管理、标本管理、日常事务管理、网络管理、检验数据管理(采集、传输、处理、输出、发布)、报表管理过程的自动化,使实验室的操作人员和管理者从繁杂的手工劳作中解放出来,提高了检验人员的工作效率和效益,降低了劳动成本和差错发生率。