NBU Rman異機恢復Oracle

2022-06-16 18:03:12 字數 3068 閱讀 4145

前段時間乙個億級分割槽表,被分割成歷史表和業務表,歷史表中保留15天以外的資料,每天都會從業務表中的15天外的資料copy到歷史表,並刪除業務表15天外的資料,邏輯也很簡單,但插入歷史表的where 條件寫的不是對,導致資料沒插入,每天還從業務表中刪除了。總之丟失了10天的業務歷史資料,不巧的是客戶突然要歷史資料,呵呵。。禍不單行;

好了廢話不多說,切入正題,rac 使用nbu netbackup 對資料庫備份的,週日全備周一到週六增量

源主機hosta

,目標主機

hostb

,nbumaster

主機nbuserver

,oracle_sid

均為test

,oracle

使用者均為

oracle

。兩台主機的作業系統、資料庫版本、

nbu軟體版本一致。

1

、增加nbuserver

主機上檔案

新建乙個空檔案,取消

nbu的異機恢復限制

[nbuserver:root]#

touch /usr/openv/netbackup/db/altnames/no.restrictions

2

、編輯完後需要重啟

netbackup

[nbuserver:root]#

/usr/openv/netbackup/bin/bp.kill_all

[nbuserver:root]#

/usr/openv/netbackup/bin/bp.start_all

下面開始恢復步驟(均為

oracle

使用者操作)

3

、copy spfile

在hosta

上test

資料庫的

pfile

(create

pfile from spfile

)copy

至hostb

中的$oracle_home/dbs

目錄下,因為源庫是rac

節點,所以pfile copy到目標主機後還需要修改一下引數配置,把集群相關的配置刪除

[hosta:ora]#

ll $oracle_home/dbs/inittest.ora

4

、hostb

上,密碼檔案、相應的

dump

目錄

[hostb:ora]#orapwd file=password=entries=

[hostb:ora]#mkdir $admin/test/*dump

5

、啟動資料庫至

nomount

[hostb:ora]#

sqlplus '/as sysdba'

sql>

startup nomount

6、

進行rman

恢復

[hostb:ora]#

rman target /

7

、set dbid

(hosta

上test

庫的dbid

rman>

set dbid=1203153859

executing command: set dbid

database name is "test" and dbid is 2091611406

檢視

hosta

上的dbid

sql>

select dbid from v$database;

8

、恢復control file

[hostb:ora]#

/usr/openv/netbackup/bin/bplist -s 'nbuserver' -c 'hosta' -t 4 -r -l /#檢視

nbuserver

上的備份列表

查詢週日的全備的控制檔案

rman>

run

9

、控制檔案修復成功,將庫

alter

至mount

狀態

sql>

alter database mount;

database mounted

10

、恢復資料庫

rman>

run

11、恢復歸檔日誌

sql>select file#,checkpoint_change# from v$datafile;

sql>

select file#,checkpoint_change# from v$datafile_header;

sql>

select checkpoint_change# from v$database;

檢視當前檔案的snc和系統snc不一致,需要日誌檔案恢復

sql>

recover database using backup controlfile until time '2017-07-01 00:00:00';

會提示需要的日誌

rman>

run

根據需要的日誌點提示,再從nbu上恢復歸檔日誌檔案

恢復成功後繼續介質恢復

sql>

recover database using backup controlfile until time '2017-07-01 00:00:00';

會提示需要的歸檔日誌  auto 就行

12、開啟資料庫

sql>

alterdatabase open resetlogs;

RMAN異機恢復快速參考

應用場景 伺服器a為正常執行的生產環境,需要在伺服器b上部署一套相同環境做測試。一 伺服器a備份資料庫 1.2 備份指令碼內容 二 伺服器b恢復資料庫 2.1 伺服器b安裝資料庫軟體 2.2 啟動例項到nomount狀態 指定pfile檔案 2.3 rman恢復控制檔案,確定備份集有效性 2.4 r...

vertias異機恢復過程 1

說明 10.10.0.58 backupdatabase 假設此為使用中重要db 通過veritas 全庫備份至磁帶機。10.10.0.53 ctdb04 假設此為新伺服器,無資料庫。10.10.0.59 cdim veritas server軟體伺服器,windows 2000 說明 1,58資料...

vertias異機恢復過程 2

說明 1,58資料庫有完整全備份在磁帶機中 包括controlfile 但丟失了第三放備份的控制檔案。2,58伺服器宕機,無法修復,需要用將資料恢復至53伺服器中。操作流程如下 1 重複上述步驟 1 至步驟 5 除了controlfile無法還原至指定目的地。2 檢視rman最後一次備份的日誌,獲得...