archivelog 下不需要熱備也能完全恢複損壞或者被刪除的datafile(原創)
來源:互聯網
上載者:User
恢複|原創
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
至此,已經完全恢複了^_^