oracle数据库恢复,提示ORA-01110: 数据文件 35: ''

oracle数据库恢复,提示ORA-01110: 数据文件 35: '',第1张

回复有问题,你是dmp恢复的吧,这样的话要求数据名字,数据文件存放的路径都要和原来的一样。你要恢复这个数据库,先建立数据库名字,和数据库表空间,表空间位置,错误里已经提示出来了。然后就是数据库导入命令指定建立的这个数据库。

ORA-1110 、ORA-1122错误一起出现一般意味着对应号码/名字的数据文件存在问题, 而最底下的错误号一般能揭示该问题的本质,例如ORA-1200是说明数据文件的实际大小小于预期的大小。

针对有完整备份和归档的数据库可以尝试常规RESTORE、REOCOVER的方法来恢复该数据文件,而对于没哟任何形式物理备份的数据库而言,可以尝试使用DD等手段来修改数据文件大小,并绕过该问题。 注意这样做只是绕过问题而已,可能丢失的数据仍会丢失,并不会因此而恢复。

dd if= of=<output/target datafile> count=< > bs=

Taking the above example (First we take an dd backup of datafile):

dd if=/u02/oradata/careware/users01.dbf of=/tmp/corr_temp.DBF count=64000 bs=8192

Now add 1600 zero blocks to datafile /u02/oradata/careware/users01.dbf

syntax

dd if=/dev/zero of= bs= seek= count=

In parameter seek specify the block from which it should append 1600 blocks.

In this case since the file contains 64000 (as indicated by the error message) so seek=64001 which is the next block from where the append will occur.

dd if=/dev/zero of=/u02/oradata/careware/users01.dbf bs=8192 seek=64001 count=1600 conv=notrunc

Now check the file size at OS level (It should be 65600 * 8192 + 8192)bytes

Do a ls -lrt  to confirm the same.

Warning!! Once the database is open, export all the objects present in the tablespace containing the datafile. Please note that for any segment which had blocks that got

truncated at OS level, the export may fail if it tries to read data from the zero padded blocks. In that case it may be needed to apply a procedure to salvage good records.

Once export is complete, create a new tablespace and import the data.

Once it is confirmed that the data is good, drop the old tablespace.

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存