数据文件丢失,如果该数据文件时可以脱机的,那么可以在线恢复
如果不能脱机,只能到mount阶段恢复
能脱机的数据文件:用户表空间,sysaux表空间,临时表空间 中的数据文件
不能脱机的数据文件:system表空间,nudo表空间中的数据文件
可脱机的数据文件损坏
1、如果现在数据库已经open了,
让数据文件离线 可以用数据文件编号,
也可以指定数据文件路径
SQL>alter database datafile 4 offline;
Database altered.
将备份的数据文件复制过来
SQL> ho cp /opt/oracle/oradata/users01.dbf /opt/oracle/oradata/orcl/
恢复成在线时,提示需要介质恢复
SQL> alter database datafile 4 online;
alter database datafile 4 online
*
ERROR at line 1:
ORA-01113: file 4 needs media recovery
ORA-01110: data file 4: '/opt/oracle/oradata/orcl/users01.dbf'
介质恢复数据文件4
SQL> recover datafile 4;
Media recovery complete.
SQL> alter database datafile 4 online;
Database altered.
SQL> select * from scott.dept;
2、如果数据库是关闭阶段:
SQL> startup mount;
复制文件到目的地
SQL>ho cp users01.dbf orcl/
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01113: file 4 needs media recovery
ORA-01110: data file 4: '/opt/oracle/oradata/orcl/users01.dbf'
介质恢复
SQL>recover database; 或者recover datafile 4
Media recovery complete.
SQL> alter database open;
Database altered.
不可脱机的数据文件
损坏
SQL> startup
ORA-01157: cannot identify/lock data file 1 - see DBWR trace file
ORA-01110: data file 1: '/opt/oracle/oradata/orcl/system01.dbf'
复制文件到目的地
SQL> ho cp system01.dbf orcl/
ho cp system01.dbf orcl/
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01113: file 1 needs media recovery
ORA-01110: data file 1: '/opt/oracle/oradata/orcl/system01.dbf'
介质恢复
SQL> recover database; 或者recover datafile 1
Media recovery complete.
SQL> alter database open;
Database altered.