10gR2 Clusterware 簡(jiǎn)明安裝步驟
來(lái)源:程序員人生 發(fā)布時(shí)間:2015-01-21 08:47:37 閱讀次數(shù):3009次
1、安裝操作系統(tǒng)(略)
注意,我這里用的都是OEL 5u5版本,由于自帶了
Oracle提供的環(huán)境變量安裝包,因此可以很方便地進(jìn)行
Oracle軟件的安裝,因此推薦使用該版本
2、配置本地yum源
--把安裝盤(pán)mount到media
mount -t iso9660 /dev/cdrom /media
--配置repos添加以下內(nèi)容
vi /etc/yum.repos.d/oel5.repos
[oel5]
name = oel 5 DVD
basurl = file:///media/Server
gpgcheck =0
enabled = 1 --為1表示啟用這個(gè)repos
3、配置信任關(guān)系(oracle用戶)
--節(jié)點(diǎn)1和節(jié)點(diǎn)2分別履行:
ssh-keygen -t rsa
ssh-keygen -t dsa
--節(jié)點(diǎn)1履行:
cat ~/.ssh/*.pub >> ~/.ssh/authorized_keys
ssh rac2 cat ~/.ssh/*.pub >> ~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys rac2:~/.ssh/authorized_keys
總之就是把2邊節(jié)點(diǎn)的信息寫(xiě)到公鑰文件中去,然后相互ssh就不再需要密碼了,由于RAC安裝時(shí)需要在節(jié)點(diǎn)之間復(fù)制文件
--驗(yàn)證
節(jié)點(diǎn)1履行:
ssh rac1 date
ssh rac2 date
ssh rac1-priv date
ssh rac2-priv date
節(jié)點(diǎn)2履行:
ssh rac1 date
ssh rac2 date
ssh rac1-priv date
ssh rac2-priv date
多驗(yàn)證幾次,直到不需要輸入密碼為止,這里要注意authorized_keys中不要漏掉s,我曾試了半天也沒(méi)有成功,最后發(fā)現(xiàn)是公鑰文件名錯(cuò)了,少了個(gè)s致使的
4、配置同享磁盤(pán)
--添加若干塊磁盤(pán)并分區(qū)
fdisk -l
fdisk /dev/sdb
fdisk /dev/sdc
fdisk /dev/sdd
fdisk /dev/sde
如果碰到需要重啟后才能辨認(rèn)分區(qū)信息,可使用linux自帶的partporbe命令,履行1下就能夠在不重啟的情況下讓kernel辨認(rèn)新的分區(qū)
也能夠履行partprobe -s進(jìn)行查看
[root@rac1 ~]# fdisk /dev/sdc
Command (m for help): n
Command action
e extended
p primary partition (1⑷)
p
Partition number (1⑷): 1
First cylinder (1⑴2, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1⑴2, default 12):
Using default value 12
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.
[root@rac1 ~]# partprobe -s
/dev/sda: msdos partitions 1 2
/dev/sdb: msdos partitions 1
/dev/sdc: msdos partitions 1
/dev/sdd: msdos partitions 1
/dev/sde: msdos partitions 1
[root@rac2 install]#
--綁定磁盤(pán)
對(duì)4.x和5.x的系統(tǒng),綁定方法是不同的
4.x:
# vi /etc/sysconfig/rawdevices
/dev/raw/raw1 /dev/sdc1
/dev/raw/raw2 /dev/sdd1
/dev/raw/raw3 /dev/sde1
# vi /etc/udev/permissions.d/50-udev.permissions
# raw devices
ram*:root:disk:0660
#raw/*:root:disk:0660
raw/*:oracle:dba:0660
5.x:
# vi /etc/udev/rules.d/60-raw.rules
ACTION=="add",KERNEL=="/dev/sdb1",RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add",ENV{MAJOR}=="8",ENV{MINOR}=="17",RUN+="/bin/raw /dev/raw/raw1 %M %m"
ACTION=="add",KERNEL=="/dev/sdc1",RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add",ENV{MAJOR}=="8",ENV{MINOR}=="33",RUN+="/bin/raw /dev/raw/raw2 %M %m"
ACTION=="add",KERNEL=="/dev/sdd1",RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add",ENV{MAJOR}=="8",ENV{MINOR}=="49",RUN+="/bin/raw /dev/raw/raw3 %M %m"
ACTION=="add",KERNEL=="/dev/sde1",RUN+="/bin/raw /dev/raw/raw4 %N"
ACTION=="add",ENV{MAJOR}=="8",ENV{MINOR}=="65",RUN+="/bin/raw /dev/raw/raw4 %M %m"
ACTION=="add",KERNEL=="raw*",OWNER="oracle",GROUP="oinstall",MODE="660"
只需要添加紅色部份就能夠了,然后重啟udev,配置正常就會(huì)顯示以下內(nèi)容:
[root@rac1 ~]$ ll /dev/raw
total 0
crw-rw---- 1 oracle oinstall 162, 1 Jan 15 22:54 raw1
crw-rw---- 1 oracle oinstall 162, 2 Jan 15 22:24 raw2
crw-rw---- 1 oracle oinstall 162, 3 Jan 15 22:56 raw3
crw-rw---- 1 oracle oinstall 162, 4 Jan 15 22:54 raw4
5、添加環(huán)境變量
節(jié)點(diǎn)1:
[oracle@rac1 ~]$vi .bash_profile
export ORACLE_SID=RAC1
export ORACLE_HOME=/u01/oracle/10.2.0/db_1
export ORA_CRS_HOME=/u01/oracle/10.2.0/crs_1
export PATH=$ORACLE_HOME/bin:$ORA_CRS_HOME/bin:$ORACLE_HOME/jdk/bin:$PATH
節(jié)點(diǎn)2:
[oracle@rac1 ~]$vi .bash_profile
export ORACLE_SID=RAC2
export ORACLE_HOME=/u01/oracle/10.2.0/db_1
export ORA_CRS_HOME=/u01/oracle/10.2.0/crs_1
export PATH=$ORACLE_HOME/bin:$ORA_CRS_HOME/bin:$ORACLE_HOME/jdk/bin:$PATH
6、安裝Clusterware
--先進(jìn)行安裝前校驗(yàn)
cd ./clusterware/cluvfy
./cluvfy.sh -stage pre crsinst -n rac1,rac2 -verbose
會(huì)列出很多內(nèi)容,檢測(cè)是不是符合安裝Clusterware的條件,其中需要單獨(dú)安裝1個(gè)compat_db的包,oracle-validated包不會(huì)裝這個(gè)
另外會(huì)報(bào)幾個(gè)其他compat包檢測(cè)失敗則不用理睬,由于只是版本不對(duì)而已
如果還碰到其他的沒(méi)有passed的內(nèi)容,則需要處理,直到除以上幾個(gè)毛病以外全都pass為止
--開(kāi)始安裝
cd ./clusterware
./runInstall -ignoreSysPreReqs (參數(shù)可以疏忽大小寫(xiě),命令不允許)
運(yùn)行OUI到最后,會(huì)要求分別在2個(gè)節(jié)點(diǎn)履行2個(gè)腳本,順序?yàn)椋?span style="color:rgb(255,0,0); font-size:10.5pt; line-height:1.5">腳本1:RAC1->RAC2 ->腳本2:RAC1->RAC2
前3個(gè)次履行都沒(méi)有問(wèn)題,到第4步,在節(jié)點(diǎn)2上履行root.sh的時(shí)候,會(huì)報(bào)錯(cuò):
[root@rac2 bin]# /u01/oracle/10.2.0/crs_1/root.sh
WARNING: directory '/u01' is not owned by root
Checking to see if
Oracle CRS stack is already configured
Setting the permissions on OCR backup directory
Setting up NS directories
Oracle Cluster Registry configuration upgraded successfully
WARNING: directory '/u01' is not owned by root
clscfg: EXISTING configuration version 3 detected.
clscfg: version 3 is 10G Release 2.
assigning default hostname rac1 for node 1.
assigning default hostname rac2 for node 2.
Successfully accumulated necessary OCR keys.
Using ports: CSS=49895 CRS=49896 EVMC=49898 and EVMR=49897.
node <nodenumber>: <nodename> <private interconnect name> <hostname>
node 1: rac1 rac1-priv rac1
node 2: rac2 rac2-priv rac2
clscfg: Arguments check out successfully.
NO KEYS WERE WRITTEN. Supply -force parameter to override.
-force is destructive and will destroy any previous cluster
configuration.
Oracle Cluster Registry for cluster has already been initialized
Startup will be queued to init within 90 seconds.
Adding daemons to inittab
Expecting the CRS daemons to be up within 600 seconds.
CSS is active on these nodes.
rac1
rac2
CSS is active on all nodes.
Waiting for the
Oracle CRSD and EVMD to start
Oracle CRS stack installed and running under init(1M)
Running vipca(silent) for configuring nodeapps
/u01/oracle/10.2.0/crs_1/jdk/jre//bin/java:
error while loading shared libraries: libpthread.so.0: cannot open shared object file: No such file or directory
需要耐心等待好幾分鐘(90s+600s),然后會(huì)出現(xiàn)1個(gè)報(bào)錯(cuò),這是由于Oracle在10.2.0.1上的bug而至,解決辦法是通過(guò)修改$ORA_CRS_HOME/bin下滿的vipca和srvctl文件,分別在這2個(gè)文件的第124行和168行(注意,不是文件末尾,否則更改可能會(huì)無(wú)效)添加unset
LD_ASSUME_KERNEL后保存退出,再重新再節(jié)點(diǎn)2履行root.sh
[root@rac2 bin]# /u01/oracle/10.2.0/crs_1/root.sh
WARNING: directory '/u01' is not owned by root
Checking to see if
Oracle CRS stack is already configured
Oracle CRS stack is already configured and will be running under init(1M)
[root@rac2 bin]# ./crs_stat -t
CRS-0202: No resources are registered.
此時(shí)由于還沒(méi)有配置vip,因此沒(méi)有資源被注冊(cè),去任意節(jié)點(diǎn)運(yùn)行vipca(條件是這個(gè)節(jié)點(diǎn)的vipca已修改過(guò)),如果報(bào)以下毛病:
[oracle@rac1 bin]$ vipca
Error 0(Native: listNetInterfaces:[3])
[Error 0(Native: listNetInterfaces:[3])]
那末需要配置1下網(wǎng)卡:
[oracle@rac1 bin]$ ./oifcfg iflist
eth0 192.168.1.0
eth1 10.0.0.0
[oracle@rac1 bin]$ ./oifcfg getif
[oracle@rac1 bin]$ ./oifcfg setif -global eth0/192.168.1.0:public
[oracle@rac1 bin]$ ./oifcfg setif -global eth1/10.10.10.1:cluster_interconnect
[oracle@rac1 bin]$ ./oifcfg getif
eth0 192.168.1.0 global public
eth1 10.10.10.1 global cluster_interconnect
注意要有打開(kāi)圖形界面的權(quán)限,并用root用戶去履行vipca,而不是oracle用戶,否則會(huì)報(bào)權(quán)限不足
[oracle@rac1 bin]$ vipca
Insufficient privileges.
Insufficient privileges.
接著就會(huì)跳出vip配置助手的OUI界面,開(kāi)始配置vip,輸入vip的節(jié)點(diǎn)別名后會(huì)自動(dòng)彌補(bǔ)vip的IP地址(進(jìn)程略)
運(yùn)行完vipca后退出,再次履行crs_stat,就會(huì)發(fā)現(xiàn)資源都已注冊(cè)到crs了
[root@rac1 bin]# ./crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora.rac1.gsd application ONLINE ONLINE rac1
ora.rac1.ons application ONLINE ONLINE rac1
ora.rac1.vip application ONLINE ONLINE rac1
ora.rac2.gsd application ONLINE ONLINE rac2
ora.rac2.ons application ONLINE ONLINE rac2
ora.rac2.vip application ONLINE ONLINE rac2
最后有個(gè)小細(xì)節(jié)要注意,就是在ORACLE_HOME/bin路徑下面也有srvctl的命令,也是需要通過(guò)設(shè)置unset LD_ASSUME_KERNEL來(lái)解決的,否則會(huì)和ORA_CRS_HOME/bin中的srvctl1樣,報(bào)庫(kù)文件鏈接毛病,如果不想改,也不是不可以,那末就要調(diào)劑1下PATH環(huán)境變量中ORA_CRS_HOME和ORACLE_HOME的位置了,由于在履行命令的時(shí)候,默許會(huì)從第1個(gè)路徑開(kāi)始查找,直到最后1個(gè)路徑,這樣就不會(huì)用到ORACLE_HOME/bin下的那個(gè)srvctl命令文件了,把ORA_CRS_HOME放到最前面,寫(xiě)法以下:
export PATH=$ORA_CRS_HOME/bin:$ORACLE_HOME/bin:$ORACLE_HOME/jdk/bin:$PATH
不管采取哪一種方法(推薦使用第2種方法),都可以解決oracle用戶不能履行srvctl和crsctl等命令問(wèn)題了
生活不易,碼農(nóng)辛苦
如果您覺(jué)得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)