rman恢復案例——丟失所有的數據文件
2024-07-21 02:07:03
供稿:網友
1.1. 丟失所有的數據文件
大前提,控制文件和日志文件沒有損壞。
1.1.1. 模擬丟失所有的數據文件
rman> shutdown abort;
oracle 例程已關閉
rman> host;
microsoft windows xp [版本 5.1.2600]
(c) 版權所有 1985-2001 microsoft corp.
c:/>del d:/oracle92/test1/*.dbf
c:/>exit
主機命令完成
rman>
1.1.2. mount數據庫
rman> startup mount;
已連接到目標數據庫 (未啟動)
oracle 例程已啟動
數據庫已加載
系統全局區域總計 101784276 字節
fixed size 453332 字節
variable size 75497472 字節
database buffers 25165824 字節
redo buffers 667648 字節
rman>
1.1.3. 還原數據庫(restore)
rman> restore database;
啟動 restore 于 07-10月-04
分配的通道: ora_disk_1
通道 ora_disk_1: sid=13 devtype=disk
通道 ora_disk_1: 正在開始恢復數據文件備份集
通道 ora_disk_1: 正在指定從備份集恢復的數據文件
正將數據文件00002恢復到d:/oracle92/oradata/test1/undotbs01.dbf
正將數據文件00003恢復到d:/oracle92/oradata/test1/indx01.dbf
正將數據文件00004恢復到d:/oracle92/oradata/test1/users01.dbf
通道 ora_disk_1: 已恢復備份段 1
段 handle=d:/rmantest/full01g1v3r8_1_1 tag=hot_db_bk_level0 params=null
通道 ora_disk_1: 恢復完成
通道 ora_disk_1: 正在開始恢復數據文件備份集
通道 ora_disk_1: 正在指定從備份集恢復的數據文件
正將數據文件00001恢復到d:/oracle92/oradata/test1 ystem01.dbf
通道 ora_disk_1: 已恢復備份段 1
段 handle=d:/rmantest/full02g1v3ro_2_1 tag=hot_db_bk_level0 params=null
通道 ora_disk_1: 恢復完成
完成 restore 于 07-10月-04
rman>
1.1.4. 恢復數據庫(recovery)
rman> recover database;
啟動 recover 于 07-10月-04
使用通道 ora_disk_1
正在開始介質的恢復
完成介質的恢復
完成 recover 于 07-10月-04
rman>
1.1.5. 打開數據庫
rman> alter database open;
數據庫已打開
rman>
1.2. 丟失全部的數據文件,控制文件和聯機日志文件1.2.1. 模擬丟失全部數據文件,控制文件,聯機日志文件
rman> shutdown abort;
oracle 例程已關閉
手工刪除失全部數據文件,控制文件,聯機日志文件。
1.2.2. nomount數據庫
rman> startup nomount;
已連接到目標數據庫 (未啟動)
oracle 例程已啟動
系統全局區域總計 101784276 字節
fixed size 453332 字節
variable size 75497472 字節
database buffers 25165824 字節
redo buffers 667648 字節
rman>
1.2.3. 還原控制文件
rman> restore controlfile;
啟動 restore 于 07-10月-04
分配的通道: ora_disk_1
通道 ora_disk_1: sid=13 devtype=disk
通道 ora_disk_1: 正在開始恢復數據文件備份集
通道 ora_disk_1: 正在恢復控制文件
輸出文件名=d:/oracle92/oradata/test1/control01.ctl
通道 ora_disk_1: 已恢復備份段 1
段 handle=d:/rmantest/ctl538939298_s4_p1.ctl tag=tag20041007t172138 params=null
通道 ora_disk_1: 恢復完成
正在復制控制文件
輸出文件名=d:/oracle92/oradata/test1/control01.ctl
輸出文件名=d:/oracle92/oradata/test1/control02.ctl
輸出文件名=d:/oracle92/oradata/test1/control03.ctl
完成 restore 于 07-10月-04
rman>
1.2.4. 還原所有的數據文件
rman> restore database;
啟動 restore 于 07-10月-04
使用通道 ora_disk_1
通道 ora_disk_1: 正在開始恢復數據文件備份集
通道 ora_disk_1: 正在指定從備份集恢復的數據文件
正將數據文件00002恢復到d:/oracle92/oradata/test1/undotbs01.dbf
正將數據文件00003恢復到d:/oracle92/oradata/test1/indx01.dbf
正將數據文件00004恢復到d:/oracle92/oradata/test1/users01.dbf
通道 ora_disk_1: 已恢復備份段 1
段 handle=d:/rmantest/full01g1v3r8_1_1 tag=hot_db_bk_level0 params=null
通道 ora_disk_1: 恢復完成
通道 ora_disk_1: 正在開始恢復數據文件備份集
通道 ora_disk_1: 正在指定從備份集恢復的數據文件
正將數據文件00001恢復到d:/oracle92/oradata/test1 ystem01.dbf
通道 ora_disk_1: 已恢復備份段 1
段 handle=d:/rmantest/full02g1v3ro_2_1 tag=hot_db_bk_level0 params=null
通道 ora_disk_1: 恢復完成
完成 restore 于 07-10月-04
rman>
1.2.5. mount數據庫
rman> alter database mount;
數據庫已加載
rman>
1.2.6. 恢復數據庫(基于scn的恢復)
rman> recover database until scn 71028;
啟動 recover 于 07-10月-04
使用通道 ora_disk_1
正在開始介質的恢復
存檔日志線程 1 序列 3 已作為文件 d:/oracle92/admin/test1/arch/arc00003.arch 存在于磁盤上
存檔日志線程 1 序列 4 已作為文件 d:/oracle92/admin/test1/arch/arc00004.arch 存在于磁盤上
存檔日志文件名 =d:/oracle92/admin/test1/arch/arc00003.arch 線程 =1 序列 =3
存檔日志文件名 =d:/oracle92/admin/test1/arch/arc00004.arch 線程 =1 序列 =4
完成介質的恢復
完成 recover 于 07-10月-04
rman>
1.2.7. 使用resetlogs 選項恢復數據庫
rman> alter database open resetlogs;
數據庫已打開
在恢復目錄中注冊的數據庫的新實體化
正在啟動全部恢復目錄的 resync
完成全部 resync
rman>