圖解SLES 11 SP3+Oracle 11gR2 RAC在VirtualBOX上的安裝與部署
本文分為8個部分,以圖文並茂的形式介紹了如何在VirtualBOX上安裝與部署SLES11
SP3+Oracle 11gR2 RAC環境,旨在給有類似部署需求的讀者作參考。
第一部分:安裝SLES 11
第二部分:安裝完成後的基本配置
第三部分:建立RAC安裝所需要的目錄和使用者
第四部分:安裝 RAC前的預配置工作
第五部分:clone出第二個節點
第六部分:配置共享儲存
第七部分:安裝配置GI
第八部分:安裝DB與建庫
其中最後兩個部分僅把筆者實施過程中遇到的問題進行了描述,不詳細展開整個過程,有興趣的讀者可以參閱oracle官方文件或者網上類似資料。
第一部分:安裝SLES 11
新建虛擬機器,選擇openSUSE (64bit),圖1
至少分配4G記憶體,圖2
以下三個步驟在建立虛擬硬碟之前先設定硬碟屬性,圖3、4、5
圖6:設定虛擬檔案路徑及大小,定義80G
圖7:主介面已經顯示出一個處於”已關閉”狀態名為suse1的虛擬機器了
圖8:在”常規”選項裡對虛擬機器的快照路徑以及是否啟用主機與虛擬機器間的複製貼上功能按需進行設定,注意後面需要在虛擬機器裡安裝增強包才能真正使用複製貼上的功能,這裡只是起到一個開關的作用
圖9:在”系統”選項裡可以設定虛擬機器所能用到的cpu個數
圖11 & 圖12:因為RAC環境需要至少一張public的普通網路卡和一張private的內聯網路卡,在”網路”選項裡定義兩張相應型別的網路卡
圖13:在”共享資料夾”選項裡,設定主機與虛擬機器之間的共享目錄,用於檔案共享,比ftp方便不少
圖14:在Vbox右側的介面裡會把剛才的選擇進行彙總,可以進一步確認是否還有需要改動的地方
圖16:啟動名為suse1的虛擬機器,選中SLES 11安裝介質對應的iso檔案
圖18:安裝介面隨即彈出
圖19、20、22、23:開始安裝
圖24:在”expert”選項卡里對部分設定進行更改
圖25:更改磁碟分割槽
圖26:選中唯一一塊硬碟sda進行分割槽,
--(1)、boot分割槽:200M,圖27、28、29
--(2)、根分割槽:12G、圖30、31
--(3)、SWAP:2G,圖32、33、34
--(4)、/oracle檔案系統:剩下的都加入進去,約65G,需要先建立一個擴充套件分割槽,建立後再此擴充套件分割槽上建立/oracle檔案系統,圖35、37、38、39
圖40、41:這就是最終的分割槽佈局
圖42、43:回到”change”,選擇”software”選項,勾上必要的軟體包,如”Oracle Server Base”等(會建立oracle使用者、oinstall和dba使用者組)
圖44、45、46:點選”install”進入安裝介面
圖47、48、49:安裝完成後的基本配置嚮導:設定root密碼,主機名域名
圖50:進入”Network Interface”介面,給網路卡配置IP地址
--(1) Public網路卡,圖51
--(2) private網路卡,圖52
圖53、54:網路卡彙總資訊,點”Next”系統將進行配置
圖55:跳過網路連線測試
圖56:跳過網路服務配置
圖57:本地認證
圖58:先不建立任何使用者
圖59:等待系統寫入配置
圖60、61:最後一步:掃描硬體
圖62:大功告成,勾選了”Clone This system for AutoYaST”表示安裝期間的所有配置儲存在/root/autoyast.xml檔案裡
第二部分:安裝完成後的基本配置
安裝Vbox的增強功能,便於方便的在hostOS與guestOS間進行CV操作
圖63:在Vbox的安裝目錄下有一個名為VboxGuestAdditions.iso的安裝映像檔案,選中它
圖64:系統會自行啟動Vbox增強工具的安裝
如果遇到上圖中的” building the main guest additions module failed”錯誤的情況,按照提示安裝上名為kernel-default-devel*的package即可,安裝過程就不展開了。
關閉防火牆
suse1:/etc # service SuSEfirewall2_init status
Checking the status of SuSEfirewall2 running
suse1:/etc # service SuSEfirewall2_setup status
Checking the status of SuSEfirewall2 running
suse1:/etc # service SuSEfirewall2_init stop
suse1:/etc # service SuSEfirewall2_setup stop
Shutting down the Firewall done
suse1:/etc # service SuSEfirewall2_setup status
Checking the status of SuSEfirewall2 unused
suse1:/etc # service SuSEfirewall2_init status
Checking the status of SuSEfirewall2 unused
suse1:/media/sf_suse1_share # chkconfig --list | grep -i fire
SuSEfirewall2_init 0:off 1:off 2:off 3:on 4:off 5:on 6:off
SuSEfirewall2_setup 0:off 1:off 2:off 3:on 4:off 5:on 6:off
suse1:/media/sf_suse1_share # chkconfig --level 35 SuSEfirewall2_init off
suse1:/media/sf_suse1_share # chkconfig --level 35 SuSEfirewall2_setup off
suse1:/media/sf_suse1_share # chkconfig --list | grep -i fire
SuSEfirewall2_init 0:off 1:off 2:off 3:off 4:off 5:off 6:off
SuSEfirewall2_setup 0:off 1:off 2:off 3:off 4:off 5:off 6:off
必須要安裝的包:
binutils-2.21.1-0.7.25 (實際安裝版本:binutils-2.23.1-0.17.18)
gcc-4.3-62.198
gcc-c++-4.3-62.198
glibc-2.11.3-17.31.1 (實際安裝版本:glibc-2.11.3-17.54.1)
glibc-devel-2.11.3-17.31.1(實際安裝版本:glibc-devel-2.11.3-17.54.1)
ksh-93u-0.6.1(實際安裝版本:ksh-93u-0.18.1)
libaio-0.3.109-0.1.46
libaio-devel-0.3.109-0.1.46
libcap1-1.10-6.10
libstdc++33-3.3.3-11.9
libstdc++33-32bit-3.3.3-11.9
libstdc++43-devel-4.3.4_20091019-0.22.17(實際安裝版本:libstdc++43-devel-4.3.4_20091019-0.37.30)
libstdc++46-4.6.1_20110701-0.13.9 (實際安裝版本:libstdc++46-4.6.9-0.11.38)
libgcc46-4.6.1_20110701-0.13.9 (實際安裝版本:libstdc++46-4.6.9-0.11.38)
make-3.81 (實際安裝版本:make-3.81-128.20)
sysstat-8.1.5-7.32.1 (實際安裝版本:sysstat- 8.1.5-7.45.24)
xorg-x11-libs-32bit-7.4 (實際安裝版本:xorg-x11-libs-32bit-7.4-8.26.32.1)
xorg-x11-libs-7.4 (實際安裝版本:xorg-x11-libs-7.4-8.26.32.1)
xorg-x11-libX11-32bit-7.4 (實際安裝版本:xorg-x11-libX11-32bit-7.4-5.9.1)
xorg-x11-libX11-7.4 (實際安裝版本:xorg-x11-libX11-.4-5.9.1)
xorg-x11-libXau-32bit-7.4 (實際安裝版本:xorg-x11-libXau-32bit-7.4-1.15)
xorg-x11-libXau-7.4 (實際安裝版本:xorg-x11-libXau-7.4-1.15)
xorg-x11-libxcb-32bit-7.4 (實際安裝版本:xorg-x11-libxcb-32bit-7.4-1.29.1)
xorg-x11-libxcb-7.4 (實際安裝版本:xorg-x11-libxcb-7.4-1.29.1)
xorg-x11-libXext-32bit-7.4 (實際安裝版本:xorg-x11-libXext-32bit-7.4-1.16.21)
xorg-x11-libXext-7.4 (實際安裝版本:xorg-x11-libXext-7.4-1.16.21)
unixODBC-2.2.14 (64-bit) (實際安裝版本:unixODBC-2.2.12-198.17)
unixODBC-devel-2.2.14 (64-bit) (實際安裝版本:unixODBC-devel-2.2.12-198.17)
第三部分:建立RAC安裝所需要的目錄和使用者
---建立使用者組
groupadd -g 2000 oinstall
groupadd -g 2001 dba
groupadd -g 2002 asmdba
groupadd -g 2003 asmadmin
groupadd -g 2004 asmoper
---建立使用者,設定密碼
useradd -G asmdba,dba -g oinstall -s /bin/ksh -u 3000 oracle
useradd -G asmdba,asmadmin,asmoper -g oinstall -s /bin/ksh -u 3001 grid
passwd oracle
passwd grid
---建立GI與DB安裝目錄,設定許可權
mkdir -p /oracle/app <---central Inventory的上層目錄
mkdir -p /oracle/app/11.2.0/grid <---grid使用者的ORACLE_HOME
mkdir -p /oracle/app/grid <---grid使用者的ORACLE_BASE
chown -R grid.oinstall /oracle/app/
mkdir -p /oracle/app/oracle/ <---oracle使用者的ORACLE_BASE
mkdir -p /oracle/app/oracle/product/11.2.0/db_1 <---oracle使用者的ORACLE_HOME
chown -R oracle.oinstall /oracle/app/oracle
chmod g+w /oracle/app <---GI安裝完屬主會變成root.oinstall,提前加上同組寫許可權,以便Inventory目錄能夠正常建立
第四部分:安裝 RAC前的預配置工作
---配置/etc/hosts
192.168.1.121 suse1 suse1.oracle.com
192.168.1.122 suse1-vip
172.168.1.121 suse1-priv
192.168.1.123 suse2 suse2.oracle.com
192.168.1.124 suse2-vip
172.168.1.123 suse2-priv
192.168.1.126 suse-cluster suse-cluster-scan
---定義grid使用者環境變數
export ORACLE_BASE=/oracle/app/grid
export ORACLE_HOME=/oracle/app/11.2.0/grid
export PATH=$PATH:$ORACLE_HOME/bin
export ORA_NLS10=$ORACLE_HOME/nls/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH:
export CLASSPATH=$ORACLE_HOME/JRE/lib:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
set -o vi
---定義oracle使用者環境變數
export ORACLE_BASE=/oracle/app/oracle
export ORACLE_HOME=/oracle/app/oracle/product/11.2.0/db_1
export PATH=$PATH:$ORACLE_HOME/bin
export ORA_NLS10=$ORACLE_HOME/nls/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH:
export CLASSPATH=$ORACLE_HOME/JRE/lib:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
set -o vi
---設定grid、oracle使用者的limit引數,在/etc/security/limits.conf里加入
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
grid soft stack 10240
grid hard stack 32768
---設定系統核心引數,在/etc/sysctl.conf里加入,並使之生效
kernel.sem=250 32000 100 128 #(系統預設1250 32000 100 256)
kernel.shmall=524288 #(系統預設2097152)
kernel.shmmax= 2147483648 #(系統預設3294967296)
kernel.shmmni=4096
fs.file-max=6815744
fs.aio-max-nr=1048576
net.ipv4.ip_local_port_range=9000 65500
net.core.rmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_default=262144
net.core.wmem_max=1048576
vm.hugetlb_shm_group= 2000 #(oinstall的groupid)
sysctl -p
chkconfig boot.sysctl on #系統啟動時能讀取/etc/sysctl.conf
---在/etc/pam.d/xdm和/etc/pam.d/su兩個檔案里加入PAM相關設定
session required pam_limits.so
---配置時間同步
(1) /etc/ntp.conf裡
刪除
server 127.127.1.0 # local clock (LCL)行
加入
server 192.168.1.121 # local clock (LCL)
註釋掉
fudge 127.127.1.0 stratum 10 # LCL is unsynchronized
(2) /etc/sysconfig/ntp裡
NTPD_OPTIONS="-g -u ntp:ntp"
修改成
NTPD_OPTIONS="-x -g -u ntp:ntp"
(3) ntp服務設定並啟動
suse1:/etc/sysconfig # chkconfig --level 35 ntp on
insserv: warning: current start runlevel(s) (3 5) of script `vboxadd-x11' overwrites defaults (empty).
suse1:/etc/sysconfig # chkconfig --list ntp
ntp 0:off 1:off 2:off 3:on 4:off 5:on 6:off
suse1:/etc/sysconfig # rcntp status
Checking for network time protocol daemon (NTPD): unused
suse1:/etc/sysconfig # rcntp start
Starting network time protocol daemon (NTPD) done
suse1:/etc/sysconfig # rcntp status
remote refid st t when poll reach delay offset jitter
==============================================================================
suse1 .INIT. 16 u - 64 0 0.000 0.000 0.000
Checking for network time protocol daemon (NTPD):
suse1:/etc/sysconfig # ps -ef|grep -i ntp | grep -v grep
ntp 24032 1 0 17:13 ? 00:00:00 /usr/sbin/ntpd -p /var/run/ntp/ntpd.pid -x -g -u ntp:ntp -i /var/lib/ntp -c /etc/ntp.conf
第五部分:clone出第二個節點
圖65、66、67:從suse1.tpl這個虛擬機器Clone出一個名為suse1的虛擬機器
以上clone的過程預設會將目標主機與源主機的.vdi檔案放在同一個磁碟機代號下,如果想放在不同的磁碟機代號裡,可以在clone完之後使用如下方法將目標主機的.vdi檔案挪至新的磁碟機代號:
A) 把suse1-disk1.vdi從源目錄F:\VBoxVMs\SUSE 11\suse1移到目標目錄G:\VBoxVMs\SUSE 11\suse1
B) 執行如下命令在VBOX命令列為新路徑下的.vdi檔案生成一個新的UUID
"E:\Program Files\VirtualBox\VBoxManage.exe" internalcommands sethduuid "G:\VBoxVMs\SUSE 11\suse1\suse1-disk1.vdi"
UUID changed to: a9f2a180-8c4b-4558-bef1-a7af09139f8a
C) 在”儲存”設定介面中刪除原來的.vdi檔案,指向新的.vdi檔案,圖67-1、67-2、67-3
備份位置和共享目錄有必要的話也改一下,圖68、69
---要使clone出來的節點能正常啟動,還須完成如下配置
首次啟動clone節點是會停在以下介面,圖70:
原因在於clone出來的節點上的硬碟編號與源主機硬碟編號不同,但在clone主機的/boot/grub/menu.lst檔案裡仍保留著源主機上的硬碟編號,啟動時按照menu.lst檔案中的編號在clone主機上找當然找不到對應的硬碟,於是就出現了上述介面,’ata-VBOX_HARDDISK_VB52946b9d-44ce5752’這一串就是源主機上的硬碟編號在clone主機無法找到對應硬碟。
解決方法:
按照介面的提示輸入”n”進入shell提示符,在/dev/disk/by-id目錄下找到clone主機真正的硬碟編號,圖71:
透過SLES 11安裝光碟引導重啟clone主機到Rescue模式,圖72、73:
手工mount /boot,圖74:
mount /dev/sda1 /boot
修改/boot/grub/menu.lst裡的”52946b9d-44ce5752”替換成”73b3b14c-7e51ecb7”,圖75,儲存後重啟主機,注意這次從硬碟啟動
啟動時還是會有些小問題,在fsck的時候還是去找了源主機上的硬碟,圖76,按提示進入maintenance模式:
圖77,/etc/fstab檔案中上半部分還是使用了源主機的硬碟編號,把這部分也改成新的編號
修改後再次重啟成功,事後經過多次測試可以在mount /boot的同時mount /dev/sda2 /mnt,將/mnt/etc/fstab裡的硬碟編號也改成新的,這樣就少了一次重啟
---對clone出來的節點作配置修改
因為RAC要求不同節點對應的網路卡名稱必須相同,先刪除多餘網路卡、配置IP地址,再到/etc/udev/rules.d/70-persistent-net.rules裡修改網路卡名稱”eth2”修改為”eth0”、 ”eth3”修改為”eth1”,然後重啟主機,進行IP地址配置,圖77-2、78、79、80
配置完成從源主機Ping測試網路連通性
suse1:/etc/sysconfig/network # ping suse2
PING suse2 (192.168.1.123) 56(84) bytes of data.
64 bytes from suse2 (192.168.1.123): icmp_seq=1 ttl=64 time=5.89 ms
64 bytes from suse2 (192.168.1.123): icmp_seq=2 ttl=64 time=0.257 ms
^C
--- suse2 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.257/3.075/5.894/2.819 ms
suse1:/etc/sysconfig/network # ping suse2-priv
PING suse2-priv (172.168.1.123) 56(84) bytes of data.
64 bytes from suse2-priv (172.168.1.123): icmp_seq=1 ttl=64 time=4.80 ms
^C
--- suse2-priv ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 4.804/4.804/4.804/0.000 ms
第六部分:配置共享儲存
---在Vbox介面裡給第1個節點後新增儲存,圖81、82、83
總共新增了1G、2G、4G三種規格的盤,每種盤各8塊,將這些盤的屬性改為共享,圖84
---讓第2個節點認出剛才在第1個節點上配置的共享儲存,同樣需要先關閉節點,圖85、86
---重啟suse1、suse2兩個節點完成udev的配置,使之成為ASM candidate device
suse1:/dev # ls -l sd*
brw-rw---- 1 root disk 8, 0 Jun 15 07:33 sda
brw-rw---- 1 root disk 8, 1 Jun 15 07:33 sda1
brw-rw---- 1 root disk 8, 2 Jun 15 07:33 sda2
brw-rw---- 1 root disk 8, 3 Jun 15 07:33 sda3
brw-rw---- 1 root disk 8, 4 Jun 15 07:33 sda4
brw-rw---- 1 root disk 8, 5 Jun 15 07:33 sda5
brw-rw---- 1 root disk 8, 16 Jun 15 07:33 sdb
brw-rw---- 1 root disk 8, 32 Jun 15 07:33 sdc
brw-rw---- 1 root disk 8, 48 Jun 15 07:33 sdd
brw-rw---- 1 root disk 8, 64 Jun 15 07:33 sde
brw-rw---- 1 root disk 8, 80 Jun 15 07:33 sdf
brw-rw---- 1 root disk 8, 96 Jun 15 07:33 sdg
brw-rw---- 1 root disk 8, 112 Jun 15 07:33 sdh
brw-rw---- 1 root disk 8, 128 Jun 15 07:33 sdi
brw-rw---- 1 root disk 8, 144 Jun 15 07:33 sdj
brw-rw---- 1 root disk 8, 160 Jun 15 07:33 sdk
brw-rw---- 1 root disk 8, 176 Jun 15 07:33 sdl
brw-rw---- 1 root disk 8, 192 Jun 15 07:33 sdm
brw-rw---- 1 root disk 8, 208 Jun 15 07:33 sdn
brw-rw---- 1 root disk 8, 224 Jun 15 07:33 sdo
brw-rw---- 1 root disk 8, 240 Jun 15 07:33 sdp
brw-rw---- 1 root disk 65, 0 Jun 15 07:33 sdq
brw-rw---- 1 root disk 65, 16 Jun 15 07:33 sdr
brw-rw---- 1 root disk 65, 32 Jun 15 07:33 sds
brw-rw---- 1 root disk 65, 48 Jun 15 07:33 sdt
brw-rw---- 1 root disk 65, 64 Jun 15 07:33 sdu
brw-rw---- 1 root disk 65, 80 Jun 15 07:33 sdv
brw-rw---- 1 root disk 65, 96 Jun 15 07:33 sdw
brw-rw---- 1 root disk 65, 112 Jun 15 07:33 sdx
brw-rw---- 1 root disk 65, 128 Jun 15 07:33 sdy
輸出配置內容加入到99-oracle-asmdevices.rules
cd /dev
ls -1 sd* | grep -v [0-90] | grep -v sda |
cut -c 3-3|while read v_alpha
do
echo "KERNEL==\"sd*\", SUBSYSTEM==\"block\",
PROGRAM==\"/lib/udev/scsi_id --whitelisted --replace-whitespace
--device=/dev/\$name\", RESULT==\"`/lib/udev/scsi_id --whitelisted
--replace-whitespace --device=/dev/sd$v_alpha`\", NAME=\"asm$v_alpha\",
OWNER=\"grid\", GROUP=\"asmadmin\",
MODE=\"0660\""
done >> /etc/udev/rules.d/99-oracle-asmdevices.rules
同步到suse2
scp /etc/udev/rules.d/99-oracle-asmdevices.rules suse2:/etc/udev/rules.d/
啟動udev
suse1:/dev # /etc/init.d/boot.udev stop
Stopping udevd: done
suse1:/dev # /etc/init.d/boot.udev start
Starting udevd: done
Loading drivers, configuring devices:
檢查asm device已在/dev/目錄下生成
suse1:/dev # ls -ld asm*
brw-rw---- 1 grid asmadmin 8, 16 Jun 15 16:54 asmb
brw-rw---- 1 grid asmadmin 8, 32 Jun 15 16:54 asmc
brw-rw---- 1 grid asmadmin 8, 48 Jun 15 16:54 asmd
brw-rw---- 1 grid asmadmin 8, 64 Jun 15 16:54 asme
brw-rw---- 1 grid asmadmin 8, 80 Jun 15 16:54 asmf
brw-rw---- 1 grid asmadmin 8, 96 Jun 15 16:54 asmg
brw-rw---- 1 grid asmadmin 8, 112 Jun 15 16:54 asmh
brw-rw---- 1 grid asmadmin 8, 128 Jun 15 16:54 asmi
brw-rw---- 1 grid asmadmin 8, 144 Jun 15 16:54 asmj
brw-rw---- 1 grid asmadmin 8, 160 Jun 15 16:54 asmk
brw-rw---- 1 grid asmadmin 8, 176 Jun 15 16:54 asml
brw-rw---- 1 grid asmadmin 8, 192 Jun 15 16:54 asmm
brw-rw---- 1 grid asmadmin 8, 208 Jun 15 16:54 asmn
brw-rw---- 1 grid asmadmin 8, 224 Jun 15 16:54 asmo
brw-rw---- 1 grid asmadmin 8, 240 Jun 15 16:54 asmp
brw-rw---- 1 grid asmadmin 65, 0 Jun 15 16:54 asmq
brw-rw---- 1 grid asmadmin 65, 16 Jun 15 16:54 asmr
brw-rw---- 1 grid asmadmin 65, 32 Jun 15 16:54 asms
brw-rw---- 1 grid asmadmin 65, 48 Jun 15 16:54 asmt
brw-rw---- 1 grid asmadmin 65, 64 Jun 15 16:54 asmu
brw-rw---- 1 grid asmadmin 65, 80 Jun 15 16:54 asmv
brw-rw---- 1 grid asmadmin 65, 96 Jun 15 16:54 asmw
brw-rw---- 1 grid asmadmin 65, 112 Jun 15 16:54 asmx
brw-rw---- 1 grid asmadmin 65, 128 Jun 15 16:54 asmy
第七部分:安裝配置GI
這部分大家都比較熟了,不作詳細解釋,只擷取關鍵步驟的截圖,圖87、88、89、90、91、92、93、94
之後在按照提示執行root.sh的時候,出現了” USM driver install actions failed”錯誤
suse1:~ # /oracle/app/11.2.0/grid/root.sh
Performing root user operation for Oracle 11g
The following environment variables are set as:
ORACLE_OWNER= grid
ORACLE_HOME= /oracle/app/11.2.0/grid
Enter the full pathname of the local bin directory: [/usr/local/bin]:
The contents of "dbhome" have not changed. No need to overwrite.
The contents of "oraenv" have not changed. No need to overwrite.
The contents of "coraenv" have not changed. No need to overwrite.
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Using configuration parameter file: /oracle/app/11.2.0/grid/crs/install/crsconfig_params
User ignored Prerequisites during installation
Installing Trace File Analyzer
USM driver install actions failed
/oracle/app/11.2.0/grid/perl/bin/perl -I/oracle/app/11.2.0/grid/perl/lib -I/oracle/app/11.2.0/grid/crs/install /oracle/app/11.2.0/grid/crs/install/rootcrs.pl execution failed
MOS上提供了補丁解決該問題,先退出圖形安裝介面,安裝17475946補丁
---1、節點1執行opatch auto安裝17475946補丁
su - grid
$ORACLE_HOME/OPatch/ocm/bin/emocmrsp <---生成OCM檔案預設是$HOME目錄下的grid.rsp
su - root
suse1:/oracle/media/17475946p # ls
17475946 README.html README.txt bundle.xml
suse1:/oracle/media/17475946p # cd ..
suse1:/oracle/media # /oracle/app/11.2.0/grid/OPatch/opatch auto /oracle/media/17475946p -och /oracle/app/11.2.0/grid -ocmrf /home/grid/ocm.rsp <--改用-och,此選項用於CRS未啟動的情況
以下是安裝補丁期間的輸出
Executing /oracle/app/11.2.0/grid/perl/bin/perl /oracle/app/11.2.0/grid/OPatch/crs/patch11203.pl -patchdir /oracle/media -patchn 17475946p -och /oracle/app/11.2.0/grid -ocmrf /home/grid/ocm.rsp -paramfile /oracle/app/11.2.0/grid/crs/install/crsconfig_params
This is the main log file: /oracle/app/11.2.0/grid/cfgtoollogs/opatchauto2016-06-17_19-10-55.log
This file will show your detected configuration and all the steps that opatchauto attempted to do on your system:
/oracle/app/11.2.0/grid/cfgtoollogs/opatchauto2016-06-17_19-10-55.report.log
2016-06-17 19:10:55: Starting Clusterware Patch Setup
Using configuration parameter file: /oracle/app/11.2.0/grid/crs/install/crsconfig_params
/oracle/app/11.2.0/grid/bin/crsctl query crs activeversion ... failed rc=8 with message:
Oracle Cluster Registry initialization failed accessing Oracle Cluster Registry device: PROC-26: Error while accessing the physical storage ORA-29701: unable to connect to Cluster Synchronization Service
Stopping CRS...
Stopped CRS successfully
patch /oracle/media/17475946p/17475946 apply successful for home /oracle/app/11.2.0/grid <---表示17475946補丁安裝成功
Starting CRS...
Installing Trace File Analyzer
CRS-4123: Oracle High Availability Services has been started.
。。。中間隔了大約5分鐘
Oracle Grid Infrastructure stack start initiated but failed to complete at /oracle/app/11.2.0/grid/crs/install/crsconfig_lib.pm line 11814.
---安裝完成後使用opatch lsinventory能看到該補丁安裝成功
Interim patches (1) :
Patch 17475946 : applied on Fri Jun 17 19:15:51 CST 2016
Unique Patch ID: 18978376
Patch description: "ACFS Interim patch for 17475946"
Created on 29 May 2015, 06:35:10 hrs PST8PDT
Bugs fixed:
17475946
---2、節點2執行opatch auto安裝17475946補丁
過程及輸出同節點1
---3、由於之前配置CRS的過程中遇到了” USM driver install actions failed”報錯而半途中斷,這裡需要重新配置CRS
先deconfig,清理掉上次殘留下的配置
節點1、節點2:分別執行deconfig.sh
su - root
/oracle/app/11.2.0/grid/crs/install/rootcrs.pl -deconfig -force -verbose
Successfully deconfigured Oracle clusterware stack on this node <---出現這行表示Deinstall成功
節點1:重新執行config.sh
su - grid
cd $ORACLE_HOME/crs/config
./config.sh
再按照提示分別在node 1、node 2執行
/oracle/app/11.2.0/grid/root.sh <---命令輸出如下,這次沒有了"USM driver install actions failed"錯誤,說明17475946補丁確實生效了,但出現了下面這條的錯誤:
Creation of ASM spfile in disk group failed. Following error occured: ORA-29780: unable to connect to GPnP daemon [CLSGPNP_ERR]
上述錯誤MOS指出是由執行root.sh的使用者設定的GRID_HOME不正確引起的,果然我們看到root使用者的環境變數中存在ORA_CRS_HOME、ORA_ASM_HOME兩個環境變數,這兩變數並非我們人為設定,其它還有ORACLE_SID、ORACLE_BASE、ORACLE_HOME三個變數也不是我們所設定,猜測可能是因為我們在安裝OS時選擇了安裝oracle_server包所致
suse1:/etc # env | grep ORA
ORA_CRS_HOME=/opt/oracle/product/11gR1/crs
ORA_ASM_HOME=/opt/oracle/product/11gR1/asm
ORACLE_SID=orcl
ORACLE_BASE=/opt/oracle
ORACLE_HOME=/opt/oracle/product/11gR1/db
暫時沒找到這些環境變數放在那些個系統配置檔案裡,於是乾脆在node 1、node 2兩節點的/root/.profile裡清空掉這些變數
unset ORA_CRS_HOME
unset ORA_ASM_HOME
unset ORACLE_SID
unset ORACLE_BASE
unset ORACLE_HOME
節點 1:完成上述調整後重新執行root.sh
su - root
/oracle/app/11.2.0/grid/root.sh
這回終於往下走了
。。。省略了部分內容
ASM created and started successfully.
Disk Group DATA mounted successfully.
clscfg: -install mode specified
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
CRS-4256: Updating the profile
Successful addition of voting disk 5dcd311cc84b4fe8bfb70fc21cea2d34.
Successful addition of voting disk 076d2279e9ad4fe9bfaf2fcf2d944d20.
Successful addition of voting disk 0f97acb2b7ea4fb1bfc2965317c2a0f2.
Successfully replaced voting disk group with +DATA.
CRS-4256: Updating the profile
CRS-4266: Voting file(s) successfully replaced
## STATE File Universal Id File Name Disk group
-- ----- ----------------- --------- ---------
1. ONLINE 5dcd311cc84b4fe8bfb70fc21cea2d34 (/dev/asmb) [DATA]
2. ONLINE 076d2279e9ad4fe9bfaf2fcf2d944d20 (/dev/asmc) [DATA]
3. ONLINE 0f97acb2b7ea4fb1bfc2965317c2a0f2 (/dev/asmd) [DATA]
Located 3 voting disk(s).
CRS-2672: Attempting to start 'ora.asm' on 'suse1'
CRS-2676: Start of 'ora.asm' on 'suse1' succeeded
CRS-2672: Attempting to start 'ora.DATA.dg' on 'suse1'
CRS-2676: Start of 'ora.DATA.dg' on 'suse1' succeeded
Configure Oracle Grid Infrastructure for a Cluster ... succeeded
節點 2:同樣需要執行root.sh
su - root
/oracle/app/11.2.0/grid/root.sh
執行完後檢查Clusterware狀態正常,圖95
節點1:回到原圖形安裝介面繼續下面的步驟
圖96
圖97:忽略掉Oracle Cluster Verification Utiliy的Failed,因為”suse-cluster-scan”名稱我們是透過本地hosts解析的沒有透過DNS所以驗證時報錯
第八部分:安裝DB與建庫
---安裝DB軟體
這裡也是把一些主要步驟的截圖提供出來,不一一列舉了,圖98、99、100、101、102、103
在安裝DB軟體的過程中唯一需要注意的地方是:
oracle使用者下的環境變數ORA_NLS10要麼不要設定要麼設定為$GRID_HOME/nls/data,如果設定為$ORACLE_HOME/nls/data,則在進行到”Prerequisite Checks”階段時會遇到如下錯誤:
An internal error occurred within cluster verification framework
Unable to obtain network interface list from Oracle Clusterware PRCT-1011 : Failed to run "oifcfg". Detailed error: null。MOS文件1380183.1對此有記載。可以在DB安裝完之後恢復ORA_NLS10引數的設定
---建庫
這裡也是把一些主要步驟的截圖提供出來,不一一列舉了,圖104、105、106、107、108、109、110
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/53956/viewspace-2120438/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 在SLES 11.3上安裝MongoDB Enterprise 3.4.6MongoDB
- 安裝11gr2 RAC
- 【RAC】11gR2 rac 上滾動安裝/回退補丁
- 【RAC安裝】 AIX下安裝Oracle 11gR2 RACAIOracle
- oracle 11gr2 rac 安裝Oracle
- 安裝SAP EP on SLES 11
- 在virtualbox上安裝ubuntuUbuntu
- oracle 11gR2 RAC安裝與oracle 10gR2 rac 安裝時的不同點Oracle 10g
- CentOS7 在 VirtualBox 上的安裝配置(3) — 圖形介面安裝篇CentOS
- 實驗在Debian 上安裝 Oracle 11gR2Oracle
- 11Gr2 RAC udev ASM openfiler(安裝文件)devASM
- Oracle11gR2 RAC在Linux上的安裝OracleLinux
- 在linux6.4上安裝11g racLinux
- oracle 11gr2 rac 虛擬安裝問題Oracle
- oracle 11gR2 rac 安裝問題總結Oracle
- oracle 11gR2 rac for aix 5310 安裝OracleAI
- Oracle 11gR2 在Linux平臺上安裝體驗OracleLinux
- Oracle 11GR2 在CentOS 7 上的單例項靜默安裝OracleCentOS單例
- OEL6.3 64位部署ORACLE 11gR2(11.2.0.4) RAC+DG(5)安裝GIOracle
- oracle 11gR2與10gR2 rac安裝時不同點(z)Oracle
- 在VirtualBox上安裝OS X 10.10
- 在oracle linux 5.6上安裝oracle 11g RACOracleLinux
- Oracle GoldenGate在RAC上部署安裝OracleGo
- ZabbixAgent在Windows上安裝部署Windows
- linux7 靜默安裝 11GR2 RACLinux
- Oracle 11gr2 RAC on OEL6.4靜默安裝Oracle
- Oracle 11gR2 for Linux RAC 初次安裝體驗OracleLinux
- 11gR2 RAC安裝時遇到的一些錯誤
- redhat 6.5安裝11gr2 RAC的過程及設定Redhat
- 在Centos 6.5上安裝Oracle Database 11g Release 2 (11.2.0.4.0) RACCentOSOracleDatabase
- 在 SLES-10-x86 上安裝 Oracle 資料庫 10gOracle資料庫
- 部署Oracle 11gR2 Data Guard安裝記錄(2)Oracle
- 部署Oracle 11gR2 Data Guard安裝記錄(1)Oracle
- Fedora 17上安裝virtualbox
- OEL6.3 64位部署ORACLE 11gR2(11.2.0.4) RAC+DG(7)安裝資料庫Oracle資料庫
- Oracle 12cR1 RAC 在VMware Workstation上安裝(中)—圖形介面安裝Oracle
- 安裝完畢11gR2 rac後,必須要做的幾點
- Typecho在Ubuntu 22.04上的安裝部署Ubuntu