1. 程式人生 > >Oracle RAC OCR 的管理與維護

Oracle RAC OCR 的管理與維護

OCR相當於Windows的登錄檔。對於Windows而言,所有的軟體資訊,使用者,配置,安全等等統統都放到登錄檔裡邊。而叢集呢,同樣如此,所有和叢集相關的資源,配置,節點,RAC資料庫統統都放在這個倉庫裡。如果OCR被破壞則導致叢集服務啟動異常,需要修復OCR。因此OCR的管理與維護對於整個叢集而言,是相當重要的。本文主要描述了Oracle 10g RAC下的OCR的管理與維護。

1、環境
 [email protected]:~> cat /etc/issue
 Welcome to SUSE Linux Enterprise Server 10 SP3 (x86_64) - Kernel \r (\l).
 
 

[email protected]:~> crsctl query crs activeversion
 CRS active version on the cluster is [10.2.0.3.0]
 
2、校驗OCR檔案
 [email protected]:~> ocrcheck
 Status of Oracle Cluster Registry is as follows :
          Version                  :          2
          Total space (kbytes)     :     204560
          Used space (kbytes)      :       6160
          Available space (kbytes) :     198400
          ID                       : 1512159503
          Device/File Name         : /dev/raw/raw1                <-- OCR (primary)
                                     Device/File integrity check succeeded
 
                                     Device/File not configured   <-- OCR Mirror (not configured)
 
          Cluster registry integrity check succeeded
 
 #如果clusterware處於關閉狀態也可通過查詢ocr.loc獲得ocr檔案所在的位置
 
[email protected]
:~> more /etc/oracle/ocr.loc
 ocrconfig_loc=/dev/raw/raw1
 local_only=FALSE         
 
 #校驗OCR產生的日誌檔案
 $ORA_CRS_HOME/log/<hostname>/client/ocrcheck_<pid>.log
 
3、dump OCR的內容
 #預設情況下,ocrdump命令匯出檔案被命名為OCRDUMPFILE,其檔案型別為ASCII檔案,如果預設檔案已存在,則收到PROT-303檔案存在提示
 
 #匯出ocr到預設檔案
 [email protected]
:~> ocrdump
 [email protected]:~> ls -hltr OCRDUMPFILE
 -rw-r--r-- 1 oracle oinstall 44K 2013-01-07 14:13 OCRDUMPFILE
 [email protected]:~> file OCRDUMPFILE
 OCRDUMPFILE: ASCII text
 
 #匯出ocr到指定檔案
 [email protected]:~> ocrdump /tmp/`hostname`_ocrdump_`date +%Y%m%d:%H%M`
 [email protected]:~> ls /tmp/*ocr*
 /tmp/bo2dbp_ocrdump_20130107:1415
 
 #匯出ocr中system.css項的內容
 [email protected]:~> ocrdump -stdout -keyname SYSTEM.css -xml >ocrdump.xml
 [email protected]:~> more ocrdump.xml
 <OCRDUMP>
 
 <TIMESTAMP>01/07/2013 14:15:42</TIMESTAMP>
 <COMMAND>/u01/oracle/crs/bin/ocrdump.bin -stdout -keyname SYSTEM.css -xml </COMMAND>
 
 <KEY>
 <NAME>SYSTEM.css</NAME>
 <VALUE_TYPE>UNDEF</VALUE_TYPE>
 <VALUE><![CDATA[]]></VALUE>
 <USER_PERMISSION>PROCR_ALL_ACCESS</USER_PERMISSION>
 <GROUP_PERMISSION>PROCR_READ</GROUP_PERMISSION>
 <OTHER_PERMISSION>PROCR_READ</OTHER_PERMISSION>
 <USER_NAME>root</USER_NAME>
 <GROUP_NAME>root</GROUP_NAME>
 ............
 
 #匯出ocr中關於ocr的備份情況
 [email protected]:~> ocrdump -stdout -keyname SYSTEM.OCR -xml>ocrdump_bak.xml
 
4、新增OCR檔案
 #注,下面的描述中crs在所有的節點處於online狀態,即對於ocr的新增,移動,代替crs無需處於offline狀態
 [email protected]:~> crsctl check crs
 CSS appears healthy
 CRS appears healthy
 EVM appears healthy
 [email protected]:~> ssh bo2dbs crsctl check crs
 CSS appears healthy
 CRS appears healthy
 EVM appears healthy
 
 ocrconfig -replace ocrmirror <destination_file>
 ocrconfig -replace ocrmirror <disk>
 
 [email protected]:~> sudo -s rcraw status
 root'''s password:
 /dev/raw/raw1:  bound to major 8, minor 33
 /dev/raw/raw2:  bound to major 8, minor 49
 /dev/raw/raw11: bound to major 8, minor 113
 /dev/raw/raw21: bound to major 8, minor 129
 /dev/raw/raw22: bound to major 8, minor 145
                                                                       running
 
 [email protected]:~> sudo -s /u01/oracle/crs/bin/ocrconfig -replace ocrmirror /dev/raw/raw11
 root'''s password:
 [email protected]:~> ocrcheck
 Status of Oracle Cluster Registry is as follows :
          Version                  :          2
          Total space (kbytes)     :     204560
          Used space (kbytes)      :       6184
          Available space (kbytes) :     198376
          ID                       : 1512159503
          Device/File Name         : /dev/raw/raw1
                                     Device/File integrity check succeeded
          Device/File Name         : /dev/raw/raw11   #新的ocr映象已經被新增
                                     Device/File integrity check succeeded
 
          Cluster registry integrity check succeeded
 
 #下面是連線到第二個節點檢視
 [email protected]:~> ssh bo2dbp ocrcheck
 Status of Oracle Cluster Registry is as follows :
          Version                  :          2
          Total space (kbytes)     :     204560
          Used space (kbytes)      :       6184
          Available space (kbytes) :     198376
          ID                       : 1512159503
          Device/File Name         : /dev/raw/raw1
                                     Device/File integrity check succeeded
          Device/File Name         : /dev/raw/raw11   #新的ocr映象已經被新增
                                     Device/File integrity check succeeded
 
          Cluster registry integrity check succeeded
 
 #從兩個節點檢視ocr.loc檔案記錄的ocr位置是否發生變化                                                                               
 [email protected]:~> more /etc/oracle/ocr.loc
 #Device/file  getting replaced by device /dev/raw/raw11 
 ocrconfig_loc=/dev/raw/raw1
 ocrmirrorconfig_loc=/dev/raw/raw11  #可以看到增加了ocrmirror位置
 local_only=false
 
 [email protected]:~> ssh bo2dbs cat /etc/oracle/ocr.loc
 #Device/file  getting replaced by device /dev/raw/raw11 
 ocrconfig_loc=/dev/raw/raw1
 ocrmirrorconfig_loc=/dev/raw/raw11
 
 #下面來嘗試多新增一個ocrmirror,我們使用裸裝置為raw21的做為映象
 [email protected]:~> sudo -s /u01/oracle/crs/bin/ocrconfig -replace ocrmirror /dev/raw/raw21
 root'''s password:
 [email protected]:~> ocrcheck
 Status of Oracle Cluster Registry is as follows :
          Version                  :          2
          Total space (kbytes)     :     204560
          Used space (kbytes)      :       6184
          Available space (kbytes) :     198376
          ID                       : 1512159503
          Device/File Name         : /dev/raw/raw1
                                     Device/File integrity check succeeded
          Device/File Name         : /dev/raw/raw21  #可以看到原來的raw11已經被替代了
                                     Device/File integrity check succeeded
 
          Cluster registry integrity check succeeded
 
 #從上面的描述可知,ocr磁碟只能有兩個,一個作為primary,一個作為mirror
5、重定位OCR
 重定位OCR,也稱之為移動OCR檔案,也就是將當前的OCR或者映象的OCR放置到新的裸裝置後者OCFS上。對於整個操作可以在聯機的情形下完成
 不論是移動primary ocr還是mirror ocr,其依賴的ocr必須存在。也就是說必須要有兩份ocr存在,否則收到PROT-16: Internal Error
 
 使用下面的命令移動primary ocr
 ocrconfig -replace ocr <destination_file>
 ocrconfig -replace ocr <disk>
 
 現在我們將primary ocr移動到之前的raw11上
 [email protected]:~> dd if=/dev/zero of=/dev/raw/raw11 bs=1024k count=210
 dd: writing `/dev/raw/raw11': No space left on device
 200+0 records in
 199+0 records out
 209698816 bytes (210 MB) copied, 5.39183 seconds, 38.9 MB/s
 
 [email protected]:~> sudo -s /u01/oracle/crs/bin/ocrconfig -replace ocr /dev/raw/raw11
 [email protected]:~> ocrcheck
 Status of Oracle Cluster Registry is as follows :
          Version                  :          2
          Total space (kbytes)     :     204560
          Used space (kbytes)      :       6184
          Available space (kbytes) :     198376
          ID                       : 1512159503
          Device/File Name         : /dev/raw/raw11   #可以看到,此處之前的raw1被新的raw11代替
                                     Device/File integrity check succeeded
          Device/File Name         : /dev/raw/raw21
                                     Device/File integrity check succeeded
 
          Cluster registry integrity check succeeded
 
 使用下面的命令移動mirror ocr,關於mirro ocr的移動此處不做演示
 ocrconfig -replace ocrmirror <destination_file>
 ocrconfig -replace ocrmirror <disk>
6、本地節點OCR的修復
 對於任一節點的clusterware處於關閉狀態或者節點主機被關閉的情形,其他節點對ocr配置的更改將使得處於被停機或關閉的clusterware
 節點ocr資訊與出現不一致的情形。比如在第二個節點處於關閉的情形下,對第一個節點進行了ocr的新增,移出,重定位等等操作,對於這
 種情形則需要在關閉的節點進行ocr修復處理。修復僅僅在clusterware守護程序處於關閉下完成。
 使用下面的命令修復ocr,repair引數僅僅作用於所在的節點
  ocrconfig -repair ocr device_name        #修復primary ocr, 
  ocrconfig -repair ocrmirror device_name  #修復mirror ocr
 在前面的一個示例中我們將primary 的ocr用原來的raw1變成了raw11,在這個操作期間,節點2已經意外宕機。
 下面來檢視節點2的ocr.loc
 下面的ocr.loc中primary還是raw1,而上一個操作已經變成了raw11
 bo2dbs:/u01/oracle/crs/log/bo2dbs # more /etc/oracle/ocr.loc
 #Device/file /dev/raw/raw11 getting replaced by device /dev/raw/raw21 
 ocrconfig_loc=/dev/raw/raw1
 ocrmirrorconfig_loc=/dev/raw/raw21
 local_only=false
 
 bo2dbs:/u01/oracle/crs/bin # ./crsctl start crs
 Attempting to start CRS stack 
 The CRS stack will be started shortly
 #此時bo2dbs上叢集無法啟動
 bo2dbs:/u01/oracle/crs/bin # ./crsctl check crs
 Failure 1 contacting CSS daemon
 Cannot communicate with CRS
 Cannot communicate with EVM 
 bo2dbs:/u01/oracle/crs/bin # ps -ef | grep d.bin | grep -v grep   #沒有看到任何叢集相關的程序
 bo2dbs:/u01/oracle/crs/bin # tail -2 /u01/oracle/crs/log/bo2dbs/alertbo2dbs.log    #檢視日誌檔案
 2013-01-07 17:13:49.153
 [client(12071)]CRS-1009:The OCR configuration is invalid. Details in /u01/oracle/crs/log/bo2dbs/client/css37.log.
 bo2dbs:/u01/oracle/crs/bin # more /u01/oracle/crs/log/bo2dbs/client/css37.log      #檢視日誌檔案
 Oracle Database 10g CRS Release 10.2.0.1.0 Production Copyright 1996, 2005 Oracle.  All rights reserved.
 2013-01-07 17:13:49.153: [  OCRRAW][190773584]proprioini: OCR configuration on disk 1 isn't valid  
 2013-01-07 17:13:49.153: [  OCRRAW][190773584]proprinit: Could not open raw device 
 2013-01-07 17:13:49.153: [ default][190773584]a_init:7!: Backend init unsuccessful : [26]
 2013-01-07 17:13:49.153: [ CSSCLNT][190773584]clsssinit: 
    Unable to access OCR device in OCR init.PROC-26: Error while accessing the physical storage
 #從上面的日誌可知,在磁碟1上ocr配置無效,也就是不能開啟裸裝置raw1
 #下面我們來嘗試修復
 bo2dbs:/u01/oracle/crs/bin # ./ocrconfig -repair ocr /dev/raw/raw11
 bo2dbs:/u01/oracle/crs/bin # more /etc/oracle/ocr.loc
 #Device/file /dev/raw/raw1 getting replaced by device /dev/raw/raw11 
 ocrconfig_loc=/dev/raw/raw11
 ocrmirrorconfig_loc=/dev/raw/raw21
 local_only=false
 bo2dbs:/u01/oracle/crs/bin # ./crsctl start crs
 Attempting to start CRS stack 
 The CRS stack will be started shortly 
 bo2dbs:/u01/oracle/crs/bin # ./crsctl check crs
 CSS appears healthy
 CRS appears healthy
 EVM appears healthy
 bo2dbs:/u01/oracle/crs/bin # ps -ef | grep d.bin | grep -v grep
 root     14459  5067  0 17:33 ?        00:00:01 /u01/oracle/crs/bin/crsd.bin reboot
 oracle   14512  5065  0 17:33 ?        00:00:00 /u01/oracle/crs/bin/evmd.bin
 oracle   15128 14426  0 17:33 ?        00:00:01 /u01/oracle/crs/bin/ocssd.bin
 bo2dbs:/u01/oracle/crs/bin # ./crs_stat -t | grep bo2dbs
 ora....SM2.asm application    ONLINE    ONLINE    bo2dbs      
 ora....BS.lsnr application    ONLINE    ONLINE    bo2dbs      
 ora....BS.lsnr application    ONLINE    ONLINE    bo2dbs      
 ora.bo2dbs.gsd application    ONLINE    ONLINE    bo2dbs      
 ora.bo2dbs.ons application    ONLINE    ONLINE    bo2dbs      
 ora.bo2dbs.vip application    ONLINE    ONLINE    bo2dbs      
 ora....g2.inst application    ONLINE    ONLINE    bo2dbs   
 # Authro : Robinson Cheng
 # Blog   : http://blog.csdn.net/robinson_0612
7、移除OCR
 #OCR可以新增,當然也可以移除OCR,比如對於ocr的映象使用外部raid冗餘方式。不過有個條件是必須至少有一個OCR處於聯機狀態。
 通常可以按照下面的步驟來移除OCR
  校驗叢集處於聯機狀態(儘可能為所有節點)
  檢查至少一個ocr處於聯機狀態
  移除pirmary ocr或者ocr mirror
  對於ocfs檔案系統,移除ocr檔案
 #使用下面的命令來移除ocr
 ocrconfig -replace ocr
 ocrconfig -replace ocrmirror
 
 bo2dbs:/u01/oracle/crs/bin # ps -ef | grep d.bin
 oracle    5745  5092  0 17:52 ?        00:00:00 /u01/oracle/crs/bin/evmd.bin
 root      5902  5094  0 17:52 ?        00:00:02 /u01/oracle/crs/bin/crsd.bin reboot
 oracle    6420  5795  0 17:52 ?        00:00:01 /u01/oracle/crs/bin/ocssd.bin
 root      8870 18345  0 18:01 pts/0    00:00:00 grep d.bin
 bo2dbs:/u01/oracle/crs/bin # ssh bo2dbp ps -ef | grep d.bin
 The authenticity of host 'bo2dbp (192.168.7.51)' can't be established.
 RSA key fingerprint is 2a:77:4f:eb:46:5b:07:4a:12:23:5c:69:b2:cd:15:ec.
 Are you sure you want to continue connecting (yes/no)? yes
 Warning: Permanently added 'bo2dbp' (RSA) to the list of known hosts.
 Password: 
 oracle    5837  5122  0 17:54 ?        00:00:00 /u01/oracle/crs/bin/evmd.bin
 root      5907  5124  0 17:54 ?        00:00:02 /u01/oracle/crs/bin/crsd.bin reboot
 oracle    6672  5756  0 17:54 ?        00:00:01 /u01/oracle/crs/bin/ocssd.bin
 
 #兩個ocr都處於online
 bo2dbs:/u01/oracle/crs/bin # ./ocrcheck
 Status of Oracle Cluster Registry is as follows :
          Version                  :          2
          Total space (kbytes)     :     204560
          Used space (kbytes)      :       6184
          Available space (kbytes) :     198376
          ID                       : 1512159503
          Device/File Name         : /dev/raw/raw11   #primary ocr
                                     Device/File integrity check succeeded
          Device/File Name         : /dev/raw/raw21   #mirror ocr
                                     Device/File integrity check succeeded
 
          Cluster registry integrity check succeeded
 
 bo2dbs:/u01/oracle/crs/bin # ./ocrconfig -replace ocr    #移除ocr
 bo2dbs:/u01/oracle/crs/bin # more /etc/oracle/ocr.loc
 #Device/file /dev/raw/raw11 being deleted 
 ocrconfig_loc=/dev/raw/raw21
 local_only=false
 bo2dbs:/u01/oracle/crs/bin # ocrcheck
 -bash: ocrcheck: command not found
 bo2dbs:/u01/oracle/crs/bin # ./ocrcheck
 Status of Oracle Cluster Registry is as follows :
          Version                  :          2
          Total space (kbytes)     :     204560
          Used space (kbytes)      :       6184
          Available space (kbytes) :     198376
          ID                       : 1512159503
          Device/File Name         : /dev/raw/raw21   #可以看到原來的mirror ocr變成了primary ocr
                                     Device/File integrity check succeeded
 
                                     Device/File not configured
 
          Cluster registry integrity check succeeded
 

相關推薦

Oracle RAC OCR管理維護

OCR相當於Windows的登錄檔。對於Windows而言,所有的軟體資訊,使用者,配置,安全等等統統都放到登錄檔裡邊。而叢集呢,同樣如此,所有和叢集相關的資源,配置,節點,RAC資料庫統統都放在這個倉庫裡。如果OCR被破壞則導致叢集服務啟動異常,需要修復OCR。因此OC

Oracle RAC OCR 的備份恢復

        Oracle Clusterware把整個叢集的配置資訊放在共享儲存上,這些資訊包括了叢集節點的列表、叢集資料庫例項到節點的對映以及CRS應用程式資源資訊。也即是存放在ocr 磁碟(或者ocfs檔案)上。因此對於這個配置檔案的重要性是不言而喻的。任意使得ocr

SQL SERVER 2008數據庫管理維護總結

sql server1、事物日誌 分為小的虛擬日誌VLF,它有編號叫LSN2、檢查點默認每隔1分鐘將內存數據存盤,故障點發生後日誌重做,事物根據提交與否前滾或回滾。3、在數據庫整體主菜單欄選擇屬性可設置數據文件和日誌文件的存放地點,設置完後需要重啟服務,可主菜單右鍵重啟服務或通過windows系統服務重啟。4

Oracle RAC 並發架構

管理器 存儲 progress 申請 proc 位置 AS pac oba 一. RAC 並發 RAC 的本質是一個數據庫,運行在多臺計算機上的數據庫,它的主要任務是數據庫就是事務處理,它通過 Distributed Lock Management(DLM:分布式鎖

w9 Ansible批量管理維護

交互 ren == shp 狀態 不支持 change arc res ssh秘鑰認證 基於口令的安全驗證 [root@m01 ~]# ssh 10.0.0.41 hostname [email protected]‘s password: backup [ro

MySQL資料庫日誌的管理維護

MySQL資料庫主要有5種類型的日誌,分別為慢查詢日誌(log-slow-queries),二進位制日誌(log-bin),錯誤日誌(log-error),查詢日誌(log),更新日誌(log-update)。在新的MySQL版本中,已取消了更新日誌,可以用二進位制日誌來替代這個功能。文章側重講解慢

Linux命令[系統管理維護命令]

ls: 列出工作目錄所含的檔案及子目錄, 可以用dir代替ls 語法: ls [選項] [路徑或檔案] -- 註釋: 列出mnt目錄下的檔案及其子目錄-- > ls /mnt apk-update-service git-repo-for-redmine li

mysql ---分割槽管理維護

mysql 分割槽管理 為沒有分割槽的表建立分割槽 alter table user_1 partition by range(age)( partition age_1 values less than (20), partition age_2 values less than (30)

hadoop快速自我學習--hadoop平臺管理維護

1,HDFS常用命令 hdfs dfs -mkdir /data hdfs dfs -put  localfile  hdfspath -rm   -du -h -chmod -chown  user:group  hdfspath -cat    -zcat

Oracle RAC的機制測試方法

Oracle RAC是Oracle Real Application Cluster的簡寫,官方中文文件一般翻譯為“真正應用叢集”。RAC叢集是由若干物理機組成,每個物理機為一個節點,這些節點間通過網線連線(也叫心跳網路)。每個節點上都執行一個例項,這些例項通過CRS(CRS通過一系列的程序和服務來保證叢集的

Oracle日誌檔案管理檢視

1.查詢系統使用的是哪一組日誌檔案:   select * from v$log;   2.查詢正在使用的組所對應的日誌檔案:   select * from v$logfile;   3.強制日誌切換:   alter system switch logfile;   4.查詢歷史日誌

Linux-2 常見的命令——系統管理維護命令

Linux-2 常見的命令——系統管理與維護命令 1、ls命令:顯示指定工作目錄下的內容,列出工作目錄所含的檔案及子目錄。此命令於Windows下的dir類似。Linux也提供了dir命令可以代替ls命令。 -a:顯示指定目錄下的所有檔案及子目錄,包含隱藏檔案“.”開頭的檔案或者目錄視為隱藏

Linux常用命令-系統管理維護

系統管理與維護ls 命令顯示指定工作目錄下的內容語法格式ls [選項] [路徑或檔案]選項說明# -a 顯示所有檔案及子目錄,包含隱藏檔案 # -d 只顯示目錄列表,不顯示檔案 # -l 除檔名稱外,同時將檔案或子目錄的許可權,使用者資訊等詳細列出 # -s 輸出每個檔案的

管理維護Linux系統

任務一  安裝與配置初始Centos系統1.下載好centos系統,安裝虛擬機器的話,不用燒錄光碟,直接用ISO映象檔案啟動即可如下圖所示:在圖中centos啟動介面中五個選項,含義分別是:(1)安裝或更新系統(2)安裝顯示卡驅動(3)系統修復(4)從硬碟啟動(5)記憶體測試

haproxy在線管理維護分享

pro 關閉 col match 鏈接方式 png att see ear 相比於nginx負載均衡,haproxy有一個很好用的功能,就是可以動態的維護後端的server,而不必重啟整個服務。完成這項功能需要使用到haproxy socket和socat。 1. hap

運維工程師的逆襲——雲資源的管理維護

管理 目的 資源共享 工程 角色 創建 整體 離散 pro 資源協作是運維管理的一部分,專註於資源共享。Project 功能由資源協作升級而來,除了延用之前資源共享的概念外,著重突出資源間的聯系,給資源的組成下了一個新的定義。    1:Project 是什麽    Pro

Linux系統Oracle 12cR2 RAC集群安裝維護管理(12.2)專題

oracle教程 oracle培訓 oracle數據庫教程 oracle工程師培訓 oracle數據庫培訓 風哥Linux系統Oracle 12cR2 RAC集群安裝與維護管理(12.2)專題包括內容:Oracle數據庫12cR2(項目實戰之一):在Windows上安裝Oracle12.2

Oracle 表空間的日常維護管理

enc rename 文件操作 pdb form 允許 恢復 constrain gin 目錄 Oracle 表空間的日常維護與管理 1、創建數據表空間 2、創建臨時表空間 3、創建 UNDO 表空間 4、表空間的擴展與修改大小 5、表空間重命名 6、表空間的刪除 7、更

ORACLE RAC】root.sh原理,ocr管理

************************************************************************ ****原文:blog.csdn.net/clark_

Oracle用戶管理的備份恢復介紹

Oracle備份恢復數據庫維護中,備份或恢復是重中之重的問題。盡管很多時候數據庫系統運行緩慢,但對數據庫數據的丟失而言,顯然後者損失的代價是不言而喻的,DBA首要的工作就是盡一切可能地做好數據的備份工作。 1.1、物理備份與邏輯備份01、物理備份是所有物理文件的一個副本,比如數據文件,控制文件,歸檔日誌等。該