archivelog 下不需要热备也能完全恢复损坏或者被删除的datafile(原创)
2024-07-21 02:06:36
供稿:网友
prerequisite:被删除的表空间创建时开始,数据库一直在archivelog模式下
恢复具体操作如下:
sql> archive log list;
database log mode archive mode
automatic archival enabled
archive destination f:/oracle/ora92/rdbms
oldest online log sequence 23
next log sequence to archive 25
current log sequence 25
sql> alter tablespace backuptest offline;
alter tablespace backuptest offline
*
error at line 1:
ora-01109: database not open
sql> alter database datafile 'f:/backup.dbf' offline;
database altered.
sql> alter database open;
database altered.
sql> alter tablespace backuptest offline immediate;
tablespace altered.
sql> select * from v$recover_file;
file# online online_ error change# time
---------- ------- ------- ----------------------------------------------------------------- ---------- ---------
11 offline offline file not found 0
sql> alter database create datafile 'f:/backup.dbf' as 'f:/backup.dbf';
database altered.
sql> select * from v$recover_file;
file# online online_ error change# time
---------- ------- ------- ----------------------------------------------------------------- ---------- ---------
11 offline offline 3074706 03-nov-04
sql> recover tablespace backuptest;
media recovery complete.
sql> alter tablespace backuptest online;
tablespace altered.
sql> select * from backup;
id
----------
1
2
至此,已经完全恢复了^_^