oracle10g rac for linux as 4.0

zhengbao_jun發表於2009-11-03
ORACLE 10G RAC for Linux AS4 安裝

ORACLE 10G RAC for Linux AS4 安裝


1。 預先準備和檢查工作
叢集中所有計算機上禁用 SELinux(只適用於 RHEL4 U2 以及更高版本),disable follow service:
chkconfig --level 2345 pcmcia off
chkconfig --level 2345 kudzu off
chkconfig --level 2345 isdn off
chkconfig --level 2345 sendmail off
chkconfig --level 2345 rhnsd off
chkconfig --level 2345 cups off
chkconfig --level 2345 cups-config-daemon off
chkconfig --level 2345 cpuspeed off
chkconfig --level 2345 gpm off
chkconfig --level 2345 apmd off
chkconfig --level 2345 lm_sensors off
chkconfig --level 2345 mdmonitor off
叢集中所有計算機上configure ntp server and clinet on two server
vi /etc/ntp.conf
service ntpd start
chkconfig --level 35 ntpd on
2.叢集中所有計算機上修改vi /etc/hosts檔案,如下所示
127.0.0.1 localhost(這裡必須這樣修改,否則RAC節點名出現在回送地址中,安裝RAC期間可能會報錯)
10.1.250.17 racl
10.1.250.18 rac2
192.168.100.100 rac1-priv
192.168.100.200 rac2-priv
10.1.250.19 rac1-vip
10.1.250.20 rac2-vip

3.叢集中所有計算機上檢查必需的 RPM
必須安裝以下程式包(或更高版本):
make-3.80-5
glibc-2.3.4-2.9
glibc-devel-2.3.4-2.9
glibc-headers-2.3.4-2.9
glibc-kernheaders-2.4-9.1.87
cpp-3.4.3-22.1
compat-db-4.1.25-9
compat-gcc-32-3.2.3-47.3
compat-gcc-32-c++-3.2.3-47.3
compat-libstdc++-33-3.2.3-47.3
compat-libstdc++-296-2.96-132.7.2
openmotif-2.2.3-9.RHEL4.1
setarch-1.6-1
iscsi-initiator-utils-4.0.3.0-2.i386.rpm (use IP SAN)

4.叢集中所有計算機上調整網路設定,設定共享記憶體和訊號引數
vi /etc/sysconfig/network-script/ifcfg-ethX
service network restart

編輯 vi /etc/sysctl.conf檔案,新增如下資訊,這些資訊可以根據自己的機器實際情況來調整
net.core.rmem_default = 262144
net.core.wmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_max = 262144
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=262144
net.core.wmem_max=262144
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
/etc/sysctl.conf -p 使配置生效
設定oracle對檔案的要求:
編輯檔案:vi /etc/security/limits.conf 加入以下語句:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
編輯檔案:vi /etc/pam.d/login 加入以下語句(可能應該加在最後一條規則之前):
session required /lib/security/pam_limits.so
配置並載入 hangcheck-timer 模組
hangcheck-timer 模組有兩個關鍵的引數:
hangcheck-tick:此引數定義了系統執行狀況檢查的間隔時間。預設值為 60 秒;Oracle 建議將它設定為 30 秒。
hangcheck-margin:此引數定義了 hangcheck-timer 在重置 RAC 節點前所容許的最大掛起延遲。它定義了以秒為單位的誤差幅度。預設值為 180 秒;Oracle 建議將它設定為 180 秒。
注意:這兩個 hangcheck-timer 模組參數列示在該模組重置系統前 RAC 節點必須掛起的時長。當以下條件為真時將會重置節點:
系統掛起時間 > (hangcheck_tick + hangcheck_margin)
配置 Hangcheck 核心模組引數
每次載入 hangcheck-timer 核心模組(手動載入或由 Oracle 載入)時,它都需要知道對我們剛剛討論的兩個引數(hangcheck-tick 和 hangcheck-margin) 所使用的值。這些值需要在每次重新啟動 Linux 伺服器後可用。為此,在 /etc/modprobe.conf 檔案中建立一個具有正確值的條目,如下所示:
# su -
# echo "options hangcheck-timer hangcheck_tick=30 hangcheck_margin=180" >> /etc/modprobe.conf
每次載入 hangcheck-timer 核心模組時,它將使用在 /etc/modprobe.conf 檔案中建立的條目定義的值
要手動載入 hangcheck-timer 核心模組並驗證它是否使用在 /etc/modprobe.conf 檔案中定義的正確值,執行以下命令:

modprobe hangcheck-timer
grep Hangcheck /var/log/messages | tail -2
Sep 27 23:11:51 linux2 kernel:Hangcheck:starting hangcheck timer 0.5.0 (tick is 30 seconds, margin is 180 seconds)

5. 在叢集的一個節點的共享儲存裝置上建立分割槽
建立四個分割槽:一個1G分割槽用於 Oracle 的叢集件共享檔案,
餘下的三個分割槽用於 ASM(儲存所有 Oracle 資料庫檔案和閃回恢復區)。
在建立了所有必要分割槽後,現在應以 root 使用者帳戶在叢集中所有計算機上使用以下語法將分割槽的更改情況通知給核心:
partprobe

6. 在叢集中所有計算機上建立oracle使用者和目錄 /opt/oracle/app 用於安裝oracle 資料庫程式檔案
/opt/oracle/ocfs2 用於Oracle 叢集檔案系統 (OCFS2) 的掛載點;/opt/oracle/crs用於安裝oracle crs軟體.
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
mkdir -p /opt/oracle/app
mkdir -p /opt/oracle/ocfs2
mkdir -p /opt/oracle/crs
chown -R oracle:oinstall /opt/oracle
chmod -R 775 /opt/oracle
passwd oracle
叢集中所有計算機上修改oracle使用者的.bash_profile檔案如下所示
注意:當為每個 RAC 節點設定 Oracle 環境變數時,請確保為每個 RAC 節點分配唯一的 Oracle SID!
su - oracle
vi ~/.bash_profile
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=/opt/oracle/app
export ORA_CRS_HOME=/opt/oracle/crs
export ORACLE_SID=orcl1
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:ORA_CRS_HOME/bin:$ORACLE_BASE/common/oracle/bin
export ORACLE_PATH=$ORACLE_BASE/common/oracle/sql:.:$ORACLE_HOME/rdbms/admin
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORA_NLS10=$ORACLE_HOME/nls/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export CLASSPATH=$ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export THREADS_FLAG=native
export TEMP=/tmp
export TMPDIR=/tmp

為每個 RAC 節點設定 root 環境變數
su - root
vi ~/.bash_profile
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:$ORA_CRS_HOME/bin:
注意,在第二個節點上,修改SID=orcl2
source ~/.bash_profile 使配置生效
7.叢集中所有計算機上建立節點之間的互信
sudo vi /etc/ssh/sshd_config
PermitRootLogin yes
PubkeyAuthentication yes
sudo service sshd restart
採用ssh建立oracle使用者的互信.
su - oracle
ssh-keygen -t dsa 一路回車結束
vi authorized_keys 加入叢集中所有計算機(包括自己)~/.ssh/id_dsa.pub檔案中的內容
exec ssh-agent $SHELL
ssh-add
ssh rac1(rac2...,rac1-priv...) date
應該在所有節點上跨叢集的所有介面執行這些測試,注意:首次執行這些測試時,*作系統將顯示一個金鑰並請求使用者接受或拒絕。
輸入“Yes”將接受並註冊此金鑰。

8.安裝配置ocfs2
使用與自己*作系統版本相符合的ocfs,ocfs console
rpm -Uvh ocfs2-2.6.9-42.EL-1.2.3-1.i686.rpm ocfs2console-1.2.1-1.i386.rpm ocfs2-tools-1.2.1-1.i386.rpm
在叢集中所有計算機配置ocfs2
su root
作為根使用者,執行以下命令
# ocfs2console &
Cluster
選擇“Configure Nodes” 在客戶端 1 上新增 2 個節點
rac1 10.1.250.17
rac2 10.1.250.18
單擊 apply
Cluster
選擇“Propogate Configuration”(傳送至客戶端 2)

退出 ocfs2console 後,將獲得一個類似如下所示的 /etc/ocfs2/cluster.conf。需要在叢集中的所有節點上完成該過程,
並且所有節點的 OCFS2 配置檔案必須完全相同:
node:
ip_port = 7777
ip_address = 10.1.250.17
number = 0
name = linux1
cluster = ocfs2
node:
ip_port = 7777
ip_address = 10.1.250.18
number = 1
name = linux2
cluster = ocfs2
cluster:
node_count = 2
name = ocfs2
在使用 OCFS2 執行任何*作(如格式化或掛載檔案系統)之前,我們需要先執行 OCFS2 的叢集堆疊 O2CB
NM:用於跟蹤 cluster.conf 中的所有節點的節點管理器
HB:當節點加入或離開叢集時向上/向下發出通知的心跳服務
TCP:處理節點之間的通訊
DLM:用於跟蹤所有鎖、這些鎖的所有者和狀態的分散式鎖管理器
CONFIGFS:在 /config 中掛載的使用者空間驅動的配置檔案系統
DLMFS:使用者空間與核心空間 DLM 的介面
已將以上所有叢集服務打包到 o2cb 系統服務 (/etc/init.d/o2cb) 中。
調整 O2CB 心跳閾值 (驅動器越慢,心跳閥值設定越大。)
在叢集的所有節點上執行以下*作。
/etc/init.d/o2cb unload
/etc/init.d/o2cb configure
Load O2CB driver on boot (y/n) [n]:y
Cluster to start on boot (Enter "none" to clear) [ocfs2]:ocfs2
O2CB_HEARTBEAT_THRESHOLD 設定為 301
確認 O2CB 心跳閾值的設定是否正確
cat /proc/fs/ocfs2_nodemanager/hb_dead_threshold

格式化 OCFS2 檔案系統
注意:只能在 RAC 叢集中的一個節點上建立 OCFS2 檔案系統。為建立檔案系統,我們使用 Oracle 可執行檔案 mkfs.ocfs2
,以 root 使用者帳戶僅從 rac1 執行以下命令:
mkfs.ocfs2 -b 4K -C 32K -N 2 -L ocfs2 /dev/sda1

在所有節點上掛載 OCFS2 檔案系統:
mount -t ocfs2 -o datavolume,nointr -L "ocfs2" /opt/oracle/ocfs2
將以下行新增到叢集中兩個 Oracle RAC 節點上的 /etc/fstab 檔案中:
LABEL=ocfs2 /opt/oracle/ocfs2 ocfs2 _netdev,datavolume,nointr 0 0
注意用於掛載此檔案系統的“_netdev”選項。OCFS2 卷必須使用 _netdev 掛載選項。
該掛載選項指示將在網路啟動後掛載該卷,在關閉網路前解除安裝該卷。
使用 ls 命令檢查/opt/oracle/ocfs2的所有權。應把許可權設定為 0775,並將所有者設定為“oracle”、將組設定為“oinstall”。
reboot
再次檢查以確保這些設定
mount
LABEL=ocfs2 /opt/oracle/ocfs2 ocfs2 type ocfs2 (rw,_netdev,datavolume,nointr,heartbeat=local)
cat /proc/fs/ocfs2_nodemanager/hb_dead_threshold
301
OCFS2 包含一個錯誤,即不會在每次引導時載入驅動程式,如果在每次引導時收到以下錯誤:
...
Mounting other filesystems:
mount.ocfs2:Unable to access cluster service
Cannot initialize cluster mount.ocfs2:
Unable to access cluster service Cannot initialize cluster [FAILED]
...
Red Hat 更改了在 chkconfig-1.3.11.2-1 與 chkconfig-1.3.13.2-1 之間註冊服務的方式。O2CB 指令碼習慣使用前者。
在嘗試配置引導屬性之前:
刪除 /etc/init.d/o2cb 中的以下幾行
### BEGIN INIT INFO
# Provides:o2cb
# Required-Start:
# Should-Start:
# Required-Stop:
# Default-Start: 2 3 5
# Default-Stop:
# Description:Load O2CB cluster services at system boot.
### END INIT INFO

重新註冊 o2cb 服務。
chkconfig --del o2cb
chkconfig --add o2cb
chkconfig --list o2cb
o2cb 0:off 1:off 2:on 3:on 4:on 5:on 6:off
# ll /etc/rc3.d/*o2cb*
lrwxrwxrwx 1 root root 14 Sep 29 11:56 /etc/rc3.d/S24o2cb -> ../init.d/o2cb
該服務應為預設執行級別中的 S24o2cb。
繼續設定引導屬性,如下所示:
/etc/init.d/o2cb offline ocfs2
/etc/init.d/o2cb unload
/etc/init.d/o2cb configure

9. 安裝,配置自動儲存管理ASM2.0
在叢集的全部節點上安裝ASM2.0 rpm
rpm -Uvh oracleasm-2.6.9-42.EL-2.0.3-1.i686.rpm \
oracleasmlib-2.0.2-1.i386.rpm \
oracleasm-support-2.0.3-1.i386.rpm
執行/etc/init.d/oracleasm configure
預設使用者輸入oracle,預設組輸入dba,其他都y,y就可以了
9.1建立ASM磁碟
在一個節點上執行
/etc/init.d/oracleasm createdisk VOL1 /dev/sda2
/etc/init.d/oracleasm createdisk VOL2 /dev/sda3
/etc/init.d/oracleasm createdisk VOL3 /dev/sda4

建立好後,執行/etc/init.d/oracleasm listdisks可以看到
VOL1
VOL2
VOL3

使用oracleasm-discover來探測ASM硬碟:

然後在另外節點上執行 應該可以看到相同的內容
/etc/init.d/oracleasm scandisks
/etc/init.d/oracleasm listdisks
oracleasm-discover

10. 叢集的一個節點安裝Oracle 10G cluster軟體
如果執行的是 Red Hat Linux,則必須安裝到叢集中的每個 Oracle RAC 節點上。安裝 cvuqdisk RPM(僅適用於 RHEL 使用者)
如果沒有 cvuqdisk,CVU 將無法發現共享磁碟,您在執行 CVU 時會收到錯誤訊息“Package cvuqdisk not installed(程式包 cvuqdisk 未安裝)”。
cvuqdisk RPM 可在 rpm 目錄中的 Oracle 叢集件安裝介質中找到.
在 rac1 中找到 cvuqdisk RPM 並將其複製到 rac2,然後在兩個 Oracle RAC 節點上執行以下步驟進行安裝:
cd /opt/oracle/clusterware/rpm
rpm -iv cvuqdisk-1.0.1-1.rpm
利用 CVU 檢查 CRS 的安裝前任務
驗證遠端訪問/使用者等效性
應該從 rac1(將在該節點執行所有的 Oracle 安裝)執行 CVU。執行 CVU 之前,
以 oracle 使用者帳戶登入並驗證已針對叢集中的所有節點配置了遠端訪問.
利用 CVU 檢查 CRS 的安裝前任務:
/opt/clusterware/cluvfy/runcluvfy.sh stage -pre crsinst -n rac1,rac2 -verbose
檢視 CVU 報告。注意,報告中幾個可以忽略的錯誤。
第一個錯誤有關“oinstall”組 [作為基本組] 中的使用者“oracle”的成員資格。考慮到本文的目的,“oracle”使用者帳戶只能分配給“dba”組,
因此可以忽略該錯誤,沒什麼問題。
第二個錯誤與為 VIP 查詢一組適合的介面有關。
最後一組可忽略的錯誤與處理 RHEL4 Update 4 中不存在的特定 RPM 程式包版本有關。例如:
compat-gcc-7.3-2.96.128
compat-gcc-c++-7.3-2.96.128
compat-libstdc++-7.3-2.96.128
compat-libstdc++-devel-7.3-2.96.128
這些特定的程式包在 CVU 報告中列為缺少,請確保在叢集中的兩個 Oracle RAC 節點上安裝了正確版本的 compat-* 程式包。
例如,在 RHEL4 Update 4 中,這些程式包應為:
compat-gcc-32-3.2.3-47.3
compat-gcc-32-c++-3.2.3-47.3
compat-libstdc++-33-3.2.3-47.3
利用 CVU 檢查硬體和*作系統設定
/opt/oracle/clusterware/cluvfy/runcluvfy.sh stage -post hwos -n rac1,rac2 -verbose
檢視 CVU 報告。注意,報告中幾個可以忽略的錯誤。
第一個錯誤有關“oinstall”組 [作為基本組] 中的使用者“oracle”的成員資格。考慮到本文的目的,“oracle”使用者帳戶只能分配給“dba”組,因此可以忽略該錯誤,沒什麼問題。
第二個錯誤與為 VIP 查詢一組適合的介面有關。這是 Metalink 說明 338924.1 中的一個錯誤檔案:
Suitable interfaces for the private interconnect on subnet "192.168.2.0":
linux2 eth1:192.168.2.101
linux1 eth1:192.168.2.100
ERROR:
Could not find a suitable set of interfaces for VIPs.
Result: Node connectivity check failed.
如說明中所述,可以忽略該錯誤,沒什麼問題。
另請注意,如果檢查共享儲存可訪問性將失敗。
Checking shared storage accessibility...
WARNING:
Unable to determine the sharedness of /dev/sde on nodes:
linux2,linux2,linux2,linux2,linux2,linux1,linux1,linux1,linux1,linux1
Shared storage check failed on nodes "linux2,linux1".
該警告也可忽略,沒什麼問題。雖然我們知道這些磁碟可見並在叢集中的兩個 Oracle RAC 節點中共享,
但本身將失敗。導致該錯誤的若干原因已得到證明。第一個原因來自 Metalink,
指出 cluvfy 當前沒有使用 SCSI 裝置之外的其他裝置。這將包括裝置(如 EMC PowerPath)和卷組(如 Openfiler 中的卷組)。
截至本文撰寫之日,除了使用手動方法檢測共享裝置外沒有其他解決方法。
該錯誤的另一個原因由 Oracle Corporation 的 Bane Radulovic 提出。他的研究表明,
CVU 在 Linux 上呼叫 smartclt 時,smartclt 不會從 iSCSI 裝置返回序列號。
例如,針對 /dev/sde 進行的檢查顯示:
# /usr/sbin/smartctl -i /dev/sde
smartctl version 5.33 [i686-redhat-linux-gnu] Copyright (C) 2002-4 Bruce Allen
Home page is http://smartmontools.sourceforge.net/
Device: Openfile Virtual disk Version: 0
Serial number:
Device type: disk
Local Time is: Wed Oct 25 23:41:20 2006 EDT
Device supports SMART and is Disabled
Temperature Warning Disabled or Not Supported
安裝 Oracle 10g 叢集件軟體
Oracle 叢集件共享檔案
系統將把由 Oracle 叢集件使用的兩個共享檔案(實際上是檔案組)儲存到我們在前面建立的 Oracle 叢集檔案系統第 2 版 (OFCS2) 中。
這兩個共享 Oracle 叢集件檔案組是:
Oracle 叢集登錄檔 (OCR)
檔案 1:/opt/oracle/ocfs2/OCRFile
檔案 2:/opt/oracle/ocfs2/OCRFile_mirror
大小:(2 * 100MB) = 200M
CRS 表決磁碟
檔案 1:/opt/oracle/ocfs2/CSSFile
檔案 2:/opt/oracle/ocfs2/CSSFile_mirror1
檔案 3:/opt/oracle/ocfs2/CSSFile_mirror2
大小:(3 * 20MB) = 60MB
注意:不能對這兩個共享 Oracle 叢集件檔案使用自動儲存管理 (ASM):Oracle 叢集登錄檔 (OCR) 或 CRS 表決磁碟 檔案。
問題是隻有這兩個檔案就緒並可以訪問後才可以啟動 Oracle 例項。要使 ASM 可用,應首先執行 ASM 例項。
另請注意,可以將這兩個共享檔案儲存到 OCFS2、共享的原始裝置或其他供應商的叢集化檔案系統中。
以oracle使用者登入X終端,建立叢集中所有計算機上節點之間的互信!
exec ssh-agent $SHELL
ssh-add
開始安裝cluster軟體
clusterware unzip 目錄./runInstaller
*確認安裝目錄是/opt/oracle/crs
*如果願意可以將clustername由crs修改成其他的名稱
*新增兩個節點,如下所示
____________________________________________________________________
Public Node Name Private Node Name Virtual Node Name
rac1 rac1-priv rac1-vip
rac2 rac2-priv rac2-vip
____________________________________________________________________
*要修改一下eth0的型別,他預設的是private,修改為public
*指定OCR和mirror的路徑
Specify OCR Location: /opt/oracle/crs/OCRFile
Specify OCR Mirror Location:/opt/oracle/crs/OCRFile_mirror
*指定Voting磁碟路徑
Voting Disk Location: /opt/oracle/crs/CSSFile
Additional Voting Disk 1 Location:/opt/oracle/crs/CSSFile_mirror1
Additional Voting Disk 2 Location:/opt/oracle/crs/CSSFile_mirror2
*安裝快結束時.會要求以root執行orainsRoot.sh和root.sh指令碼,以root使用者開啟一個新的終端,一個一個節點順序執行,
千萬不要搶時間一起執行
*執行最後一個root.sh的時候,可能會報""eth0" is not public.Public interfaces should be used to configure virtual IPs."
這樣的錯誤.最簡單的變通方法是從出現錯誤的上一個節點中以 root 使用者的身份手動重新執行 vipca (GUI)。
請記住,vipca 是一個 GUI.
$ORA_CRS_HOME/bin/vipca
出現“VIP Configuration Assistant”時,我按如下所示回應螢幕提示:
Network interfaces: 選擇兩個介面 — eth0 和 eth1
選擇兩個節點,配置一下虛擬ip的資訊:rac1-vip,rac2-vip.
* 選擇"ok","exit".退出vipca.

這時,才能返回CRS安裝介面選擇"ok",執行三個指令碼後,選擇"exit" 至此,clusterware安裝就ok了.
檢查一下叢集節點
$ORA_CRS_HOME/bin/olsnodes -n
rac1 1
rac2 2
驗證crs安裝
/opt/oracle/crs/bin/crs_stat
NAME=ora.rac1.gsd
TYPE=application
TARGET=ONLINE
STATE=ONLINE on rac1

NAME=ora.rac1.ons
TYPE=application
TARGET=ONLINE
STATE=ONLINE on rac1

NAME=ora.rac1.vip
TYPE=application
TARGET=ONLINE
STATE=ONLINE on rac1

NAME=ora.rac2.gsd
TYPE=application
TARGET=ONLINE
STATE=ONLINE on rac2

NAME=ora.rac2.ons
TYPE=application
TARGET=ONLINE
STATE=ONLINE on rac2

NAME=ora.rac2.vip
TYPE=application
TARGET=ONLINE
STATE=ONLINE on rac2
檢查 Oracle 叢集件自動啟動指令碼
ls -l /etc/init.d/init.*

如果發現因 CSS 後臺程式超時引起的問題。
錯誤在日誌檔案 $ORA_CRS_HOME/css/log/ocssd1.log 中記錄為:
clssnmDiskPingMonitorThread:voting device access hanging (45010 miliseconds)
驅動器越慢,這種情況就越經常出現。需要將misscount修改為 360
只啟動叢集中的一個節點!
從一個節點中,以 root 使用者帳戶的身份登入並鍵入:
/opt/oracle/crs/bin/crsctl set css misscount 360
重新引導此單個節點 ,啟動叢集中的所有其他節點。
安裝失敗刪除CRS的方法(先建立叢集中所有計算機上節點之間的互信和X WINDWOS 環境!)
su - root
chown oracle.oinstall /opt/oracle/crs
su - oracle(建立叢集中所有計算機上節點之間的互信和X WINDWOS 環境!)
./runInstall--&gtdeinstall--&gt所有Oracle 10g軟體--&gtremove
rm -rf /etc/ora* /opt/oracle/oraInventory/ /opt/oracle/crs /tmp/* /etc/init.d/init* /opt/oracle/ocfs2/*
reboot

11. 安裝Oracle 10g軟體 (先建立叢集中所有計算機上節點之間的互信和X WINDWOS 環境!)
安裝 Oracle 資料庫軟體之前,我們應該使用叢集驗證實用程式 (CVU) 執行以下資料庫安裝前檢查。
/opt/oracle/clusterware/cluvfy/runcluvfy.sh stage -pre dbinst -n rac1,rac2 -r 10gR2 -verbose
檢視 CVU 報表。注意,該報表將包含我們在檢查 CRS 安裝前任務時收到的錯誤:找不到一組合適的 VIP 介面,
以及找不到 RHEL4 Update 中不存在的特定 RPM 程式包。可以忽略這兩個錯誤,沒什麼問題。

Oracle的安裝需要注意
Name: OraDb10g_home1 Location:/opt/oracle/app
*節點的選擇上,一定要選上所有的節點.
*保留其他預設值
*選擇 "Install database software only",先不要建instance,等資料庫安裝完畢後時候dbca建立
*安裝完成後,需要執行root.sh指令碼,(從執行資料庫安裝的節點開始)不要著急,一個節點一個節點執行
安裝結束時,退出 OUI



12. 建立TNS偵聽 (先建立叢集中所有計算機上節點之間的互信和X WINDWOS 環境!)
叢集的一個節點以oracle使用者執行
$ netca &
*選擇所有節點
*選擇Listener configuration
*其他的都選擇預設即可
結束後可以驗證一下偵聽是否已經在所有節點上執行
ps -ef | grep lsnr | grep -v 'grep' | grep -v 'ocfs' | awk '{print $9}'
應該可以看到
LISTENER_RAC1
另外一個節點應該是
LISTENER_RAC2
13. 建立資料庫例項 (先建立叢集中所有計算機上節點之間的互信和X WINDWOS 環境!)
在執行 DBCA 前,確保為 ORACLE環境正確設定了 $ORACLE_HOME 和 $PATH
以oracle使用者在任一節點執行
dbca &
*選擇 Create a Database
*選擇所有節點
*選擇Custom Database
*全域性資料庫名輸入orcl,SID也是orcl
*擇 Use the Same Password for All Accounts。輸入口令(兩次)並確保此口令不是以數字開頭。
*儲存選項選擇 use ASM
*提供要用於新 ASM 例項的 SYS 口令。
此外,從第 2 版開始,ASM 例項伺服器引數檔案 (SPFILE) 可以位於共享磁碟上。
您將需要修改“Create server parameter file (SPFILE)”的預設條目以駐留在 OCFS2 分割槽上,
如下所示:/opt/oracle/ocfs2/dbs/spfile+ASM.ora。所有其他選項可以保留其預設值。
然後將有一個對話方塊詢問您是否要建立並啟動 ASM 例項。選擇 OK 按鈕確認此對話方塊。
OUI 將立即在 RAC 叢集的所有節點上建立並啟動 ASM 例項。
*在ASM Disk Groups配置介面,選擇Create New,會顯示之前通過ASMlib建立的3個卷VOL1到VOL3
如果在本文前面部分建立的卷沒有顯示在“Select Member Disks”視窗中:(ORCL:VOL1、ORCL:VOL2 和 ORCL:VOL3),
則單擊“Change Disk Discovery Path”按鈕並輸入“ORCL:VOL*”。對於第一個“Disk Group Name”,我使用了字串“DATA”。
在“Select Member Disks”視窗中選擇前兩個 ASM 卷(ORCL:VOL1 和 ORCL:VOL2)。將“Redundancy”設定為“Normal”。
這兩列現在的狀態應為“PROVISIONED”。確認此視窗中的所有值均正確後,單擊 [OK] 按鈕。
這將顯示“ASM Disk Group Creation”對話方塊。完成 ASM 磁碟組建立過程時,將返回到“ASM Disk Groups”視窗。
再次單擊 Create New 按鈕。對於第二個“Disk Group Name”,使用字串 FLASH。
在“Select Member Disks”視窗中選擇最後一個 ASM 卷 (ORCL:VOL3)。將“Redundancy”選項設定為“External”。
最後一個卷的狀態也將更改為“PROVISIONED”。確認此視窗中的所有值均正確後,單擊 [OK] 按鈕。
這將顯示“ASM Disk Group Creation”對話方塊。完成 ASM 磁碟組建立過程後,您將返回到“ASM Disk Groups”視窗,
其中建立並選擇了兩個磁碟組。使用新建立的 Disk Group Name ORCL_DATA1 旁邊的核取方塊選擇一個磁碟組
(確保未選擇 FLASH_RECOVERY_AREA 的磁碟組),然後單擊 [Next] 繼續。
*Database File Locations 選擇DATA
*Recovery Configuration 選擇FLASH_RECOVERY_AREA ,DATA Redundancy,選擇externel,使用磁碟組名稱 +FLASH
如果使用的磁碟組的大小約為 100GB。可以使用 90GB 的 Flash Recovery Area Size
*Database Content所有資料庫元件(和目標表空間)設定為它們的預設值
資料庫字符集選Simplified Chinese ZHS16GBK
*Service name 可以輸入taf,TAF Policy選擇Basic
*Database Storage 可以保留其預設值。
完成dbca,Oracle RAC就已經完全安裝成功了!
安裝失敗刪除Oracle 10g軟體的方法
./runInstall--&gtdeinstall--&gt所有Oracle 10g軟體--&gtremove
rm -rf /opt/oracle/app/* /opt/oracle/ocfs2/* /usr/local/bin/dbhome /usr/local/bin/oraenv
rm -rf /etc/ora* /opt/oracle/oraInventory/ /opt/oracle/admin /opt/oracle/crs /tmp/* /etc/init.d/init*
delete ASM磁碟
在一個節點上執行
/etc/init.d/oracleasm deletedisk VOL1
/etc/init.d/oracleasm deletedisk VOL2
/etc/init.d/oracleasm deletedisk VOL3
重新建立ASM磁碟
在一個節點上執行
/etc/init.d/oracleasm createdisk VOL1 /dev/sda2
/etc/init.d/oracleasm createdisk VOL2 /dev/sda3
/etc/init.d/oracleasm createdisk VOL3 /dev/sda4
/etc/init.d/oracleasm listdisks

然後在另外節點上執行
/etc/init.d/oracleasm scandisks
/etc/init.d/oracleasm listdisks
重新格式化OCFS2 分割槽
mkfs.ocfs2 -b 4k -C 32k -N 2 -L ocfs2 /dev/sda1
reboot

14. 驗證 RAC 叢集和資料庫配置
有五個為 SRVCTL 定義的節點級任務:
新增和刪除節點級應用程式
設定和取消設定節點級應用程式的環境
管理節點應用程式
管理 ASM 例項
啟動和停止一組包含虛擬 IP 地址、監聽器、Oracle 通知服務和 Oracle 企業管理器代理的程式(出於維護目的)。
所有例項和服務的狀態
$ srvctl status database -d orcl
Instance orcl1 is running on node rac1
Instance orcl2 is running on node rac2
單個例項的狀態
$ srvctl status instance -d orcl -i orcl2
Instance orcl2 is running on node rac2
在資料庫全域性命名服務的狀態
$ srvctl status service -d orcl -s taf
Service orcltest is running on instance(s) orcl2, orcl1
特定節點上節點應用程式的狀態
$ srvctl status nodeapps -n rac1
VIP is running on node:rac1
GSD is running on node:rac1
Listener is running on node:rac1
ONS daemon is running on node:rac1
ASM 例項的狀態
$ srvctl status asm -n rac1
ASM instance +ASM1 is running on node rac1.
列出配置的所有資料庫
$ srvctl config database
orcl
顯示 RAC 資料庫的配置
$ srvctl config database -d orcl

顯示指定叢集資料庫的所有服務
$ srvctl config service -d orcl
orcltest PREF:orcl2 orcl1 AVAIL:
顯示節點應用程式的配置 -(VIP、GSD、ONS、監聽器)
$ srvctl config nodeapps -n rac1 -a -g -s -l
VIP exists.:/vip-linux1/192.168.1.200/255.255.255.0/eth0:eth1
GSD exists.
ONS daemon exists.
Listener exists.
顯示 ASM 例項的配置
$ srvctl config asm -n linux1
+ASM1 /u01/app/oracle/product/10.2.0/db_1

RAC的啟動和關閉
如果都遵循了上面的安裝步驟,那麼每次節點重新啟動的時候,所有服務都會自動啟動,如果需要關閉或者啟動某個節點,如下所示
*停止RAC
emctl stop dbconsole
srvctl stop instance -d orcl -i orcl1
srvctl stop instance -d orcl -i orcl2
srvctl stop asm -n rac1
srvctl stop asm -n rac2
srvctl stop nodeapps -n rac1
srvctl stop nodeapps -n rac2
*啟動RAC
和上面的步驟正好相反即
srvctl start nodeapps -n rac1
srvctl start nodeapps -n rac2
srvctl start asm -n rac1
srvctl start asm -n rac2
srvctl start instance -d orcl -i orcl2
srvctl start instance -d orcl -i orcl1
emctl start dbconsole

使用 SRVCTL 啟動/停止所有例項
啟動/停止所有例項及其啟用的服務。
srvctl start database -d orcl
srvctl stop database -d orcl

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/235507/viewspace-618036/,如需轉載,請註明出處,否則將追究法律責任。

相關文章