通過RMAN備份恢復資料庫到其他伺服器!!!

2021-05-31 23:19:05 字數 4178 閱讀 6476

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...