Oracle資料庫RMAN小結之恢復部分
續之前文章
1)完全恢復
關閉資料庫
RMAN> shutdown immediate;
資料庫已關閉
資料庫已解除安裝
Oracle 例項已關閉
刪除users資料檔案
F:\oracle\product\10.2.0\db_1\oradata\cxjuser01.dbf
開啟資料庫,提示需要恢復資料檔案4
RMAN> startup
已連線到目標資料庫 (未啟動)
Oracle 例項已啟動
資料庫已裝載
恢復最新的資料檔案4
RMAN> restore datafile 4;
啟動 restore 於 23-12月-11
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=156 devtype=DISK
通道 ORA_DISK_1: 正在開始恢復資料檔案備份集
通道 ORA_DISK_1: 正在指定從備份集恢復的資料檔案
正將資料檔案00004恢復到F:\ORACLE\PRODUCT\10.2.0\DB_1\ORADATA\CXJ\USERS01.DBF
通道 ORA_DISK_1: 正在讀取備份段 F:\ORACLE\PRODUCT\10.2.0\DB_1\FLASH_RECOVERY_ARE
A\CXJ\BACKUPSET\2011_12_23\O1_MF_NNNDF_AAAAAAA_7H8G9K77_.BKP
通道 ORA_DISK_1: 已恢復備份段 1
段控制程式碼 = F:\ORACLE\PRODUCT\10.2.0\DB_1\FLASH_RECOVERY_AREA\CXJ\BACKUPSET\2011_12
_23\O1_MF_NNNDF_AAAAAAA_7H8G9K77_.BKP 標記 = AAAAAAA
通道 ORA_DISK_1: 恢復完成, 用時: 00:00:02
完成 restore 於 23-12月-11
此時資料檔案4的scn與整個資料庫是不一致,所以需要恢復recover資料檔案4,包括恢復增量備份和之後日誌中的操作
RMAN> recover datafile 4;
啟動 recover 於 23-12月-11
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在開始恢復增量資料檔案備份集
通道 ORA_DISK_1: 正在指定從備份集恢復的資料檔案
資料檔案 00004 的恢復目標: F:\ORACLE\PRODUCT\10.2.0\DB_1\ORADATA\CXJ\USERS01.DBF
通道 ORA_DISK_1: 正在讀取備份段 F:\ORACLE\PRODUCT\10.2.0\DB_1\FLASH_RECOVERY_ARE
A\CXJ\BACKUPSET\2011_12_23\O1_MF_NNND1_TAG20111223T163049_7H8H1STY_.BKP
通道 ORA_DISK_1: 已恢復備份段 1
段控制程式碼 = F:\ORACLE\PRODUCT\10.2.0\DB_1\FLASH_RECOVERY_AREA\CXJ\BACKUPSET\2011_12
_23\O1_MF_NNND1_TAG20111223T163049_7H8H1STY_.BKP 標記 = TAG20111223T163049
通道 ORA_DISK_1: 恢復完成, 用時: 00:00:02
通道 ORA_DISK_1: 正在開始恢復增量資料檔案備份集
通道 ORA_DISK_1: 正在指定從備份集恢復的資料檔案
資料檔案 00004 的恢復目標: F:\ORACLE\PRODUCT\10.2.0\DB_1\ORADATA\CXJ\USERS01.DBF
通道 ORA_DISK_1: 正在讀取備份段 F:\ORACLE\PRODUCT\10.2.0\DB_1\FLASH_RECOVERY_ARE
A\CXJ\BACKUPSET\2011_12_23\O1_MF_NNND1_TAG20111223T163054_7H8H1Z9O_.BKP
通道 ORA_DISK_1: 已恢復備份段 1
段控制程式碼 = F:\ORACLE\PRODUCT\10.2.0\DB_1\FLASH_RECOVERY_AREA\CXJ\BACKUPSET\2011_12
_23\O1_MF_NNND1_TAG20111223T163054_7H8H1Z9O_.BKP 標記 = TAG20111223T163054
通道 ORA_DISK_1: 恢復完成, 用時: 00:00:02
通道 ORA_DISK_1: 正在開始恢復增量資料檔案備份集
通道 ORA_DISK_1: 正在指定從備份集恢復的資料檔案
資料檔案 00004 的恢復目標: F:\ORACLE\PRODUCT\10.2.0\DB_1\ORADATA\CXJ\USERS01.DBF
通道 ORA_DISK_1: 正在讀取備份段 F:\ORACLE\PRODUCT\10.2.0\DB_1\FLASH_RECOVERY_ARE
A\CXJ\BACKUPSET\2011_12_23\O1_MF_NNND1_TAG20111223T163100_7H8H24YG_.BKP
通道 ORA_DISK_1: 已恢復備份段 1
段控制程式碼 = F:\ORACLE\PRODUCT\10.2.0\DB_1\FLASH_RECOVERY_AREA\CXJ\BACKUPSET\2011_12
_23\O1_MF_NNND1_TAG20111223T163100_7H8H24YG_.BKP 標記 = TAG20111223T163100
通道 ORA_DISK_1: 恢復完成, 用時: 00:00:02
通道 ORA_DISK_1: 正在開始恢復增量資料檔案備份集
通道 ORA_DISK_1: 正在指定從備份集恢復的資料檔案
資料檔案 00004 的恢復目標: F:\ORACLE\PRODUCT\10.2.0\DB_1\ORADATA\CXJ\USERS01.DBF
通道 ORA_DISK_1: 正在讀取備份段 F:\ORACLE\PRODUCT\10.2.0\DB_1\FLASH_RECOVERY_ARE
A\CXJ\BACKUPSET\2011_12_23\O1_MF_NNND1_TAG20111223T163109_7H8H2G0B_.BKP
通道 ORA_DISK_1: 已恢復備份段 1
段控制程式碼 = F:\ORACLE\PRODUCT\10.2.0\DB_1\FLASH_RECOVERY_AREA\CXJ\BACKUPSET\2011_12
_23\O1_MF_NNND1_TAG20111223T163109_7H8H2G0B_.BKP 標記 = TAG20111223T163109
通道 ORA_DISK_1: 恢復完成, 用時: 00:00:02
正常開啟資料庫
RMAN> alter database open;
資料庫已開啟
2)不完全恢復
包含:基於scn、基於時間、基於日誌sequence三種
建立測試表t1
SQL> create table t1 as select * from dba_objects;
表已建立。
SQL> select count(*) from t1;
COUNT(*)
----------
50318
獲取當前資料的scn
SQL> select current_scn from v$database;
CURRENT_SCN
-----------
648196
刪除t1的資料
SQL> truncate table t1;
表被截斷。
關閉資料庫併到mount階段
RMAN> shutdown immediate;
資料庫已關閉
資料庫已解除安裝
Oracle 例項已關閉
RMAN> startup mount;
已連線到目標資料庫 (未啟動)
Oracle 例項已啟動
資料庫已裝載
系統全域性區域總計 612368384 位元組
Fixed Size 1250428 位元組
Variable Size 192940932 位元組
Database Buffers 411041792 位元組
Redo Buffers 7135232 位元組
注:此時備份有關的資訊是存放在控制檔案中的,也可以將備份資訊存放在目錄資料庫中
還原並恢復資料庫
基於scn
RMAN> run{
2> set until scn 648196;
3> restore database;
4> recover database;
5> alter database open resetlogs;}
正在執行命令: SET until clause
啟動 restore 於 23-12月-11
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=156 devtype=DISK
通道 ORA_DISK_1: 正在開始恢復資料檔案備份集
通道 ORA_DISK_1: 正在指定從備份集恢復的資料檔案
正將資料檔案00001恢復到F:\ORACLE\PRODUCT\10.2.0\DB_1\ORADATA\CXJ\SYSTEM01.DBF
正將資料檔案00002恢復到F:\ORACLE\PRODUCT\10.2.0\DB_1\ORADATA\CXJ\UNDOTBS01.DBF
正將資料檔案00003恢復到F:\ORACLE\PRODUCT\10.2.0\DB_1\ORADATA\CXJ\SYSAUX01.DBF
正將資料檔案00005恢復到F:\ORACLE\PRODUCT\10.2.0\DB_1\ORADATA\CXJ\EXAMPLE01.DBF
通道 ORA_DISK_1: 正在讀取備份段 F:\ORACLE\PRODUCT\10.2.0\DB_1\FLASH_RECOVERY_ARE
A\CXJ\BACKUPSET\2011_12_23\O1_MF_NNNDF_TAG20111223T155212_7H8DSDD2_.BKP
通道 ORA_DISK_1: 已恢復備份段 1
段控制程式碼 = F:\ORACLE\PRODUCT\10.2.0\DB_1\FLASH_RECOVERY_AREA\CXJ\BACKUPSET\2011_12
_23\O1_MF_NNNDF_TAG20111223T155212_7H8DSDD2_.BKP 標記 = TAG20111223T155212
通道 ORA_DISK_1: 恢復完成, 用時: 00:01:16
通道 ORA_DISK_1: 正在開始恢復資料檔案備份集
通道 ORA_DISK_1: 正在指定從備份集恢復的資料檔案
正將資料檔案00004恢復到F:\ORACLE\PRODUCT\10.2.0\DB_1\ORADATA\CXJ\USERS01.DBF
通道 ORA_DISK_1: 正在讀取備份段 F:\ORACLE\PRODUCT\10.2.0\DB_1\FLASH_RECOVERY_ARE
A\CXJ\BACKUPSET\2011_12_23\O1_MF_NNNDF_AAAAAAA_7H8G9K77_.BKP
通道 ORA_DISK_1: 已恢復備份段 1
段控制程式碼 = F:\ORACLE\PRODUCT\10.2.0\DB_1\FLASH_RECOVERY_AREA\CXJ\BACKUPSET\2011_12
_23\O1_MF_NNNDF_AAAAAAA_7H8G9K77_.BKP 標記 = AAAAAAA
通道 ORA_DISK_1: 恢復完成, 用時: 00:00:02
完成 restore 於 23-12月-11
啟動 recover 於 23-12月-11
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在開始恢復增量資料檔案備份集
通道 ORA_DISK_1: 正在指定從備份集恢復的資料檔案
資料檔案 00004 的恢復目標: F:\ORACLE\PRODUCT\10.2.0\DB_1\ORADATA\CXJ\USERS01.DBF
通道 ORA_DISK_1: 正在讀取備份段 F:\ORACLE\PRODUCT\10.2.0\DB_1\FLASH_RECOVERY_ARE
A\CXJ\BACKUPSET\2011_12_23\O1_MF_NNND1_TAG20111223T163049_7H8H1STY_.BKP
通道 ORA_DISK_1: 已恢復備份段 1
段控制程式碼 = F:\ORACLE\PRODUCT\10.2.0\DB_1\FLASH_RECOVERY_AREA\CXJ\BACKUPSET\2011_12
_23\O1_MF_NNND1_TAG20111223T163049_7H8H1STY_.BKP 標記 = TAG20111223T163049
通道 ORA_DISK_1: 恢復完成, 用時: 00:00:02
通道 ORA_DISK_1: 正在開始恢復增量資料檔案備份集
通道 ORA_DISK_1: 正在指定從備份集恢復的資料檔案
資料檔案 00004 的恢復目標: F:\ORACLE\PRODUCT\10.2.0\DB_1\ORADATA\CXJ\USERS01.DBF
通道 ORA_DISK_1: 正在讀取備份段 F:\ORACLE\PRODUCT\10.2.0\DB_1\FLASH_RECOVERY_ARE
A\CXJ\BACKUPSET\2011_12_23\O1_MF_NNND1_TAG20111223T163054_7H8H1Z9O_.BKP
通道 ORA_DISK_1: 已恢復備份段 1
段控制程式碼 = F:\ORACLE\PRODUCT\10.2.0\DB_1\FLASH_RECOVERY_AREA\CXJ\BACKUPSET\2011_12
_23\O1_MF_NNND1_TAG20111223T163054_7H8H1Z9O_.BKP 標記 = TAG20111223T163054
通道 ORA_DISK_1: 恢復完成, 用時: 00:00:02
通道 ORA_DISK_1: 正在開始恢復增量資料檔案備份集
通道 ORA_DISK_1: 正在指定從備份集恢復的資料檔案
資料檔案 00004 的恢復目標: F:\ORACLE\PRODUCT\10.2.0\DB_1\ORADATA\CXJ\USERS01.DBF
通道 ORA_DISK_1: 正在讀取備份段 F:\ORACLE\PRODUCT\10.2.0\DB_1\FLASH_RECOVERY_ARE
A\CXJ\BACKUPSET\2011_12_23\O1_MF_NNND1_TAG20111223T163100_7H8H24YG_.BKP
通道 ORA_DISK_1: 已恢復備份段 1
段控制程式碼 = F:\ORACLE\PRODUCT\10.2.0\DB_1\FLASH_RECOVERY_AREA\CXJ\BACKUPSET\2011_12
_23\O1_MF_NNND1_TAG20111223T163100_7H8H24YG_.BKP 標記 = TAG20111223T163100
通道 ORA_DISK_1: 恢復完成, 用時: 00:00:02
通道 ORA_DISK_1: 正在開始恢復增量資料檔案備份集
通道 ORA_DISK_1: 正在指定從備份集恢復的資料檔案
資料檔案 00004 的恢復目標: F:\ORACLE\PRODUCT\10.2.0\DB_1\ORADATA\CXJ\USERS01.DBF
通道 ORA_DISK_1: 正在讀取備份段 F:\ORACLE\PRODUCT\10.2.0\DB_1\FLASH_RECOVERY_ARE
A\CXJ\BACKUPSET\2011_12_23\O1_MF_NNND1_TAG20111223T163109_7H8H2G0B_.BKP
通道 ORA_DISK_1: 已恢復備份段 1
段控制程式碼 = F:\ORACLE\PRODUCT\10.2.0\DB_1\FLASH_RECOVERY_AREA\CXJ\BACKUPSET\2011_12
_23\O1_MF_NNND1_TAG20111223T163109_7H8H2G0B_.BKP 標記 = TAG20111223T163109
通道 ORA_DISK_1: 恢復完成, 用時: 00:00:01
正在開始介質的恢復
介質恢復完成, 用時: 00:00:10
完成 recover 於 23-12月-11
資料庫已開啟
注:在9i中,resetlogs將會把線上重做日誌檔案內容清空;而10g中,resetlogs將把線上日誌歸檔,然後將重做日誌檔案清空,所以10g雖然resetlogs之後,之前的線上重做日誌並沒有丟失,只是歸檔了。
重新檢視t1表
SQL> select count(*) from t1;
COUNT(*)
----------
50318
基於時間的恢復
RMAN> run{
2> set until time='2011-12-23 19:40:00';
3> restore database;
4> recover database;
5> alter databae open resetlogs;}
基於日誌sequence的恢復(恢復到sequence 9,不包含10)
RMAN> run{
2> set until sequence 10;
3> restore database;
4> recover database;
5> alter database open resetlogs;}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24104518/viewspace-713887/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle資料庫恢復之resetlogsOracle資料庫
- ORACLE DG從庫 Rman備份恢復Oracle
- Oracle 備份恢復篇之RMAN catalogOracle
- Oracle RMAN恢復測試Oracle
- 【資料庫資料恢復】如何恢復Oracle資料庫truncate表的資料資料庫資料恢復Oracle
- 【資料庫資料恢復】Oracle資料庫誤truncate table的資料恢復案例資料庫資料恢復Oracle
- 【資料庫資料恢復】誤truncate table的Oracle資料庫資料恢復方案資料庫資料恢復Oracle
- 【資料庫資料恢復】oracle資料庫誤truncate table怎麼恢復資料?資料庫資料恢復Oracle
- Oracle RMAN 表空間恢復Oracle
- 【資料庫資料恢復】Oracle資料庫ASM磁碟組掉線如何恢復資料?資料庫資料恢復OracleASM
- RMAN備份恢復典型案例——資料庫卡頓資料庫
- 【資料庫資料恢復】ASM磁碟組掉線的Oracle資料庫資料恢復案例資料庫資料恢復ASMOracle
- RMAN恢復之RMAN-06555處理
- Oracle資料庫冷備和恢復Oracle資料庫
- Oracle & MySQL & PostgreSQL資料庫恢復支援OracleMySql資料庫
- ORACLE 11.2.0.4 RAC RMAN異機恢復之ORA-15001Oracle
- 【資料庫資料恢復】ASM例項不能掛載的Oracle資料庫資料恢復案例資料庫資料恢復ASMOracle
- 資料庫資料恢復-oracle資料庫報錯無法開啟的如何恢復資料?資料庫資料恢復Oracle
- 【資料庫資料恢復】LINUX環境下ORACLE資料庫誤刪除的資料恢復資料庫資料恢復LinuxOracle
- RMAN資料庫恢復異常報錯ORA-01180資料庫
- 【資料庫資料恢復】斷電導致Oracle資料庫資料丟失的資料恢復案例資料庫資料恢復Oracle
- PostgreSQL 恢復大法 - 恢復部分資料庫、跳過壞塊、修復無法啟動的資料庫SQL資料庫
- [Oracle]Oracle資料庫資料被修改或者刪除恢復資料Oracle資料庫
- 【資料庫資料恢復】ORACLE常見資料災難&資料恢復可能性資料庫資料恢復Oracle
- 【北亞資料恢復】異常斷電導致Oracle資料庫報錯的oracle資料恢復資料恢復Oracle資料庫
- 【oracle資料庫資料恢復】誤操作導致的資料庫誤刪除的資料恢復案例Oracle資料庫資料恢復
- 【資料庫資料恢復】HP-UX系統ORACLE資料庫被誤刪除的資料恢復資料庫資料恢復UXOracle
- 【資料庫資料恢復】Oracle資料庫檔案出現壞塊報錯的資料恢復案例資料庫資料恢復Oracle
- 【資料庫資料恢復】SAP資料庫資料恢復案例資料庫資料恢復
- 寶塔資料庫恢復 mysql資料庫丟失恢復 mysql資料庫刪除庫恢復 寶塔mysql資料庫恢復資料庫MySql
- 【北亞資料恢復】oracle資料庫執行truncate table命令怎麼恢復資料?資料恢復Oracle資料庫
- 【資料庫資料恢復】Oracle ASM例項無法掛載的資料恢復案例資料庫資料恢復OracleASM
- 【資料庫資料恢復】Sql Server資料庫資料恢復案例資料庫資料恢復SQLServer
- 資料庫資料恢復-ORACLE資料庫的常見故障&各種故障下的資料恢復可能性資料庫資料恢復Oracle
- Oracle 12C新特性-RMAN恢復表Oracle
- 【資料庫資料恢復】透過恢復NDF檔案修復資料庫的資料恢復過程資料庫資料恢復
- 資料庫修復資料恢復資料庫資料恢復
- 恢復Oracle資料庫誤刪除資料的語句Oracle資料庫
- oracle資料庫災難挽救應急方案之DML誤操作恢復Oracle資料庫