共計 4243 個字符,預計需要花費 11 分鐘才能閱讀完成。
這篇文章主要介紹“RAC 中 OCR 備份與恢復的方法有哪些”,在日常操作中,相信很多人在 RAC 中 OCR 備份與恢復的方法有哪些問題上存在疑惑,丸趣 TV 小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”RAC 中 OCR 備份與恢復的方法有哪些”的疑惑有所幫助!接下來,請跟著丸趣 TV 小編一起來學習吧!
ocr 保存了 rac 中節點列表、實例和節點的關聯、以及 rac 各種資源(VIP、監聽等)信息。
如果 ocr 所在磁盤或者陣列沒有使用 raid,則強烈要求對 ocr 做鏡像。
因為 OCR 也非常重要,除了 mirror 外,也要做好充分的備份。
備份 ocr 有兩種方法:
[@more@]1、ocr 自動備份與恢復方法
1) 自動備份
oracle 會每小時備份一次 ocr,自動備份的默認路徑是:$CRS_HOME/cdata/$CRS_NAME 下,可以用 ocrconfig 查看自動備份的信息,如:
[oracle@dwdb01 backup]$ ocrconfig -showbackup
dwdb03 2011/04/26 13:22:47 /oracle/product/10.2.0/crs/cdata/crs
dwdb03 2011/04/26 09:22:47 /oracle/product/10.2.0/crs/cdata/crs
dwdb03 2011/04/26 05:22:47 /oracle/product/10.2.0/crs/cdata/crs
dwdb03 2011/04/25 13:22:46 /oracle/product/10.2.0/crs/cdata/crs
dwdb03 2011/04/14 09:22:28 /oracle/product/10.2.0/crs/cdata/crs
自動備份只會在一個節點執行。如果用于備份的節點出現異常,則 oracle 會自動切換到其他節點進行備份。
默認情況下,oracle 會保留最近 5 份 ocr 備份:3 份最近的、一份昨天和一份上周的。
自動備份只會在一個節點上執行,安全起見,應該定期拷貝字段備份產生的文件到所有節點上。
要實現這個功能,首先配置兩個節點的相互認證,使得互相訪問不需要口令:
– 以 root 在所有節點執行:
mkdir ~/.ssh
chmod 700 ~/.ssh
ssh-keygen -t rsa
ssh-keygen -t dsa
– 以 root 在其中一個節點執行(這里選擇 dwdb01):
touch ~/.ssh/authorized_keys
cd ~/.ssh
ssh dwdb01 cat ~/.ssh/id_rsa.pub authorized_keys
ssh dwdb01 cat ~/.ssh/id_rsa.pub authorized_keys
ssh dwdb02 cat ~/.ssh/id_rsa.pub authorized_keys
ssh dwdb02 cat ~/.ssh/id_rsa.pub authorized_keys
ssh dwdb03 cat ~/.ssh/id_rsa.pub authorized_keys
ssh dwdb03 cat ~/.ssh/id_rsa.pub authorized_keys
ssh dwdb04 cat ~/.ssh/id_rsa.pub authorized_keys
ssh dwdb04 cat ~/.ssh/id_rsa.pub authorized_keys
scp authorized_keys dwdb02:`pwd`
scp authorized_keys dwdb03:`pwd`
scp authorized_keys dwdb04:`pwd`
– 所有節點執行
chmod 600 ~/.ssh/authorized_keys
– 在 dwdb01 測試
ssh dwdb02 date
ssh dwdb03 date
ssh dwdb04 date
2) 恢復
自動備份這種備份方式是物理備份,類似于數據庫備份中的 rman,需要用 restore 方式還原,恢復步驟:
a) 用 ocrconfig -showbackup 命令查看自動備份文件的位置(在那個節點上,在那個路徑下)
b) 用 ocrdump 驗證 ocr 信息,如:
以 root 執行:
/opt/oracle/product/10.2/crs/bin/ocrdump -backupfile /opt/oracle/product/10.2/crs/cdata/crs/week.ocr
這個命令會在當前路徑下產生一個文件:OCRDUMPFILE,查看這個文件即可。
c) 在所有節點停止 crs
/etc/init.d/init.crs stop
d) 用戶 ocrconfig 還原
ocrconfig -restore file_name
–file_name 為自動備份的 ocr 文件路徑及名稱
e) 在所有節點啟動 crs
/etc/init.d/init.crs start
f) 可以用 cluvfy 驗證 ocr 是否正確
cluvfy comp ocr -n all [-verbose]
2 手工備份 (邏輯備份) 及恢復方法
我們不能修改 ocr 自動備份的時間及頻率,但是 oracle 給我們提供了另外一種備份方式,可以讓我們對 ocr 進行手工備份。
手工備份很簡單,我們可以用 ocrconfig 命令,如:
ocrconfig -export /tmp/ocr.bak
注意,該命令只能以 root 執行。
這種備份方式是邏輯備份,類似于數據庫備份中的 exp,需要用 imp 方式還原
為了保險起見,最好讓自動備份和手工備份的任務在不同的節點執行,且把手工 export 出來的文件放到所有節點的本地硬盤上,避免陣列故障,下面的維護的例子:
vi backup_ocr.sh
————————————————————————–
#!/bin/bash
########################################################################################################
# Name : backup_ocr.sh
# Author : Shengkai Su
# Date : 04/25/2011
#
# Description : backup ocr manually
#
#
# Usage : ./backup_ocr.sh
#
#
# Prerequisite : run under root
#
#
# Modifications :
#
# When Who What
# ========== =========== ================================================================
# 04/25/2011 shengkai su start developing the script
#
########################################################################################################
##############################
# set env
#############################
. /home/oracle/.bash_profile
DATE=`date +%Y%m%d`
DIRNAME=`dirname $0`
SCRIPT=`basename $0`
KEYWORD= ocr
MYPATH=${DIRNAME}/rac_comp/${KEYWORD}
NODELIST= dwdb02 dwdb03 dwdb04
DEST=${MYPATH}/${KEYWORD}.${DATE}
###############################
# backup ocr disk via dd
###############################
echo ============start at `date` ===============
#dd if file not exists
if [-f ${DEST} ];then
echo file exists
exit 1
else
${ORA_CRS_HOME}/bin/ocrconfig -export $DEST -s online
fi
###############################################
# copy ocr disk backup file to other nodes
###############################################
for N in `echo ${NODELIST}`;do
scp ${DEST} ${N}:`cd ${MYPATH};pwd`
done
echo ============end at `date` ===============
————————————————————————
- 定義定時任務,每六小時一次
# backup ocr every 6 hours
10 */6 * * * /oracle/DBA/backup/backup_ocr.sh
上面提到了,用 export 方式備份是邏輯備份,如果 ocr 損壞需要還原,則需要用 import 方式把導出的內容導入,步驟如下:
a) 用 ocrconfig -export 出來的文件位置
b) 在所有節點停止 crs
/etc/init.d/init.crs stop
c) 用戶 ocrconfig 還原
ocrconfig -import file_name
–file_name 為 export 出來的 ocr 文件路徑及名稱
d) 在所有節點啟動 crs
/etc/init.d/init.crs start
e) 可以用 cluvfy 驗證 ocr 是否正確
cluvfy comp ocr -n all [-verbose]
到此,關于“RAC 中 OCR 備份與恢復的方法有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注丸趣 TV 網站,丸趣 TV 小編會繼續努力為大家帶來更多實用的文章!