dbf 文件都是一致的 ,那么可以通过 重建控制文件 来打开数据库
dbf 文件并不一致 或有损坏 且无其他备份的, 需要特殊恢复手段,例如:
Oracle DBA神器:PRM灾难恢复工具,Schema级别数据恢复。PRM For Oracle Database – schema级别oracle数据库数据恢复特性 ,PRM即ParnassusData Recovery Manager是企业级别Oracle数据库灾难恢复工具。PRM可以在无备份的情况下恢复被truncated/drop掉的表,也可以恢复无法打开的Oracle数据库(Alter Database Open失败)中的数据。 PRM是图形化增强版的Oracle DUL工具,同时具备很多Oracle DUL不具备的特性
以DBA权限
执行select FILE_NAME,TABLESPACE_NAME from dba_data_files;
可以查看你的数据文件所对应的表空间
显示一个表空间中的所有的表
select from all_tables where tablespace_name ="表空间名"
一个数据文件只能对应一个表空间!而一个表空间可以包含有多个数据文件!这是基础啊。。
这个报错可以忽略,我判断你如果首次用oracle,建的目标库应该都是默认参数,所以报错的两个表空间已经是存在的,不用管他,后面数据会正常导入的,如果还有其它非默认表空间,你先用手工建立这个表空间再导入,报错同样不用理会
默认表空间有这几个:system,sysaux,undotbs1,temp,indx,users
已有的表空间查询:
select name from v$tablespace;
或者你在目标库执行:
alter system set db_4k_cache_size=50m;
oralce冷备份的恢复方法:
安装跟以前一模一样版本的数据库,包括参数配置,globaldbname,sid。
关闭数据库,删除controlfile,logfile,datafile。
把你原来崩溃的保留的controlfile,logfile,datafile复制到你删除的那个目录下。
打开数据库。
oracle的dbf文件导出数据:
只有DBF文件的情况下做Oracle 数据恢复
1)数据库所有的DBF文件都在,没有缺失,也没有损坏
这个情况是最简单的 自己建一个参数文件INITORA,并基于这些DBF文件去创建控制文件,然后尝试打开数据库即可。如果说数据文件都是干净的CLEAN的,那么直接可以打开。如果数据文件是DIRTY的,这里由于没有REDO LOG了,所以需要以隐藏参数等方式打开数据库。
2) 数据库DBF有少量缺失,缺失主要是非SYSTEM01DBF的数据文件,没有损坏
这种情况在 1)的基础上将缺失的数据文件OFFLINE DROP掉就好了,因为对应的数据文件都没了,那么丢了对应数据文件上的数据也很正常
3) 数据库DBF有少量缺失,缺失主要是非SYSTEM01DBF的数据文件,非SYSTEM01dbf的数据文件有少量损坏
这种情况在 2)的基础上打开数据库问题并不大,但打开数据库后 由于其他表空间数据文件上有少量损坏,所以具体访问用户数据时可能出现ORA-1578、ORA-8103、ORA-1410、ORA-00600等错误,还是比较容易克服的
4) 数据库DBF有少量缺失,缺失主要是非SYSTEM01DBF的数据文件,SYTEM01DBF有损坏
这种情况下打开数据库就不容易了,可能需要用到BBED技术去修改SYSTEM01DBF,以便才能打开数据库
5) 只有部分DBF,其中还缺失了SYSTEM01DBF
这种情况不要指望能打开数据库,只能使用PRM-DUL之类的软件 来直接抽取数据
以上情况1)~4) 只要SYSTEM01DBF还在或者损坏的不是太严重,那么都可以由专业技术人员去打开数据库后导出数据,但是在情况5)下只能使用DUL类工具去抽取数据了。
以上就是关于oracle dbf如何恢复全部的内容,包括:oracle dbf如何恢复、ORACLE中,.dbf后缀名的数据文件,请问里面包含多少个用户的表呢或者包含多少个表空间呢、oracle数据导入错误29339等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)