天天看點

Linux平台 Oracle 10gR2(10.2.0.5)RAC安裝 Part1:準備工作1.實施前準備工作2.主機配置

Linux平台 Oracle 10gR2(10.2.0.5)RAC安裝 Part1:準備工作

環境:OEL 5.7 + Oracle 10.2.0.5 RAC

1.實施前準備工作

1.1 伺服器安裝作業系統

配置完全相同的兩台伺服器,安裝相同版本的Linux作業系統。留存系統CD光牒或者鏡像檔案。

我這裡是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。

1.4 網絡規劃配置設定

公有網絡 以及 私有網絡。

公有網絡:實體網卡eth0(public IP,VIP),需要4個IP位址。

私有網絡:實體網卡eth1(private IP),需要2個内部IP位址。

實際生産環境一般伺服器都至少有4塊網卡。建議是兩兩bonding後分别作為公有網絡和私有網絡。

2.主機配置

2.1 使用yum安裝oracle-validated包來簡化主機配置的部分工作

由于系統環境是OEL5.7,可以簡化依賴包安裝、核心參數調整,使用者群組建立等工作

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;           

複制

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           

複制

至此,主機配置的相關準備工作已經完成。