ORACLE-刪除表空間 恢復

----刪除前最好rman冷備份一次,controlfile要單獨備份 alter database backup controlfile to '/oradata/controlfile.bak'; 如果不備份控制文件也可以在備份的ramn恢復控制文件,下面是我做的實驗:

1、第一種恢復方法
SQL> select name from v$tablespace;
NAME
------------------------------
SYSTEM
UNDOTBS1
SYSAUX
USERS
TEMP
ECOLOGY


SQL> drop tablespace ecology including contents and datafiles;


SQL>shutdown immediate;


SQL>startup nomount;


RMAN>restore controlfile from '/oradata/controlfile.bak'; (控制文件需要在nomount狀態下轉儲)


RMAN>alter database mount;


RMAN>report schema;

List of Permanent Datafiles
===========================
File Size(MB) Tablespace           RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1    450      SYSTEM               ***     /oradata/oaback/system01.dbf
2    25       UNDOTBS1             ***     /oradata/oaback/undotbs01.dbf
3    300      SYSAUX               ***     /oradata/oaback/sysaux01.dbf
4    5        USERS                ***     /oradata/oaback/users01.dbf
5    0        ECOLOGY              ***     /oradata/oaback/ecology.dbf

List of Temporary Files
=======================
File Size(MB) Tablespace           Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1    20       TEMP                 32767       /oradata/oaback/temp01.dbf

(以上命令執行後可以看到刪除的表空間,控制文件轉儲成功,因爲表空間信息存儲在controlfile,如果執行此命令沒有看到刪除的表空間,那麼需要轉儲更早時間備份的controlfile,首先關閉數據庫,啓動到nomount,restore controlfile from '/oradata/controlfile.bak';在啓動到mount,執行report schema 能看到刪除的表空間則證明controlfile轉儲成功)

 

執行以下命令恢復刪除的表空間

RMAN> run{
set until time '2013-08-20 14:45:00';
allocate channel c1 type disk;
allocate channel c2 type disk;
restore database;
recover database;
alter database open resetlogs;
}


2、第二種恢復方法
先用rman:  restore controlfile from '/oradata/comtrolfile.bak';


然後:recover database until time '2013-08-20 14:44:00' using backup controlfile;(這個時間點要自己找,或者大概估計一個)


Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
/oradata/oaback/redo03.log
Log applied.
Media recovery complete.

SQL> alter database open resetlogs;
Database altered.

 

/oradata/oaback/redo03.log是當前日誌組的一個成員

 

 

 

 


 

發佈了12 篇原創文章 · 獲贊 0 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章