Networker 8.2異機恢復Oracle 11g RAC集群環境


Networker 8.2異機恢復Oracle 11g RAC集群環境

本文是一篇遲來的博文,寫這篇博文源於近日在整理技術筆記時,看到2年前寫的EMC Networker 8.1異機恢復Oracle 11gR2數據庫的操作筆記(測試的是假如生產數據庫服務器崩潰宕機,而將備份數據恢復到備用數據庫服務器)。雖然去年EMC就已推出了Networker 9,但本文可能多少還有一點參考價值,便稍加整理后發了出來。

一、測試環境

計算機名

IP地址

操作系統

角色

安裝軟件

Bakserver

172.16.3.18

RedHat 6

備份服務器

EMC Networker 8.2.2

dm01db01

172.16.0.177

RedHat 5

生產數據庫服務器(源數據庫)

Oracle 11g R2、

lgtoclnt-8.2.2-1.x86_64.rpm(Networker客戶端)

lgtonmda-8.2.2-1.x86_64.rpm

(Networker數據庫模塊)

oracletesta

172.16.0.69

RedHat 6

測試數據庫服務器(目標數據庫)

Oracle 11g R2、

lgtoclnt-8.2.2-1.x86_64.rpm(Networker客戶端)

lgtonmda-8.2.2-1.x86_64.rpm

(Networker數據庫模塊)

注:測試數據庫服務器的Oracle版本、實例名、Oracle相關目錄、創建數據庫時ASM路徑及權限必須和生產數據庫服務器一致。

二、測試數據庫服務器准備

1、安裝配置Oracle數據庫,其中版本、實例名、相關目錄及權限均需要和生產數據庫服務器一致,這部分操作不是本文重點故略過。

2、安裝Networker客戶端及數據庫模塊,版本需與生產數據庫服務器一致。

(1)解壓networker客戶端安裝包配置好yum源並生成緩存,解決安裝包依賴問題。

(2)安裝Networker客戶端

clip_image002

(3)如果恢復數據量較大最好使用SAN存儲網絡恢復,需要安裝存儲節點客戶端。

clip_image004

(4)啟動Networker客戶端

clip_image006

(5)解壓NMDA8.2.2數據庫模塊安裝包

(6)安裝NMDA8.2.2數據庫模塊

clip_image008

3、鏈接庫文件,切換到oracle用戶進入到/$ORACLE_HOME/lib/,然后執行以下命令:

ln –s /usr/lib/libnsrora.so libobk.so

切換root用戶 nsrorara -i oracle 模塊啟用

clip_image010

4、確保歸檔已開啟

[oracle@oracletesta ~]$ sqlplus / as sysdba

SQL>archive log list;

Database log mode              Archive Mode

Automatic archival             Enabled

Archive destination            /oradata/arch

Oldest online log sequence     363

Next log sequence to archive   365

Current log sequence           365

5、打開控制文件自動備份

[oracle@oracletesta ~]$rman target /

RMAN> configure controlfile autobackup on;

RMAN> configure controlfile autobackup format for device type 'sbt_tape' to '/NMDA_%F/'

6、做好hosts解析,確保備份服務器、目標數據庫服務器之間能互相解析。

7、創建SAN網絡存儲節點(這里省略具體步驟)

(1)首先配置SAN網絡交換機,將虛擬帶庫或者物理帶庫,設備光口和主機HBA卡光口划zone

(2) 再到虛擬帶庫添加主機連接信息並分配驅動器

(3)最后在Networker 創建存儲節點,並掃描設備

clip_image012

(4)配置在Networker 庫管理重新配置庫,勾選分配的驅動器並啟動配置

clip_image014

clip_image016

8、在Networker控制台操作,新客戶端向導

(1)輸入客戶端名稱,並按默認選擇傳統客戶端

clip_image018

(2)點擊選擇Oracle

clip_image020

(3)選擇目標池為Data Domain存儲中的池

clip_image022

(4)按默認選擇第一項

clip_image024

(5)填寫相關目錄路徑,以及用戶名、實例名(按照Oracle用戶環境變量填寫)

clip_image026

(6)選擇瀏覽策略和保留策略,以及遠程訪問標識*@*

clip_image028

(7)選擇添加到的組,默認已經勾選了default組,記得要去掉勾選。此處是要備份時才需要,我們現在只是為了恢復數據庫而創建客戶端,並不是要添加進組中進行備份,所以后面創建完客戶端后需要從組中刪除此客戶端

clip_image030

(8)選擇創建的SAN存儲節點

clip_image032

(9)這樣就完成了客戶端的創建,可以恢復數據了。

clip_image034

三、異機恢復過程

1、通過Networker查詢存儲集,確認要恢復的日期,例如從DataDomain存儲中恢復6月14號的備份數據

clip_image036

clip_image038

2、找到上圖框處選中的這個存儲集,記下這個存儲集的名稱

3、數據庫的恢復操作必須在測試數據庫服務器(即目標機)上進行,需要使用RMAN命令進行恢復

(1)創建臨時參數文件pfile,並啟動數據庫到nomount模式(因為是RAC集群環境,必須將另一個節點數據也關閉)

[oracle@oracletesta ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Tue Nov 2514:18:59 2014

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

SQL> shutdown immediate

ORA-01109: database not open

查看原spfile路徑

SQL>show parameter spfile;

SQL>'/u01/app/oracle/product/11.2.04/db_1/dbs/spfilePROD1.ora'

SQL>create spfile from pfile;

SQL>create pfile='/u01/app/oracle/product/11.2.04/db_1/dbs/ma.ora' from spfile;

File created.

SQL>startup nomount pfile='/u01/app/oracle/product/11.2.04/db_1/dbs/ma.ora';

ORACLE instance started.

Total System Global Area 1603411968 bytes

Fixed Size                  2253664 bytes

Variable Size            1006636192 bytes

Database Buffers          587202560 bytes

Redo Buffers                7319552 bytes

(2)查出源數據庫dm01db01的DBID,(存儲集名稱中間NMDA_c-xxxxxxxxx9位數字就是DBid)然后將目標數據庫的DBID設置和源數據庫的DBID一樣

[oracle@oracletesta ~]$ rman target /

Recovery Manager:Release 11.2.0.4.0 - Production on Wed Nov 19 14:49:36 2014

Copyright (c)1982, 2011, Oracle and/or its affiliates. All rights reserved.

connected totarget database: MA (not mounted)

RMAN> set dbid=298958524;

executing command: SET DBID

(3)使用RMAN腳本恢復spfile

RMAN> RUN {

2> ALLOCATE CHANNEL CH1 TYPE 'SBT_TAPE';

3> send 'NSR_ENV=(NSR_SERVER=bakserver, NSR_CLIENT=dm01db01.chinacoal.com)';

4> restore spfile to '/u01/app/oracle/product/11.2.04/db_1/dbs/spfilePROD1.ora' from '/NMDA_c-298958524-20190614-00/';

5> }

執行RMAN腳本后輸出如下,可以看到spfile文件已成功恢復:

allocated channel: s1

channel CH1: SID=63 device type=SBT_TAPE

channel CH1: NMDA Oracle v8.2.2

sent command to channel: CH1

Starting restore

channel CH1: restoring spfile from AUTOBACKUP /NMDA_c-298958524-20190614-00/

channel CH1: SPFILE restore from AUTOBACKUPcomplete

退出rman,使用剛剛恢復的參數文件,啟動到nomount模式

[oracle@oracletesta ~]$ sqlplus / as sysdba

SQL> shutdown abort

ORACLE instance shut down.

SQL> startup nomount

(4)使用RMAN腳本恢復controlfile

RMAN> RUN {

2> ALLOCATE CHANNEL CH1 TYPE 'SBT_TAPE';

3> send 'NSR_ENV=(NSR_SERVER=bakserver, NSR_CLIENT=dm01db01)';

4> restore controlfile from '/NMDA_c-298958524-20190614-00/';

5> }

執行RMAN腳本后輸出如下,可以看到控制文件已成功恢復:

allocated channel: CH1

channel CH1: SID=63 device type=SBT_TAPE

channel CH1: NMDA Oracle v8.2.2

sent command to channel: CH1

Starting restore at 27-NOV-14

channel CH1: restoring control file

channel CH1: restore complete, elapsed time:00:00:07

output filename=/database/dbdata/ma/control01.ctl

output filename=/database/system/fast_recovery_area/ma/control02.ctl

(5)mount數據庫

RMAN>alter database mount;

sql statement:  alter database mount

(6)通過RMAN腳本還原數據文件,不需要指定時間點,RMAN會根據控制文件的記錄去找

clip_image040

執行RMAN腳本后輸出如下,可以看到數據文件已經成功restore,並開始recover

clip_image042

執行RMAN腳本后這時會提示報錯找不到一個序列號為xxxx的歸檔,這是因為Oracle不會自動截斷日志,會不斷要求找下一個歸檔日志,因此需要在RMAN腳本中指定截斷

clip_image044

(8)在recover腳本中添加until sequence 96772,再次使用RMAN腳本recover數據庫

clip_image046

這次就recover成功了

clip_image048

(9)打開數據庫,並resetlogs,這個報錯是,數據庫是以完整方式恢復,不需要resetlogs

RMAN> exit

RecoveryManager complete.

[oracle@oracletesta dbs]$ sqlplus / as sysdba

SQL> alter database openresetlogs;

ERROR at line 1:

ORA-01139: RESETLOGS option only valid after an incomplete database recovery

SQL> alter database open;

Database altered.

(10)啟動監聽

[oracle@oracletesta dbs]$ lsnrctl

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 14-JUN-2019 18:37:17

Copyright (c) 1991, 2013, Oracle. All rights reserved.

Welcome to LSNRCTL, type "help" for information.

LSNRCTL> start

(11)至此,數據庫已完成異機恢復,剩余的工作便是測試數據是否完整、正常,更改應用系統的數據庫連接地址進行驗證等。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM