ALLSTARS_ORACLE 发表于 2017-4-17 16:03:04

Oracle 10G 删除了system01.dbf,如何恢复?

本帖最后由 ALLSTARS_ORACLE 于 2017-4-27 13:16 编辑

大家好。朋友碰到一个问题,
10G for linux,无任何备份,非归档模式,结果误删除了system01.dbf,有办法恢复吗?



我也知道system01.dbf 的后果啊,不是就想着看看是否还有最后一丝希望嘛。

ALLSTARS_ORACLE 发表于 2017-4-27 13:15:20

可以使用prm-scan 工具碎片扫描system01.dbf 的数据块并合并成system01.dbf,关于prm-scan工具:
http://www.askmaclean.com/archives/prmscan-oracle%E7%A2%8E%E7%89%87%E6%89%AB%E6%8F%8F%E5%90%88%E5%B9%B6%E5%B7%A5%E5%85%B7.html
PRMSCAN ORACLE碎片扫描合并工具

biotwang 发表于 2017-8-4 12:56:45

$ rm -rf system01.dbf
$ cd
$ exit

-- dd整块盘进行备份SQL> startup;
ORACLE instance started.
Total System Global Area 348127232 bytes
Fixed Size 1219328 bytes
Variable Size 289408256 bytes
Database Buffers 50331648 bytes
Redo Buffers 7168000 bytes
Database mounted.
ORA-01157: cannot identify/lock data file 1 – see DBWR trace file
ORA-01110: data file 1: ‘/home/oracle/AZDB/datafiles/system01.dbf’

SQL> shutdown immediate;
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.-- 可联系诗檀救援,使用prm-scan工具碎片扫描system01.dbf的数据块并合并成system01.dbf
$ cp system01.dbf /home/oracle/AZDB/datafiles/SQL> startup;
ORACLE instance started.
Total System Global Area 348127232 bytes
Fixed Size 1219328 bytes
Variable Size 289408256 bytes
Database Buffers 50331648 bytes
Redo Buffers 7168000 bytes
Database mounted.
ORA-01113: file 1 needs media recovery
ORA-01110: data file 1: ‘/home/oracle/AZDB/datafiles/system01.dbf’

SQL> recover datafile 1;
ORA-00279: change 373322 generated at 10/31/2008 16:30:29 needed for thread 1
ORA-00289: suggestion : /home/oracle/AZDB/archive/arch_1_669569864_1.arc
ORA-00280: change 373322 for thread 1 is in sequence #1
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
Log applied.
Media recovery complete.

SQL> alter database open;
Database altered
页: [1]
查看完整版本: Oracle 10G 删除了system01.dbf,如何恢复?