任何一种技术方案都有其使用场景,我这个主要是针对没有dmp备份,卸载了数据库,但是有实例的ctl,dbf和log文件都存在的情况。其实这种情况也蛮多的。
网络上说的情况大多比较复杂,要么ctl丢失的,只有dbf,需要通过手段重建ctl和log文件,不过经过本人测试,重建ctl没有成功,由于时间有限,没来得及调研。
本人恢复oracle背景是自己卸载了oracle10g,后来想起来自己有一个数据库的数据是十分需要的,所以又折腾着恢复过来。在网络上参考了一个恢复oracle11g的文章写的,在oracle10g下亲测可以用,发到这里共享给大家。
这里顺便补充一句:我也用网上提到的aul6 进行数据恢复,它是利用字典文件system01.dbf和业务实例文件(比如笔者的etl.dbf)将业务实例里面的表恢复成建表语句和数据,不过遗憾的是,恢复的数据对中文的支持不好,有乱码,而且,有很多表的某一列数据被拆分加入多个空格,造成数据恢复时候是乱码,导致整体不可用,而我又没有找到解决乱码的方法,估计对纯英文的支持比较好,故而只好放弃该方案。幸好我卸载以后,dbf,log,ctl文件都存在,恢复也就变得简单了,因为网络上大多说的不详细,将我的操作步骤详细的给大家共享出来。
首先安装一个一模一样的oracle10g,这个大家不要嫌麻烦,这是我目前感觉最简单有效的方式了。安装目录跟以前一不一样无所谓,因为我们经常无法安装一样的目录,比如笔者,因为已经在机器安装了oracle11g,在虚拟机重装的oracle10g,只有一个c盘。新建的数据库sid跟之前的一样是有必要的。
安装好以后,将数据库服务关闭掉,建议在cmd下利用语句完成。完整操作如下:
sqlplus /nolog
conn / as sysdba
shutdown immediate
关闭数据库以后,将实例文件改个名字,比如笔者是orcl,改为orcl2,
1. 将以前的orcl拷贝到该目录下(如c:\oracle\product\10.2.0\oradata下面)。
2. 原oracle库主目录下的FLASH_RECOVERY_AREA目录全部覆盖到新安装的oracle对应目录下。
startup 再次启动服务。
Total System Global Area 293601280 bytes Fixed Size 1248624 bytes Variable Size 100663952 bytes Database Buffers 188743680 bytes Redo Buffers 2945024 bytes 数据库装载完毕。 ORA-01122: 数据库文件 6 验证失败 ORA-01110: 数据文件 6: 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\AVPLAN.DBF' ORA-01203: 此文件的原型错误 - 创建 SCN 错误
根据看过博客操作的朋友反馈,多实例时有疑问,按照如下地址操作解决了问题!
网址:http://blog.sina.com.cn/s/blog_a59b6d310102vat0.html
相关推荐
Oracle11g dbf数据库文件恢复经验 ORACLE 报错ORA-00600:内部错误代码,参数:[kcratr_nab_less_than_odr] 经过验证 成功恢复
Oracle环境:11g 小版本:11.2.0 当前存留文件:dbf文件,log文件,ctl控制文件,在这个基础上还原数据库。笔者弄了2天终于成功。
NULL 博文链接:https://shellfish.iteye.com/blog/2303844
Oracle软件误删损坏不用慌,数据恢复技术来帮忙。只要数据文件尚在,无备份文件也能完整恢复数据库。千万不可因为玩坏了数据库而跑路,一切都还有救!
oracle11g整个数据库通过dbf文件迁移技术
4.支持oracle windows linux unlix平台的数据库,的数据文件实例恢复,在DBA无法恢复的情况我们是最后的选择。 5.自动识别块大小,也可指定块大小,在表空间块大小不一致的情况下,可自动识别每个表空间的原始块...
Oracle根据DBF文件恢复,只需要system01.dbf,undotbs01.dbf和数据库表空间的dbf文件即可恢复数据
自己用python写的工具。 支持根据sql语句查询出的结果,导出到dbf文件中。要求是查询出的结果顺序,必须和dbf文件各个字段一一对应。 前提是必须提供dbf模板文件,以确定...目前支持10g,11g 的oracle client版本。
有关于如何将dbf文件通过PL/SQL导入到oracle数据库中。 自己总结的文档 有空可以看看
c++ DBF 读取数据库DBF格式,实例代码 c++ DBF 读取数据库DBF格式,实例代码
此文详细描述利用Oracle 11g数据恢复向导恢复数据库数据文件(system,undo,user等),根据文件类型不同详细描述了恢复流程及操作流程。
oracle数据库的实验,使用oracle数据库技术对DBF文件和xls(excel)文件获取的信息进行录入本机数据库。支持table同名判断
Oracle 19c 备份恢复-导入导出
压缩包中的软件配合使用,可以从dbf完美还原需要的数据,还原教程参考我的博客 1、诗檀软件的DUL软件可在windows下运行 PRM-DUL-v3.1.zip DUL4108.zip DUL5108.zip 2、oracle的odu软件 odu_309_win32.zip 3、...
数据库宕机后,oracle 数据库的dbf文件在新数据库中还原数据
由于最近做电力抄表项目的开发,需要在PDA上直接对DBF数据库表进行直接操作,PDA系统为wince5.0. WINCE5.0上是不支持DBF等其他格式数据库的,只支持SQLCE的SDF数据库格式(在这里我要说一句,该死的微软,老是搞...
DBF数据库转SQL数据库 /// /// 获取dbf数据库中的数据 /// /// <param name="rootPath">dbf数据库存放的根目录,不包含文件名 /// <param name="dbfFile">dbf文件名,需加上后缀.dbf /// <returns></returns> ...
dbf数据库格式说明,分享给大家,foxbase,foxpro
VFC#操作DBF数据库VFC#操作DBF数据库VFC#操作DBF数据库