ORACLE 10G RAC 安裝

 

一.安裝環境規劃:linux

1. 實驗環境:c++

a) 虛擬機:vmware server 2.0數據庫

b) 操做系統:RHEL4 2.6.9-55api

c) ORACLE:10G R2bash

d) 主機名:rac1與rac2網絡

2. IP規劃:session

a) publicIP(nat):
rac1:1.1.1.111
rac2:1.1.1.222oracle

b) privIP(hostonly):
rac1-priv:2.2.2.111
rac2-priv:2.2.2.222app

c) VIP:
rac1-vip:1.1.1.11
rac1-vip:1.1.1.22ssh

3. 磁盤規劃(添加四塊磁盤):

a) /dev/sdb1用裸設備作爲OCR磁盤

b) /dev/sdc1用裸設備作爲表決磁盤

c) /dev/sdd一、/dev/sde1作爲ASM共享磁盤

4. 不少安裝文檔上是使用先安裝好一臺機器再使用vmware克隆一個新的節點的方式,可是中心有一些細節比較容易出問題,爲保證明驗的效果和模擬真實環境下的配置操做,我直接採用安裝兩臺全新虛擬機的方式來完成。

二.CRS安裝步驟

1. 按平時的操做建立兩臺vmware的虛擬機,操做系統安裝RHEL4,安裝過程當中最好把GCC能選上去,把防火牆和selinux關掉,這個很簡單,不作過多介紹

2. 安裝rac前對rac1虛擬機的配置以下:

a) 將rac1虛擬機init 0關機後對硬件作配置,保證機器上有兩塊分另屬於不一樣通道的網卡
clip_p_w_picpath002

b) 爲虛擬機添加四塊scsi磁盤,我直接加了四塊1g的scsi磁盤,注意指定不一樣的scsi通道(scsi1:x)和咱們本機使用的磁盤不要在同一通道上,依次添加四塊磁盤,分別對應scsi1:0/scsi1:1/scsi1:2/scsi:3,我下面標紅的三個地方請注意最好能調整過來
clip_p_w_picpath004

c) 磁盤添加完成後,須要對vmware的.vmx配置文件作修改,取消對磁盤的鎖定,使這四個磁盤成爲共享磁盤,在虛擬機的vmx文件後添加以下語句:
disk.locking = "false"
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.DataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize = "4096"
diskLib.maxUnsyncedWrites = "0"
scsi1:0.deviceType = "disk"
scsi1:1.deviceType = "disk"
scsi1:2.deviceType = "disk"
scsi1:3.deviceType = "disk"
配置完成後將rac1啓動

d) 建立rac的安裝目錄
mkdir –p /u01/oracle/product/10.2/crs/
mkdir –p /u01/oracle/product/10.2/db1/

e) 建立相關組與用戶併爲用戶設置密碼
clip_p_w_picpath006

f) 檢查用戶與組ID,兩個rac節點的用戶與組id必須一致
clip_p_w_picpath008

g) 將oracle安裝目錄的全部者改成oracle用戶和dba組
[root@rac1 ~]# chown -R oracle:oinstall /u01/

[root@rac1 ~]# chmod -R 775 /u01/

h) 檢查並安裝RAC、oracle程序須要使用的包:

binutils-2.15.92.0.2-18
compat-libstdc++-33.2.3-47.3
elfutils-libelf-0.97-5
elfutils-libelf-devel-0.97-5
glibc-2.3.9.4-2.19
glibc-common-2.3.9.4-2.19
glibc-devel-2.3.9.4-2.19
gcc-3.4.5-2
gcc-c++-3.4.5-2
libaio-devel-0.3.105-2
libaio-0.3.105-2
libgcc-3.4.5
libstdc++-3.4.5-2
libstdc++-devel-3.4.5-2
make-3.80-5
sysstat-5.0.5
unixODBC-2.2.11
unixODBC-devel-2.2.11

openmotif-2.2.3

rsh-0.17-25.4

rsh-server-0.17-25.4

setarch-1.6-1

i) 檢查並安裝ASM須要使用的包(ASM所使用的包須要到oracle官方網站上根據本身CPU及linux內核的對應版本去選擇下載):
oracleasm-support-2.1.4-1.el4.i386.rpm
oracleasm-2.6.9-55.EL-2.0.3-1.i686.rpm
oracleasmlib-2.0.4-1.el4.i386.rpm

oracleasm-2.6.9-55.ELhugemem-2.0.3-1.i686.rpm

oracleasm-2.6.9-55.ELsmp-2.0.3-1.i686.rpm

oracleasm-2.6.9-55.ELxenU-2.0.3-1.i686.rpm

j) 修改主機名,hosts文件,網絡配置
改主機名vi /etc/sysconfig/network
改ip與主機名對應關係vi /etc/hosts,按以前的規劃將ip與主機名映射進行編輯
(在hosts文件中注意127.0.0.1對應localhost,不要對應主機名~~~)
1.1.1.111 rac1

2.2.2.111 rac1-priv

1.1.1.11 rac1-vip

1.1.1.222 rac2

2.2.2.222 rac2-priv

1.1.1.22 rac2-vip修改網卡配置
vi /etc/sysconfig/network-scripts/ifcfg-eth0
vi /etc/sysconfig/network-scripts/ifcfg-eth1
修改rac1的內核參數文件vi /etc/sysctl.conf添加以下內容
kernel.shmmax = 4294967295

kernel.shmall = 2097152

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.file-max = 65536

net.ipv4.ip_local_port_range = 1024 65000

net.core.rmem_default = 4194304

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 262144
添加完後執行sysctl -p

k) 修改etc/security/limits.conf,添加以下內容:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

l) Vi /etc/pam.d/login,添加以下內容(64位系統不須要):
session required /lib/security/pam_limits.so
session required pam_limits.so

m) 修改/etc/profile,加入如下內容:
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi

n) 配置hangcheck:vi /etc/modprobe.conf
添加options hangcheck-timer hangcheck-tick=30 hangcheck_margin=180
再執行modprobe -v hangcheck-timer
vi /etc/grub.conf
clock=pit nosmp noapic nolapic

o) 開啓sshd服務
chkconfig sshd on
service sshd start

p) 使用oracle用戶登陸後修改修改~/.bash_profile添加以下環境變量:
export ORACLE_SID=racdb
export ORACLE_BASE=/u01/oracle/product
export ORACLE_HOME=/u01/oracle/product/10.2/db1
export ORA_CRS_HOME=/u01/oracle/product/10.2/crs
export ORACLE_ADMIN=$ORACLE_BASE/admin
export ORACLE_HOME_LISTNER=$ORACLE_HOME
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/jlib
export JAVA_HOME=$ORACLE_HOME/jdk
export ORA_NLS10=$ORACLE_HOME/nls/data
export PATH=$PATH:$ORACLE_HOME/bin:/usr/bin:/usr/sbin:/usr/local/sbin:/usr/lib:$JAVA_HOME/bin:$ORA_CRS_HOME/bin

q) 依次爲四塊共享磁盤建立物理分區
clip_p_w_picpath010

至此rac1的初期配置完成,後面開始rac2的配置

3. 安裝rac前對虛擬機rac2的配置過程以下:

a) 在關機狀態下爲虛擬機rac2添加網卡(兩塊)與共享磁盤,由於以前rac1已經建立磁盤,因此在rac2上不用建立新磁盤,直接使用rac1上已經建好的四塊共享磁盤便可,注意我打標記的地方
clip_p_w_picpath012
clip_p_w_picpath014

b) 四塊磁盤加完後,在rac2虛擬機的vmx文件中添加如下內容後開機:
disk.locking = "false"
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.DataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize = "4096"
diskLib.maxUnsyncedWrites = "0"
scsi1:0.deviceType = "disk"
scsi1:1.deviceType = "disk"
scsi1:2.deviceType = "disk"
scsi1:3.deviceType = "disk"

c) Rac2的操做請重複rac1前面所作的操做,徹底同樣,最後一步建立分區能夠不用作,在rac1上建立好分區後,rac2上能夠用fdisk –l直接看到全部已經建立好的磁盤分區

4. 爲rac1與rac2配置時間同步:

a) 在rac1上執行如下命令開啓時間服務
[root@rac1 ~]# chkconfig ntpd on

[root@rac1 ~]# service ntpd status

ntpd is stopped

[root@rac1 ~]# service ntpd start

Starting ntpd: [ OK ]

[root@rac1 ~]#

b) 在rac2上輸入system-config-date配置,輸入rac1的ip後選擇add,ok
clip_p_w_picpath016

c) 再vi /etc/rc.local
輸入如下內容:
while [ 1 ];do ntpdate rac1 1>/dev/null 2>&1; sleep 2;done&
時間同步配置完成

5. 配置SSH

a) 切換爲oracle用戶,在rac1與rac2上的用戶根目錄下分別建立.ssh目錄並給與指定權限:
mkdir ~/.ssh/
chmod 700 ~/.ssh

b) 在rac1上分別使用ssh-keygen命令生成rsa與dsa的非對稱密鑰。
ssh-keygen –t rsa
ssh-keygen –t dsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

cat ~/.ssh/authorized_keys >> rac1.authorized_keys

c) 在rac2上分別使用ssh-keygen命令生成rsa與dsa的非對稱密鑰。
ssh-keygen –t rsa
ssh-keygen –t dsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

cat ~/.ssh/authorized_keys >> rac2.authorized_keys

d) 將rac1與rac2的密鑰文件進行交換
在rac1上:
clip_p_w_picpath018
在rac2上:
clip_p_w_picpath020

e) 將rac2的密鑰文件合併到rac1的密鑰文件中:
在rac1上執行
cat rac2.authorized_keys >>authorized_keys

f) 將rac1的密鑰文件合併到rac2的密鑰文件中:
在rac2上執行:
cat rac1.authorized_keys >>authorized_keys

g) Chmod 700 authorized_keys(必需要配置,不然會須要密碼)

h) 檢測ssh配置是否成功:
ssh rac1 date
ssh rac2 date
ssh rac1-priv date
ssh rac2-priv date
若是執行以上命令不須要輸入密碼則ssh配置成功

6. 在rac1及rac2上配置裸設備與ASM磁盤:

a) 在rac1和rac2上配置裸設備(將/dev/sdb1與/dev/sdc1配置爲ocr磁盤與表決磁盤)

Vi /etc/sysconfig/rawdevices

在其中增長兩行代碼:

/dev/raw/raw1 /dev/sdb1

/dev/raw/raw2 /dev/sdc1
而後vi /etc/udev/permissions.d/50-udev.permissions,將與raw有關的權限選項進行修改
# raw devices

ram*:root:disk:0660

#raw/*:root:disk:0660

raw/*:oracle:dba:0660
再執行檢查配置是否成功:
chkconfig --list rawdevices
service rawdevices restart
clip_p_w_picpath022

b) 在rac1與rac2上配置ASM磁盤(確保前面在兩臺機器上已經安裝了asm的相關包)
使用root用戶登陸:

i. 執行如下命令:/etc/init.d/oracleasm configure
clip_p_w_picpath024

ii. 使用/etc/init.d/oracleasm createdisk vol1 /dev/sdd1建立asm磁盤
clip_p_w_picpath026在rac1與rac2分別進行如上配置後,磁盤配置完成:

7. 執行以下命令,檢查安裝環境是否匹配安裝要求:
/u01/cluster/cluvfy/runcluvfy.sh stage -pre crsinst -n rac1,rac2

8. 在rac1上執行安裝程序:
. /u01/cluster/runInstall

9. 指定crs的安裝目錄:
clip_p_w_picpath028

10. 在羣集節點中添加rac2的相關信息
clip_p_w_picpath030

11. 指定兩個網卡的鏈接類型,將eth0設置爲public,eth1設置爲private
clip_p_w_picpath032

12. 將事先配置好的裸設備/dev/raw/raw1與/dev/raw/raw2分別指定爲ocr磁盤與表決磁盤後開始執行安裝.
clip_p_w_picpath034
clip_p_w_picpath036

13. 使用集羣軟件在兩個節點進行安裝,安裝完成後按要求分別在rac1與rac2上執行指定腳本:
. /u01/oracle/product/oraInventory/orainstRoot.sh
. /u01/oracle/product/10.2/crs/root.sh
clip_p_w_picpath038
 

rac1:

clip_p_w_picpath040

rac2:

clip_p_w_picpath042

 

15. 在兩個節運行完腳本後,修改兩個配置文件:
修改vipca文件(須要在兩個節點上操做)
[oracle@rac2 bin]$ cp /home/oracle/app/crs/bin/vipca /home/oracle/app/crs/bin/vipca.bak
[oracle@rac2 bin]$ gedit /home/oracle/app/crs/bin/vipca
找到以下內容:
  Remove this workaround when the bug 3937317 is fixed
  arch=`uname -m`
  if [ "$arch" = "i686" -o "$arch" = "ia64" ]
  then
  LD_ASSUME_KERNEL=2.4.19
  export LD_ASSUME_KERNEL
  fi
  #End workaround
在fi後新添加一行:
unset LD_ASSUME_KERNEL
以及srvctl文件 (須要在兩個節點上操做)
[oracle@rac2 bin]$ cp /home/oracle/app/crs/bin/srvctl /home/oracle/app/crs/bin/srvctl.bak
[oracle@rac2 bin]$ gedit /home/oracle/app/crs/bin/srvctl
找到以下內容:
LD_ASSUME_KERNEL=2.4.19
export LD_ASSUME_KERNEL
一樣在其後新增長一行:
unset LD_ASSUME_KERNEL

16. 使用root用戶登陸在rac2上執行:
/u01/oracle/product/10.2/crs/bin/vipca
選擇public網卡點next
clip_p_w_picpath044對vip與別名進行相應設置
clip_p_w_picpath046若是在/u01/oracle/product/oraInventory/logs/installActions2011-03-21_11-23-35文件中
報WARNING: RAC2:6200 already configured.WARNING: RAC1:6200 already configured.的錯誤
請執行
$cd /home/oracle/app/crs/bin
/u01/oracle/product/10.2/crs/bin/racgons remove_config rac1:6200
/u01/oracle/product/10.2/crs/bin/racgons remove_config rac2:6200

17. 在rac2上執行完netca後,在rac1上點擊ok,crs安裝完成
clip_p_w_picpath048

18. 檢查羣集資源是否正常啓動
clip_p_w_picpath050

三.羣集數據庫安裝

1. 將oracle10g安裝軟件複製到rac1並進行解壓

2. 運行. /u01/database/runInstal選擇安裝企業版
clip_p_w_picpath052選擇安裝目錄
clip_p_w_picpath054

3. 選擇兩個節點進行數據庫安裝
clip_p_w_picpath056

4. 選擇只安裝數據庫軟件
clip_p_w_picpath058

5. 安裝完成後執行指定腳本後退出,數據庫軟件安裝完成
clip_p_w_picpath060

6. 安裝數據庫並配置ASM:
在rac1上執行dbca安裝羣集數據庫:
clip_p_w_picpath062

clip_p_w_picpath064

7. 選擇在兩個節點上安裝數據庫
clip_p_w_picpath066

8. 選擇安裝自定義的數據庫
clip_p_w_picpath068

9. 指定數據庫的實例名
clip_p_w_picpath070

10. 配置em
clip_p_w_picpath072

11. 選擇使用ASM管理共享存儲
clip_p_w_picpath074

12. 輸入asm的管理密碼及建立參數文件
clip_p_w_picpath076

13. 點擊ok後會提示沒有建立監聽,直接yes讓oracle自動配置監聽程序,並開始配置Asm實例
clip_p_w_picpath078

14. 進入ASM磁盤設置,選擇create new
clip_p_w_picpath080

15. 選擇事先配置好的asm磁盤--ok
clip_p_w_picpath082
clip_p_w_picpath084
clip_p_w_picpath086

16. 使用ASM管理磁盤
clip_p_w_picpath088

17. 是否配置閃回與歸檔模式
clip_p_w_picpath090

18. 數據庫參數配置
clip_p_w_picpath092

19. 配置數據庫服務,這裏不用設置,直接next
clip_p_w_picpath094

20. 會報一個最小內存要求的信息,無論,直接ok,再next
clip_p_w_picpath096
clip_p_w_picpath098

21. 選擇建立數據庫
clip_p_w_picpath100

clip_p_w_picpath102

22. 完成安裝
clip_p_w_picpath104

23. 檢查全部資源的狀態, 安裝完成!
clip_p_w_picpath106

相關文章
相關標籤/搜索