1、記錄一下源資料庫的dbid
sql> select dbid from v$database;
dbid
----------
1292118315
[oracle@linux flash_recovery_area]$ rman target /
恢復管理器: release 10.2.0.4.0 - production on 星期三 10月 12 14:28:10 2011
連線到目標資料庫: orcl (dbid=1292118315)
2、在源資料庫端執行一次備份(包含資料檔案、控制檔案、歸檔日誌檔案)
rman> backup database include current controlfile plus archivelog;
啟動 backup 於 12-10月-11
當前日誌已存檔
分配的通道: ora_disk_1
通道 ora_disk_1: sid=143 devtype=disk
通道 ora_disk_1: 正在啟動存檔日誌備份集
通道 ora_disk_1: 正在指定備份集中的存檔日誌
輸入存檔日誌執行緒 =1 序列 =2 記錄 id=1 時間戳=764337959
輸入存檔日誌執行緒 =1 序列 =3 記錄 id=2 時間戳=764338050
輸入存檔日誌執行緒 =1 序列 =4 記錄 id=3 時間戳=764338051
輸入存檔日誌執行緒 =1 序列 =5 記錄 id=4 時間戳=764338057
輸入存檔日誌執行緒 =1 序列 =6 記錄 id=5 時間戳=764338066
輸入存檔日誌執行緒 =1 序列 =7 記錄 id=6 時間戳=764346610
通道 ora_disk_1: 正在啟動段 1 於 12-10月-11
通道 ora_disk_1: 已完成段 1 於 12-10月-11
完成 backup 於 12-10月-11
啟動 backup 於 12-10月-11
使用通道 ora_disk_1
通道 ora_disk_1: 啟動全部資料檔案備份集
通道 ora_disk_1: 正在指定備份集中的資料檔案
通道 ora_disk_1: 正在啟動段 1 於 12-10月-11
通道 ora_disk_1: 已完成段 1 於 12-10月-11
通道 ora_disk_1: 啟動全部資料檔案備份集
通道 ora_disk_1: 正在指定備份集中的資料檔案
備份集中包括當前控制檔案
在備份集中包含當前的 spfile
通道 ora_disk_1: 正在啟動段 1 於 12-10月-11
通道 ora_disk_1: 已完成段 1 於 12-10月-11
完成 backup 於 12-10月-11
啟動 backup 於 12-10月-11
當前日誌已存檔
使用通道 ora_disk_1
通道 ora_disk_1: 正在啟動存檔日誌備份集
通道 ora_disk_1: 正在指定備份集中的存檔日誌
輸入存檔日誌執行緒 =1 序列 =8 記錄 id=7 時間戳=764346652
通道 ora_disk_1: 正在啟動段 1 於 12-10月-11
通道 ora_disk_1: 已完成段 1 於 12-10月-11
完成 backup 於 12-10月-11
3、在目標端配置初始化引數檔案,可以根據源資料庫的引數檔案來修改。
這裡由於環境限制,我就在一台機器上面做實驗了,在實際環境中要求源資料庫和目標資料庫版本一樣。我這裡當然滿足要求了。
為後面的實驗能夠繼續,在這裡我刪除了源資料庫相關的所有檔案,引數檔案除外。在實際環境中還要copy備份集到目標資料庫對應的目錄下面(這裡就是flash_recovery_area下面的東東)。
sql> conn /as sysdba
已連線。
sql> shutdown immediate
資料庫已經關閉。
已經解除安裝資料庫。
oracle 例程已經關閉。
4、還原控制檔案(這裡需要建立相應的控制檔案目錄)
[oracle@linux oracle]$ rman target /
恢復管理器: release 10.2.0.4.0 - production on 星期三 10月 12 14:51:43 2011
已連線到目標資料庫 (未啟動)
rman> set dbid=1292118315;
正在執行命令: set dbid
rman> startup nomount;
oracle 例項已啟動
系統全域性區域總計 167772160 位元組
fixed size 1266392 位元組
variable size 71306536 位元組
database buffers 92274688 位元組
redo buffers 2924544 位元組
rman> restore controlfile from autobackup;
啟動 restore 於 12-10月-11
使用通道 ora_disk_1
用於搜尋的資料庫名 (或資料庫的唯一名稱): orcl
通道 ora_disk_1: 在恢復區域中找到自動備份
通道 ora_disk_1: 從自動備份復原控制檔案已完成
完成 restore 於 12-10月-11
5、還原資料檔案(這裡需要建立相應的資料檔案目錄)
rman> alter database mount;
資料庫已裝載
釋放的通道: ora_disk_1
rman> restore database;
啟動 restore 於 12-10月-11
啟動 implicit crosscheck backup 於 12-10月-11
分配的通道: ora_disk_1
通道 ora_disk_1: sid=156 devtype=disk
已交叉檢驗的 4 物件
完成 implicit crosscheck backup 於 12-10月-11
啟動 implicit crosscheck copy 於 12-10月-11
使用通道 ora_disk_1
完成 implicit crosscheck copy 於 12-10月-11
搜尋恢復區中的所有檔案
正在編制檔案目錄...
目錄編制完畢
已列入目錄的檔案的列表
********************===
使用通道 ora_disk_1
通道 ora_disk_1: 正在開始恢復資料檔案備份集
通道 ora_disk_1: 正在指定從備份集還原的資料檔案
通道 ora_disk_1: 已還原備份片段 1
通道 ora_disk_1: 還原完成, 用時: 00:00:25
完成 restore 於 12-10月-11
6、不完全恢復資料庫(因為online redo logfile是沒有的。)
sql> recover database using backup controlfile until cancel;
ora-00279: 更改 474700 (在 10/12/2011 14:43:28 生成) 對於執行緒 1 是必需的
ora-00280: 更改 474700 (用於執行緒 1) 在序列 #11 中
指定日誌:
cancel
介質恢復已取消。
7、開啟資料庫
sql> alter database open resetlogs;
資料庫已更改。
sql> select status from v$instance;
status
------------
open
rman恢復資料庫二
一.把資料庫恢復到某個時間點 恢復到資料庫的某個時間點屬於資料庫的不完全恢復。確認存在rman的備份,並且備份可以使用。模擬操作 sql alter session set nls date format yyymmdd hh24 mi ss select sysdate from dual 執行刪...
RMAN 工具 恢復資料庫
使用rman工具,備份生產機資料庫以及恢復資料庫 1 先開啟告警日誌 cd oracle base diag rdbms oraxx oraxx trace tail f alert oraxx.log 2 登入資料庫軟體 sqlplus as sysdba 3 啟動資料庫 startup exit...
恢復資料庫備份
利用檔案組備份恢復破壞的檔案 restore database bbb from disk d aaaabackup 1.bak with norecovery 還原到日誌點 restore log bbb from disk d aaaabackup 2.trn with norecovery r...