1. 程式人生 > >【ORACLE RAC】root.sh原理,ocr管理

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

************************************************************************
****原文:blog.csdn.net/clark_xu  徐長亮的專欄
************************************************************************
Root.sh的原理

1.      In root.sh script, it will addCRS related entry in /etc/inittab,

2.      Root.sh執行

/oracle/product/crs/install/rootinstall

/oracle/product/crs/install/rootconfig

3.      Rootinstall作用:

a)        /oracle/product/crs/bin/crs*的程式改成root 555

b)        /oracle/product/crs/bin/crsd改為 744

c)        建立路徑:/oracle/product/crs/crs/init

d)        /oracle/product/crs/crs/public被所有讀寫 777.

e)        Crs/evm  crs/evm/init 750

f)         Crs/css crs/css/initcrs/css/log  crs/css/auth  711

4.      Rootconfig的作用

a)        概述:

                        i.             1) Stop if any GSDs are runningfrom 9.x oracle homes

                      ii.             2) Initialize new OCR device orupgrade the existing OCR device

                     iii.             3) Setup OCR for running CRSstack

                     iv.             4) Copy the CRS init script toinit.d for init process to start

                      v.              5) Start the CRS stack

                     vi.              6) Configure NodeApps if CRS is up and runningon all nodes

b)        Setup ocr

                        i.             $CH/bin/clscfg -install -nn$CRS_NODE_NAME_LIST -pn $CRS_PRIVATE_NAME_LIST \

      $HOSTNAMES_ARGS-o $CH -c $CRS_CLUSTER_NAME -l "$CRS_LANGUAGE_ID" -q $CRS_V

OTING_DISKS \

      $CLSCFG_MISCNT

c)        更改/tmp/.oracle的屬性

                        i.             複雜# basic copies first...

                      ii.             $CP $CH/evm/admin/init.evmd$ID/init.evmd || { $ECHO $?; exit 1; }

                     iii.             $CP $CH/css/admin/init.cssd $ID/init.cssd|| { $ECHO $?; exit 1; }

                     iv.             $CP $CH/crs/admin/init.crsd$ID/init.crsd || { $ECHO $?; exit 1; }

                      v.             $CP $CH/crs/admin/init.crs$ID/init.crs || { $ECHO $?; exit 1; }

d)        啟動crs stack過程

                        i.             # Prepare to start the daemons.    /init.crs start

                      ii.             #Check to see if they are goingto start.

$ID/init.cssd startcheck CSS

          $CRSCTL check install -wait 600

檢查VIP$CH/bin/vipca -silent -nodelist $CRS_NODELIST -nodevips$CRS_NODEVIPS

5.      Init.crs

a)        概述

                        i.             #    init.crs start       manual startup of the CRS stack

                      ii.             #    init.crs stop        shuts down the CRS stack

                     iii.             #    init.crs disable     prevents CRS stack from starting at boottime

                     iv.             #    init.crs enable      allows CRS stack to start at boot time

b)        cssd and evmd. evmd should beshutdown before crsd.

6.      Init.cssd

a)        [[email protected] etc]# ps -ef | grep-v grep | grep init.cssd

b)        root      2598    1  0 08:16 ?        00:00:11 /bin/sh /etc/init.d/init.cssdfatal

c)        root      3014 2598  0 08:17 ?        00:00:00 /bin/sh /etc/init.d/init.cssddaemon

d)        [[email protected] etc]# pstree 2598-a

OCR

1.定義

叢集登錄檔(Oracle ClusterRegistryOCR):維護叢集的配置資訊及叢集中任何叢集資料庫的配置資訊。OCR也管理那些Oracle Clusterware控制的相關程序的相關資訊。OCR將配置資訊儲存在一個目錄樹結構中的一系列關鍵字-值對中(key-value pairs)。OCR必須位於叢集中所有結點可同時訪問的共享磁碟中。Oracle Clusterware可使用多重OCRmultiplex或稱為多路複用)。Oracle建議使用此特性以保證高可用性。你可以在聯機時替換一個故障的OCR,可通過支援的API(如企業管理器、srvctldbca)來更新OCR

備份

[[email protected] crs]# ls

backup00.ocr  backup01.ocr day_.ocr  day.ocr  OCRDUMPFILE week.ocr

[[email protected] crs]# pwd

/oracle/product/crs/cdata/crs

Oracle 4個小時對其做一次備份,並且保留最後的3個備份,以及前一天,前一週的最後一個備份。只有一個節點能對OCR Disk進行讀寫操作,這個節點叫作Master Node,所有節點都會在記憶體中保留一份OCR的拷貝。

日誌

/oracle/product/crs/log/host1/client/路徑下面

OCR磁碟最多隻能有兩個,一個PrimaryOCR和一個Mirror OCR

/oracle/product/crs/cdata/crs /OCRDUMPFILE檔案中存放ocr登錄檔資訊。

檢測

cluvfy comp ocr -n all

匯入與恢復

[[email protected] oracle]#/oracle/product/crs/bin/ocrconfig -import /oracle/ocr.exp

 [[email protected]]# /oracle/product/crs/bin/ocrconfig -export /oracle/ocr.exp

恢復OCR檔案:ocrconfig-restore /u01/app/oracle/product/10.2.0/crs_1/cdata/crs/backup00.ocr

新增OCR檔案,crs必須啟動,否則會遇到PROT-1錯誤:(PROT-1:Failed to initialize ocrconfig

檢視主和映象

[[email protected] crs]$ cat /etc/oracle/ocr.loc

ocrconfig_loc=/dev/raw/raw1

ocrmirrorconfig_loc=/dev/raw/raw2

local_only=FALSE

voting disk

檢視

[[email protected] crs]$ crsctl query cssvotedisk

 0.    0    /dev/raw/raw3

 1.    0    /dev/raw/raw4

 2.    0    /dev/raw/raw5

located 3 votedisk(s).

VIPCA

出於種種原因我們可能需要為已安裝的Oracle叢集軟體修改其使用的公用或私有網路所使用的網路介面(How to Change Interconnect/Public Interface IP or Subnet in OracleClusterware),這些共有或私有網路(public/private network)被儲存在ocr中,我們需要以root使用者的身份執行oifcfg命令來對這些網路介面資訊進行修改:

/* 使用ocrdump命令轉儲ocr資訊 */

[[email protected] ~]$ ocrdump ocr

[[email protected] ~]$ cat ocr

[SYSTEM.css.interfaces]UNDEF

[SYSTEM.css.interfaces.global]UNDEF

[SYSTEM.css.interfaces.global.eth0]UNDEF

[SYSTEM.css.interfaces.global.eth0.131|d32|d1|d0]UNDEF

[SYSTEM.css.interfaces.global.eth0.131|d32|d1|d0]ORATEXT: public

[SYSTEM.css.interfaces.global.eth1]UNDEF

[SYSTEM.css.interfaces.global.eth1.131|d33|d1|d0]UNDEF:

[SYSTEM.css.interfaces.global.eth1.131|d33|d1|d0]ORATEXT: cluster_interconnect

.............

/* 實際上cssmisscount引數和votingdisk所在的位置也存在ocr檔案中  */

[SYSTEM.css.misscount]UB4 (10) : 60

[SYSTEM.css.diskfile]ORATEXT :/dev/raw/raw2

1.首先我們可以通過oifcfg getif瞭解當前的public/interconnect網路配置情況:

[[email protected] ~]# who am i

root    pts/1        2011-04-18 18:23(192.168.0.1)

[[email protected] ~]# cd $ORA_CRS_HOME/bin

[[email protected] bin]# oifcfg getif

eth0 131.32.1.0  global  public

eth1 131.33.1.0  global  cluster_interconnect

/* 可以看到這裡分別用131.32.1/2網段配置了publiccluster_interconnect網路  */

2.確認在/etc/hosts檔案中為新的網路介面IP做了必要的修改,之後我們要保證當前CRS已經啟動(否則將出現PRIF-10: failed to initialize the cluster registry錯誤而無法配置),使用oifcfgsetif命令首先新增新的public公用網路介面:

[[email protected] bin]# oifcfg delif -global eth0

/* 首先刪除舊有的公用網路介面資訊  */

[[email protected] bin]# oifcfg setif -globaleth0/192.168.1.0:public

/* 注意這裡制定192.168.1.0這個網段即可,不用輸入完整的ip */

/* 因為以上操作是global全域性操作,在單個節點完成即可 */

3.修改內聯網路(cluster_interconnect)介面的方法也是類似的:

[[email protected] bin]# oifcfg delif -global eth1

[[email protected] bin]# oifcfg setif -globaleth1/192.168.0.0:cluster_interconnect

/* public network配置時類似指定網段即可  */

4.確認網路介面的修改情況,以及當前資料庫使用的inter connecter狀況:

[[email protected] ~]$ oifcfg getif

eth0 192.168.1.0  global  public

eth1 192.168.0.0  global  cluster_interconnect

SQL> select * from x$skgxpia;

ADDR           INDX    INST_ID PUB_SKGXPI PICKED_SKGXPIA

-------- ---------- ---------- ---------------------------------------------

NAME_SKGXPIA    IP_SKGXPIA

--------------- ----------------

4572EC54          0          1 N          OSD

eth1            131.33.1.107

/* 可以看到當前資料庫例項仍使用舊有的interconnect網路 */

[[email protected] ~]# crsctl stop crs

[[email protected] ~]# crsctl start crs

[[email protected] ~]$ sqlplus / as sysdba

Oracle Database 10g Enterprise EditionRelease 10.2.0.4.0 - Production

With the Partitioning, Real ApplicationClusters, OLAP, Data Mining

and Real Application Testing options

SQL>

SQL> select * from x$skgxpia;

ADDR           INDX    INST_ID PUB_SKGXPI PICKED_SKGXPIA

-------- ---------- ---------- ---------------------------------------------

NAME_SKGXPIA    IP_SKGXPIA

--------------- ----------------

4572EC54          0          1 N          OSD

eth1            192.168.0.107

/* 這裡需要重啟CRS後例項才能正確使用更新後的clusterinterconnect網路介面 */

相關推薦

ORACLE RACroot.sh原理ocr管理

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

ORACLE RAC維護:asm維護 srvctl、crsctl,orcconfig等指令的使用。

2 asm ************************************************************************ ****原文:blog.csdn.net/

ORACLE RAC修改歸檔位置: FRA和其他位置

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

Oracle 叢集ORACLE DATABASE 11G RAC 知識圖文詳細教程之RAC 工作原理和相關元件(三)

概述:寫下本文件的初衷和動力,來源於上篇的《oracle基本操作手冊》。oracle基本操作手冊是作者研一假期對oracle基礎知識學習的彙總。然後形成體系的總結,一則進行回顧複習,另則便於查詢使用。本圖文文件亦源於此。閱讀Oracle RAC安裝與使用教程前,筆者先對這篇文章整體構思和形成進行梳理。

JavaIterator底層原理自己實現Iterator

package test; import java.util.Iterator; public class MyIterator implements java.lang.Iterable<String> { private String[] eleme

JavaArrayList 底層原理自己實現ArrayList

實現的功能有  elementData物件陣列用來存放物件 size 計算容器大小 ArrayList空構造器,帶初始大小的構造器 ensureCapacity進行物件陣列擴容 rangeCheck進行檢查輸入值是否在範圍內 get方法返回某一位置物件 set方

Oracle 叢集11G RAC 知識圖文詳細教程之RAC在LINUX上使用NFS安裝前準備(六)

目錄 介紹                           下載軟體 本文使用Oracle Enterprise Linux 5.7。 一般的圖形作業系統安裝指南在這裡。 更具體地說,它應該是一個伺服器安裝的2 g交換(最好是3-4G),Li

Oracle RAC+DG實驗Oracle RAC+ASM+DataGuard配置實驗記錄+常見問題

【Oracle RAC+DG實驗】Oracle RAC+ASM+DataGuard配置實驗記錄+常見問題 1、環境規劃: ---RAC環境介紹(primary database)            rac1       rac2 ____________________

Oracle 叢集Oracle 11G RAC教程之叢集安裝(七)

Oracle登入rac1進行上傳,解壓安裝p13390677_112040_Linux-x86-64_1of7.zip、p13390677_112040_Linux-x86-64_2of7.zip、p13390677_112040_Linux-x86-64_3of7.zip到/media下,並解壓

Oracle 叢集Linux下Oracle RAC叢集搭建之Oracle DataBase安裝(八)

  以oracle使用者身份登入RAC1主節點,對解壓後的檔案安裝。(只需要主節點進行配置即可,子節點通過ssh通訊,自動配置) ./runInstaller 不選擇複選框security updates checkbox,下一步.  

Oracle 叢集ORACLE DATABASE 11G RAC 知識圖文詳細教程之RAC 特殊問題和實戰經驗(五)

在需要將一個 LUN (邏輯單元號)對映給多個節點、為叢集提供一個共享的儲存卷時,同一個儲存 LUN 在各個主機端的 LUNID 必須是相同的。比如:  (一) 在為多個 ESX 節點建立一個 VMFS 卷的時候 (二) 在雙機 HA 叢集建立共享儲存的時候 時間一致性 叢集模式下,各

Oracle 叢集Linux下Oracle RAC叢集搭建之基本測試與使用(九)

概述:寫下本文件的初衷和動力,來源於上篇的《oracle基本操作手冊》。oracle基本操作手冊是作者研一假期對oracle基礎知識學習的彙總。然後形成體系的總結,一則進行回顧複習,另則便於查詢使用。本圖文文件亦源於此。閱讀Oracle RAC安裝與使用教程前,筆者先對這篇文章整體構思和形成進行梳理。

Oracle 叢集ORACLE DATABASE 11G RAC 知識圖文詳細教程之快取融合技術和主要後臺程序(四)

      前面已經介紹了 RAC 的後臺程序,為了更深入的瞭解這些後臺程序的工作原理,先了解一下 RAC 中多節點對共享資料檔案訪問的管理是如何進行的。要了解 RAC 工作原理的中心,需要知道 Cache Fusion 這個重要的概念,要發揮 Cache Fusion 的作用,要有一個前提條件,那就

Oracle 叢集ORACLE DATABASE 11G RAC 知識圖文詳細教程之叢集概念介紹(一)

白寧超 2015年7月16日 概述:寫下本文件的初衷和動力,來源於上篇的《oracle基本操作手冊》。oracle基本操作手冊是作者研一假期對oracle基礎知識學習的彙總。然後形成體系的總結,一則進行回顧複習,另則便於查詢使用。本圖文文件亦源於此。閱讀Oracle RAC安裝與使用教程前,筆者先

Mac終端 root與普通使用者切換(root/bash-3.2/sh-3.2/MacBook-Pro區別)

1.普通使用者->rootmac開啟終端預設是當前登入使用者,若要切換到root使用者,使用命令:第一種:(1)輸入 sudo -i 或者 su - 活著 su - root 然後回車            (2)輸入密碼,就可以進入root使用者(如果不知道root密

CNMP系列CNMP之路系統起步。

ftp 系列 fig samba 建立連接 編輯 為我 作用 let 簡單的來理解,我所說的CNMP,不是CNM+P,而是CentOs+Nginx+MySql+PHP,也可以單純的理解為LNMP,但是系統是我們自己選的,雖說是Linux的一個分支,但我就喜歡CentOs的這

sql技巧mysql修改時動態指定要修改的字段 update `table` set (case when ....) = 1 where id = xx

幫助 ase stack pan 希望 需求 記錄 開始 lec 如果你點進了這篇帖子,那麽你一定遇到了跟我一樣的問題。別看題目的set case when...,我一開始也是第一反應是用case when但是發現並不好使。 問題呢,說得高大上一點:動態指定要修改的字段。

Oracle入門數據庫的二級映像

可能 存儲 mil 管理 定義 邏輯 數據 數據庫系統 存儲方式 數據庫系統 的模式、內模式、外模式之間有很大的差別,為了實現用戶和數據之間的透明化,DBMS提供了兩層映像:外模式、模式映像和模式/內模式u映像。有了這兩層映像,用戶就能邏輯地、抽象地處理數據,而不必關旭數據

oracle入門數據模型

平臺 數據庫管理 層次 要素 數據庫管理系統 left 世界 pan 概念 數據模式也是一這種模型,它是數據庫中用於提供信息表示的操作手段的形式架構,是數據庫中用來對現實世界驚喜抽象的工具。數據模型按不同的應用層次分為3種類型,分別為概念數據模型、邏輯數據模型、物理數據模型

oracle入門數據完整性約束

and 對數 關系模型 標識 引用 關系型 條件 一個 定義 數據的完整性約束是對數據描述的某種約束條件,關系型數據模型中可以有三類完整性約束:實體完整性、參照完整性和用戶定義的完整性。 實體完整性Entity Integrity 一個基本關系通