Linux平台 Oracle 10gR2(10.2.0.5)RAC安裝 Part1:准備工作,具體如下:
環境:OEL 5.7 + Oracle 10.2.0.5 RAC
1.實施前准備工作
1.1 服務器安裝操作系統
1.2 Oracle安裝介質
1.3 共享存儲規劃
1.4 網絡規劃分配
2.主機配置
2.1 使用yum安裝oracle-validated包來簡化主機配置的部分工作
2.2 共享存儲配置
2.3 配置/etc/hosts
2.4 配置Oracle用戶等價性
2.5 創建軟件目錄
2.6 配置用戶環境變量
2.7 關閉各節點主機防火牆和SELinux
2.8 各節點系統時間校對
1.實施前准備工作
1.1 服務器安裝操作系統
配置完全相同的兩台服務器,安裝相同版本的Linux操作系統。留存系統光盤或者鏡像文件。
我這裡是OEL5.7,系統目錄大小均一致。對應OEL5.7的系統鏡像文件放在服務器上,供後面配置本地yum使用。
1.2 Oracle安裝介質
Oracle 10.2.0.1版本的clusterware和db,以及10.2.0.5的升級包。
-rwxr-xr-x 1 root root 302M 12月 24 13:07 10201_clusterware_linux_x86_64.cpio.gz -rwxr-xr-x 1 root root 724M 12月 24 13:08 10201_database_linux_x86_64.cpio.gz -rwxr-xr-x 1 root root 1.2G 12月 24 13:10 p8202632_10205_Linux-x86-64.zip
這個用MOS賬號自己去support.oracle.com下載,然後只需要上傳到節點1即可。
1.3 共享存儲規劃
從存儲中劃分出兩台主機可以同時看到的共享LUN。
我這裡自己的實驗環境是使用openfiler模擬出共享LUN:
5個100M大小LUN;用於OCR,votedisk;
3個10G大小LUN;用於DATA;
2個5G大小LUN;用於FRA。
openfiler使用可參考:Openfiler配置RAC共享存儲
1.4 網絡規劃分配
公有網絡 以及 私有網絡。
公有網絡:物理網卡eth0(public IP,VIP),需要4個IP地址。
私有網絡:物理網卡eth1(private IP),需要2個內部IP地址。
實際生產環境一般服務器都至少有4塊網卡。建議是兩兩bonding後分別作為公有網絡和私有網絡。
2.主機配置
2.1 使用yum安裝oracle-validated包來簡化主機配置的部分工作
由於系統環境是OEL5.7,可以簡化依賴包安裝、內核參數調整,用戶和組創建等工作,可參考:OEL上使用yum install oracle-validated 簡化主機配置工作
2.2 共享存儲配置:
我這裡openfiler所在主機的IP地址為192.168.1.12。歸劃的10塊LUN全部映射到iqn.2006-01.com.openfiler:rac10g上。
[root@oradb28 ~]# iscsiadm -m discovery -t sendtargets -p 192.168.1.12 192.168.1.12:3260,1 iqn.2006-01.com.openfiler:rac10g #手工登錄iscsi目標 iscsiadm -m node -T iqn.2006-01.com.openfiler:rac10g -p 192.168.1.12 -l #配置自動登錄 iscsiadm -m node -T iqn.2006-01.com.openfiler:rac10g -p 192.168.1.12 --op update -n node.startup -v automatic #重啟iscsi服務 service iscsi stop service iscsi start
注意:安裝10g RAC,要確保共享設備上劃分的LUN要在所有節點上被識別為相同設備名稱。
[root@oradb27 ~]# ls -lh /dev/sd* brw-r----- 1 root disk 8, 0 Jan 2 22:40 /dev/sda brw-r----- 1 root disk 8, 16 Jan 2 22:40 /dev/sdb brw-r----- 1 root disk 8, 32 Jan 2 22:40 /dev/sdc brw-r----- 1 root disk 8, 48 Jan 2 22:40 /dev/sdd brw-r----- 1 root disk 8, 64 Jan 2 22:40 /dev/sde brw-r----- 1 root disk 8, 80 Jan 2 22:40 /dev/sdf brw-r----- 1 root disk 8, 96 Jan 2 22:40 /dev/sdg brw-r----- 1 root disk 8, 112 Jan 2 22:40 /dev/sdh brw-r----- 1 root disk 8, 128 Jan 2 22:40 /dev/sdi brw-r----- 1 root disk 8, 144 Jan 2 22:40 /dev/sdj [root@oradb28 ~]# ls -lh /dev/sd* brw-r----- 1 root disk 8, 0 Jan 2 22:41 /dev/sda brw-r----- 1 root disk 8, 16 Jan 2 22:41 /dev/sdb brw-r----- 1 root disk 8, 32 Jan 2 22:41 /dev/sdc brw-r----- 1 root disk 8, 48 Jan 2 22:41 /dev/sdd brw-r----- 1 root disk 8, 64 Jan 2 22:41 /dev/sde brw-r----- 1 root disk 8, 80 Jan 2 22:41 /dev/sdf brw-r----- 1 root disk 8, 96 Jan 2 22:41 /dev/sdg brw-r----- 1 root disk 8, 112 Jan 2 22:41 /dev/sdh brw-r----- 1 root disk 8, 128 Jan 2 22:41 /dev/sdi brw-r----- 1 root disk 8, 144 Jan 2 22:41 /dev/sdj
其中sda,sdb,sdc,sdd,sde是100M大小的LUN,我們分別將這5個LUN各分成一個區(我實驗中發現如果不分區直接綁成裸設備,在安裝clusterware後執行root.sh時會報錯:“Failed to upgrade Oracle Cluster Registry configuration”,分區後綁定分區成裸設備,發現可以正常執行通過)
[root@oradb27 ~]# ls -lh /dev/sd* brw-r----- 1 root disk 8, 0 Jan 3 09:36 /dev/sda brw-r----- 1 root disk 8, 1 Jan 3 09:36 /dev/sda1 brw-r----- 1 root disk 8, 16 Jan 3 09:36 /dev/sdb brw-r----- 1 root disk 8, 17 Jan 3 09:36 /dev/sdb1 brw-r----- 1 root disk 8, 32 Jan 3 09:36 /dev/sdc brw-r----- 1 root disk 8, 33 Jan 3 09:36 /dev/sdc1 brw-r----- 1 root disk 8, 48 Jan 3 09:36 /dev/sdd brw-r----- 1 root disk 8, 49 Jan 3 09:36 /dev/sdd1 brw-r----- 1 root disk 8, 64 Jan 3 09:36 /dev/sde brw-r----- 1 root disk 8, 65 Jan 3 09:36 /dev/sde1 [root@oradb28 crshome_1]# ls -lh /dev/sd* brw-r----- 1 root disk 8, 0 Jan 3 09:36 /dev/sda brw-r----- 1 root disk 8, 1 Jan 3 09:36 /dev/sda1 brw-r----- 1 root disk 8, 16 Jan 3 09:36 /dev/sdb brw-r----- 1 root disk 8, 17 Jan 3 09:36 /dev/sdb1 brw-r----- 1 root disk 8, 32 Jan 3 09:36 /dev/sdc brw-r----- 1 root disk 8, 33 Jan 3 09:36 /dev/sdc1 brw-r----- 1 root disk 8, 48 Jan 3 09:36 /dev/sdd brw-r----- 1 root disk 8, 49 Jan 3 09:36 /dev/sdd1 brw-r----- 1 root disk 8, 64 Jan 3 09:36 /dev/sde brw-r----- 1 root disk 8, 65 Jan 3 09:36 /dev/sde1
1)使用udev 綁定raw devices ,供ocr和voting disk使用
編輯配置文件並追加以下內容:
# vi /etc/udev/rules.d/60-raw.rules ACTION=="add", KERNEL=="sda1", RUN+="/bin/raw /dev/raw/raw1 %N" ACTION=="add", KERNEL=="sdb1", RUN+="/bin/raw /dev/raw/raw2 %N" ACTION=="add", KERNEL=="sdc1", RUN+="/bin/raw /dev/raw/raw3 %N" ACTION=="add", KERNEL=="sdd1", RUN+="/bin/raw /dev/raw/raw4 %N" ACTION=="add", KERNEL=="sde1", RUN+="/bin/raw /dev/raw/raw5 %N" ACTION=="add", KERNEL=="raw*", OWNER=="oracle", GROUP=="oinstall", MODE=="0660"
啟動start_udev:
[root@oradb27 rules.d]# start_udev Starting udev: [ OK ] [root@oradb27 rules.d]# ls -l /dev/raw* crw-rw---- 1 oracle oinstall 162, 0 Jan 2 22:37 /dev/rawctl /dev/raw: total 0 crw-rw---- 1 oracle oinstall 162, 1 Jan 2 23:11 raw1 crw-rw---- 1 oracle oinstall 162, 2 Jan 2 23:11 raw2 crw-rw---- 1 oracle oinstall 162, 3 Jan 2 23:11 raw3 crw-rw---- 1 oracle oinstall 162, 4 Jan 2 23:11 raw4 crw-rw---- 1 oracle oinstall 162, 5 Jan 2 23:11 raw5 [root@oradb27 rules.d]#
配置文件60-raw.rules傳到節點2:
[root@oradb27 rules.d]# scp /etc/udev/rules.d/60-raw.rules oradb28:/etc/udev/rules.d/
在節點2啟動start_udev。
注意:如果安裝中發現raw曾被使用過,可能需要dd清除頭部信息;
dd if=/dev/zero of=/dev/raw/raw1 bs=1048576 count=10 dd if=/dev/zero of=/dev/raw/raw2 bs=1048576 count=10 dd if=/dev/zero of=/dev/raw/raw3 bs=1048576 count=10 dd if=/dev/zero of=/dev/raw/raw4 bs=1048576 count=10 dd if=/dev/zero of=/dev/raw/raw5 bs=1048576 count=10
2)使用udev 綁定asm devices,供data磁盤組和fra磁盤組使用
for i in f g h i j; do echo "KERNEL==\"sd*\", BUS==\"scsi\", PROGRAM==\"/sbin/scsi_id -g -u -s %p\", RESULT==\"`scsi_id -g -u -s /block/sd$i`\", NAME=\"asm-disk$i\", OWNER=\"oracle\", GROUP=\"oinstall\", MODE=\"0660\"" done
操作過程如下:
[root@oradb27 rules.d]# for i in f g h i j; > do > echo "KERNEL==\"sd*\", BUS==\"scsi\", PROGRAM==\"/sbin/scsi_id -g -u -s %p\", RESULT==\"`scsi_id -g -u -s /block/sd$i`\", NAME=\"asm-disk$i\", OWNER=\"oracle\", GROUP=\"oinstall\", MODE=\"0660\"" > done KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="14f504e46494c455279366c36366a2d5a4243752d58394a33", NAME="asm-diskf", OWNER="oracle", GROUP="oinstall", MODE="0660" KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="14f504e46494c45525453586652542d67786f682d594c4a66", NAME="asm-diskg", OWNER="oracle", GROUP="oinstall", MODE="0660" KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="14f504e46494c455232586c3151572d62504e412d3343547a", NAME="asm-diskh", OWNER="oracle", GROUP="oinstall", MODE="0660" KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="14f504e46494c45527061334151682d4666656d2d5a6a4c67", NAME="asm-diski", OWNER="oracle", GROUP="oinstall", MODE="0660" KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="14f504e46494c4552495649757a352d675251532d47744353", NAME="asm-diskj", OWNER="oracle", GROUP="oinstall", MODE="0660" [root@oradb27 rules.d]# vi [root@oradb27 rules.d]# vi 99-oracle-asmdevices.rules [root@oradb27 rules.d]# start_udev Starting udev: [ OK ] [root@oradb27 rules.d]# ls -lh /dev/asm* brw-rw---- 1 oracle oinstall 8, 80 Jan 2 23:18 /dev/asm-diskf brw-rw---- 1 oracle oinstall 8, 96 Jan 2 23:18 /dev/asm-diskg brw-rw---- 1 oracle oinstall 8, 112 Jan 2 23:18 /dev/asm-diskh brw-rw---- 1 oracle oinstall 8, 128 Jan 2 23:18 /dev/asm-diski brw-rw---- 1 oracle oinstall 8, 144 Jan 2 23:18 /dev/asm-diskj #拷貝配置文件99-oracle-asmdevices.rules到節點2,啟動start_udev [root@oradb27 rules.d]# scp 99-oracle-asmdevices.rules oradb28:/etc/udev/rules.d/99-oracle-asmdevices.rules [root@oradb28 ~]# start_udev Starting udev: [ OK ] [root@oradb28 ~]# ls -l /dev/asm* brw-rw---- 1 oracle oinstall 8, 80 Jan 2 23:20 /dev/asm-diskf brw-rw---- 1 oracle oinstall 8, 96 Jan 2 23:20 /dev/asm-diskg brw-rw---- 1 oracle oinstall 8, 112 Jan 2 23:20 /dev/asm-diskh brw-rw---- 1 oracle oinstall 8, 128 Jan 2 23:20 /dev/asm-diski brw-rw---- 1 oracle oinstall 8, 144 Jan 2 23:20 /dev/asm-diskj
2.3 配置/etc/hosts
按照規劃配置節點1的/etc/hosts內容
#public ip 192.168.1.27 oradb27 192.168.1.28 oradb28 #private ip 10.10.10.27 oradb27-priv 10.10.10.28 oradb28-priv #virtual ip 192.168.1.57 oradb27-vip 192.168.1.58 oradb28-vip
然後scp拷貝/etc/hosts配置文件到節點2:
scp /etc/hosts oradb28:/etc/
2.4 配置Oracle用戶等價性
#所有節點執行: ssh-keygen -q -t rsa -N "" -f ~/.ssh/id_rsa #節點1執行: ssh 192.168.1.27 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys ssh 192.168.1.28 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys scp ~/.ssh/authorized_keys 192.168.1.28:~/.ssh/ #所有節點執行驗證ssh等價性: ssh 192.168.1.27 date;ssh 192.168.1.28 date; ssh oradb27 date;ssh oradb28 date; ssh oradb27-priv date;ssh oradb28-priv date;
對配置用戶ssh互信步驟如有疑問可以參考:記錄一則Linux SSH的互信配置過程
2.5 創建軟件目錄
mkdir -p /u01/app/oracle/product/10.2.0.5/dbhome_1 mkdir -p /u01/app/oracle/product/10.2.0.5/crshome_1 chown -R oracle:oinstall /u01/app
2.6 配置用戶環境變量
節點1: vi /home/oracle/.bash_profile
export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=/u01/app/oracle/product/10.2.0.5/dbhome_1 export ORA_CRS_HOME=/u01/app/oracle/product/10.2.0.5/crshome_1 export ORACLE_SID=jyrac1 export NLS_LANG=AMERICAN_AMERICA.US7ASCII export PATH=$ORACLE_HOME/bin:$ORA_CRS_HOME/bin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib alias sql="sqlplus \"/as sysdba\""
節點2:vi /home/oracle/.bash_profile
export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=/u01/app/oracle/product/10.2.0.5/dbhome_1 export ORA_CRS_HOME=/u01/app/oracle/product/10.2.0.5/crshome_1 export ORACLE_SID=jyrac2 export NLS_LANG=AMERICAN_AMERICA.US7ASCII export PATH=$ORACLE_HOME/bin:$ORA_CRS_HOME/bin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib alias sql="sqlplus \"/as sysdba\""
2.7 關閉各節點主機防火牆和SELinux
各節點檢查、關閉防火牆和SE Linux:
service iptables status service iptables stop chkconfig iptables off getenforce setenforce 0 vi /etc/selinux/config 修改:Enforcing -> disabled
2.8 各節點系統時間校對
service ntpd stop date #如果時間有問題,就按下面的語法進行設定 date 072310472015 //設定日期為2015-07-23 10:47:00 hwclock -w hwclock -r
至此,主機配置的相關准備工作已經完成。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持。