使用RMAN備份RAC本地目錄中不是用NFS的歸檔日誌

張玉龍發表於2016-08-15


參考文件:

https://blogs.oracle.com/Database4CN/entry/%E4%BD%BF%E7%94%A8rman%E5%A4%87%E4%BB%BDrac%E6%9C%AC%E5%9C%B0%E7%9B%AE%E5%BD%95%E4%B8%AD%E7%9A%84archive_log%E7%9A%84%E7%AC%AC%E4%BA%8C%E7%A7%8D%E6%96%B9%E6%A1%88


有一部分RAC環境中的log_archive_dest_n設定到了本地的磁碟上,這在正常使用中並沒有什麼問題。

而在備份的時候如果只從一個instance的channel發起的話,由於只能訪問本節點的本地目錄,所以在備份其他節點的archive log的時候會出現錯誤。

而很多情況下,客戶會使用NFS的方式,把本地節點的歸檔目錄mount到其他的節點。這樣配置,一個節點就可以訪問所有其他節點的archive log了。

但是此種方法也有一個問題:就是在某節點備份archive log的時候,如果備份的是其他節點生成archive log的時候,由於是通過NFS mount過來的目錄,所以歸檔日誌需要通過網路傳輸到本地然後再備份到磁帶上。

這樣一來,增加的節點間檔案傳輸既造成了對網路的影響,其本身的效率也受到網路頻寬以及效能的制約。

所以以下介紹一種通過每個節點開啟通道,讓每個節點的通道備份本節點archive log的方式(不使用NFS)


1. 在歸檔目錄設定到本地的RAC中,檢查現有的archive log:

SQL> select name from v$archived_log;


2. 嘗試使用預設的本地channel去備份所有的歸檔:

RMAN> backup archivelog all;

Starting backup at 12-MAY-16
current log archived
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=60 instance=ora11g1 device type=DISK
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of backup command at 05/12/2016 09:40:46
RMAN-06059: expected archived log not found, loss of archived log compromises recoverability
ORA-19625: error identifying file /home/oracle/arch2/2_53_827893172.dbf <<<<<< 找不到節點2的archive log
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3

3. 分別啟動本地以及另外一個instance的兩個channel,然後備份所有的歸檔

(這裡面有一個可能的問題,就是oracle在把歸檔日誌分配到channel的時候,會不會出現本地arhive log分到其他節點instance channel的疑問, 但是通過實驗,oracle顯然可以避免類似問題的發生):

RMAN> run {
allocate channel 'dev_0' type disk connect /;
allocate channel 'dev_1' type disk connect sys/oracle@ora11g_11;  <<<<<<此channel連線到節點2的instance上。
backup archivelog all;
release channel dev_0;
release channel dev_1;
}

通過以上實驗,我們可以看出來,只要開啟到RAC所有節點的channel,在做所有歸檔備份的時候,oracle會自動將本地歸檔目錄中的archive log分配給本地的channel。這樣既可以將備份的負載分配到所有的節點中,又可以避免使用NFS方式在單節點備份的網路傳輸問題。

但是sys的密碼是明文的......







相關文章