oracle的dbf文件如何把数据导出来

oracle的dbf文件如何把数据导出来,第1张

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类工具去抽取数据了。

启动dos命令窗口 然后按下面的 *** 作\x0d\sqlplus /nolog\x0d\conn sys/orcl as sysdba;\x0d\alter database open;\x0d\当 *** 作完成上面的 *** 作就会报ORA-01157: cannot identify/lock data file 9 XXXDBF就是你误删除的那个文件。然后你执行下面的 *** 作。\x0d\alter database datafile 'd:\XXXDBF' offline drop;\x0d\alter database open;

system/sysaux/undo这些系统表空间是不能删的;

你要确定哪些table是有用的,比如table_name like 'W%'等;

筛选出有数据的表空间,比如select tablespace_name from dba_tables where table_name like 'W%' group by tablespace_name order by 1;

把那些不在第1、3步中的表空间名字记下来;

确定无用的数据文件,比如select file_name, tablespace_name from dba_data_files where tablespace_name in ();

先把数据文件offline,然后再删除,大功告成。

以上就是关于oracle的dbf文件如何把数据导出来全部的内容,包括:oracle的dbf文件如何把数据导出来、oracle数据库表空间中DBF文件被删除后无法登录怎么解决、如何删除Oracle下无用的Dbf文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10197360.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存