天天看點

RedHat 6.5+11G+RAC+ASM安裝與配置(三節點)

一、安裝環境

1、實驗環境

虛拟機:VMware Workstation 8.0.3_64bit

ORACLE:Oracle Database11g11.2.0.3.0-64bit

作業系統:Red HatEnterprise Linux  6.5

2、節點配置

描述 節點一 節點二 節點三 ISCSI存儲
主機名稱 note1 note2 note3 iscsi-asm
Public IP 172.16.1.7(vlan3) 172.16.1.8(vlan3) 172.16.1.9(vlan3) 172.16.1.20(vlan3)
Private IP 192.168.1.11(vlan5) 192.168.1.12(vlan5) 192.168.1.13(vlan5)
Virtual IP 172.16.1.17 172.16.1.18 172.16.1.19
Scan IP 172.16.1.10、172.16.1.11、172.16.1.12
執行個體名 racdb1 racdb2 racdb3
/etc/hosts

127.0.0.1  localhost.localdomain  localhost

 #Public IP

 172.16.1.7    note1

 172.16.1.8    note2

 172.16.1.9    note3

 #Virtual IP

 172.16.1.17   note1-vip

 172.16.1.18   note2-vip

 172.16.1.19   note3-vip

 #Private IP

 192.168.1.11  note1-priv

 192.168.1.12  note2-priv

 192.168.1.13  note3-priv

 #Scan IP (scan ip為奇數,推薦3個)

 172.16.1.10    cluster-scan

 172.16.1.11    cluster-scan

 172.16.1.12    cluster-scan

172.16.1.20  iscis-asm

以上環境配置過程略,可通過VM的Clone功能克隆多台機器之後變更IP和主機名即可。

二、系統基本配置

1、搭建存儲伺服器

A、添加磁盤建立軟體RAID5

RedHat 6.5+11G+RAC+ASM安裝與配置(三節點)

建立軟體RAID5,共3塊磁盤,無熱備,具體請查閱相關資料

[root@iscsi-asm ~] # mdadm –Cv /dev/md0 –l5 –n3/dev/sd[bcd]1

B、配置ISCSI磁盤

安裝伺服器端使用的scis-target-utils包,安裝前先确認以下安裝包已安裝:kernel-source、kernel、gcc、perl

[root@iscsi-asm~] # rpm –ivh scsi-target-utils*.rpm

    // RedHat 6在CD光牒Packages目錄下

                                               // RedHat 5在CD光牒ClusterStorage目錄下

配置服務端/etc/tgt/targets.conf檔案

[root@iscsi-asm ~] # cat >> /etc/tgt/targets.conf << EOF

> <targetiqn.2016-04.com.iscsi-asm.raid5:target1>

>   backing-store  /dev/md0

> </target>

> EOF

啟動ISCSI服務

[root@iscsi-asm ~] # service tgtd restart                //重新開機iscsi服務

[root@iscsi-asm ~] # chkconfig --level 2345 tgtd on      //設定開機自啟動

[root@iscsi-asm ~] # chkconfig --list tgtd               //檢視自啟動項

[root@iscsi-asm ~] # tgt-admin --show target1               //檢視tgtd是否配置成功

2、挂載ISCSI磁盤

A、節點一note1 上:

[root@note1 ~] # rpm –ivh iscsi-initiator-utils*.rpm

[root@note1 ~] # service iscsid restart                   //重新開機iscsi服務

[root@note1 ~] # chkconfig --level 2345 iscsid on         //設定開機自啟動

[root@note1 ~] # chkconfig --list iscsid                  //檢視自啟動項

[root@note1 ~] # iscsiadm –m node –p 172.16.1.20 –l    //登入iscsi存儲

B、節點二note2 上:

[root@note2 ~] # rpm –ivh iscsi-initiator-utils*.rpm

[root@note2 ~] # service iscsid restart                    //重新開機iscsi服務

[root@note2 ~] # chkconfig --level 2345 iscsid on          //設定開機自啟動

[root@note2 ~] # chkconfig --list iscsid                   //檢視自啟動項

[root@note2 ~] # iscsiadm –m node –p 172.16.1.20 –l     //登入iscsi存儲

C、節點三note3 上:

[root@note3 ~] # rpm –ivh iscsi-initiator-utils*.rpm

[root@note3 ~] # service iscsid restart                     //重新開機iscsi服務

[root@note3 ~] # chkconfig --level 2345 iscsid on          //設定開機自啟動

[root@note3 ~] # chkconfig --list iscsid                   //檢視自啟動項

[root@note3 ~] # iscsiadm –m node –p 172.16.1.20 –l     //登入iscsi存儲

D、劃分ISCSI磁盤

[root@note1 ~] # fdisk /dev/sdb                   //挂載iscsi存儲後的磁盤,請勿格式化

RedHat 6.5+11G+RAC+ASM安裝與配置(三節點)

2、UDEV配置ASM

A、ASM磁盤的規劃

ASM磁盤組 磁盤組大小 ASM備援 ASM磁盤 ISCSI磁盤路徑 存儲存放規則
+CRS 20G EXTERN /dev/asm-crs1 /dev/sdb1 OCR、表決磁盤
+DATA 60G /dev/asm-db1 /dev/sdb2 資料檔案
+ARCH 40G /dev/asm-db2 /dev/sdb3 歸檔檔案

若表決磁盤所在磁盤組屬性為EXTERNAL,為一塊,若為NORMAL,則需要三塊,若為HIGH,則需要五塊,需要為奇數,這是為了發生腦裂時,用于表決。

B、配置UDEV

[root@note1 ~] # scsi_id –g –u –d /dev/sdb       //擷取磁盤UUID

1IET_00010001

[root@note1 ~] #vim /etc/udev/rules.d/99-oracle-asmdevices.rules

KERNEL==”sdb1“, BUS==”scsi”,PROGRAM==”/sbin/scsi_id -g -u -d /dev/$parent”,RESULT==” 1IET_00010001”,NAME=”asm-crs″, OWNER=”grid”, GROUP=”asmadmin”, MODE=”0660″

KERNEL==”sdb2“, BUS==”scsi”, PROGRAM==”/sbin/scsi_id-g -u -d /dev/$parent”,RESULT==” 1IET_00010001”, NAME=”asm-db1”, OWNER=”grid”,GROUP=”asmadmin”, MODE=”0660″

KERNEL==”sd?1″, BUS==”scsi”,PROGRAM==”/sbin/scsi_id -g -u -d /dev/$parent”,RESULT==” 1IET_00010001”,NAME=”asm-db2″, OWNER=”grid”, GROUP=”asmadmin”, MODE=”0660″

将UDEV配置檔案傳到其他節點

[root@note1 ~] # rsync –r /etc/udev/rules.d/99-oracle-asmdevices.rules 172.16.1.8: /etc/udev/rules.d/

[root@note1 ~] # rsync –r /etc/udev/rules.d/99-oracle-asmdevices.rules 172.16.1.9: /etc/udev/rules.d/

C、啟動UDEV

[root@note1 ~] #start_udev

[root@note2 ~] #start_udev

[root@note3 ~] #start_udev

RedHat 6.5+11G+RAC+ASM安裝與配置(三節點)

三、配置ORACLE軟件安裝環境

1、安裝oracle RAC所需的linux軟件包

[root@note1~] # yum –y install binutils* compat-libstdc++* elfutils-libelf* elfutils-libelf-devel* compat-libcap1 *  elfutils-libelf-devel-static* gcc* gcc-c++* glibc* glibc-common* glibc-devel* glibc-headers* ksh* libaio* libaio-devel* libgcc*libgomp* libstdc++* libstdc++-devel* make* sysstat* unixODBC * unixODBC-devel*

節點二和節點三上執行相同的指令,将所需的包安裝上。

2、配置叢集時間同步服務

這裡使用叢集時間同步服務(CTSS),需要解除安裝網絡時間協定(NTP)

[root@note1 ~] #service ntpd stop

[root@note1 ~] #chkconfig –level 2345 ntpd off

[root@note1 ~] #rm –rf /etc/ntp.conf

節點二和節點三上執行相同的指令,解除安裝NTP

在叢集安裝完後,要确認ctssd是否處于活動狀态

[grid@note1 ~] #crsctl check ctss

1、  配置核心參數

三個節點執行如下腳本:

#!/bin/bash
prepareSystem(){
# Set SElinux to disabled mode regardless of its initial value
  sed -i -e's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
  setenforce 0
# stop iptables
  /etc/init.d/iptables stop
  chkconfig --level 0123456 iptables off
  chkconfig --level 0123456 ip6tablesoff
}
 
Configure1(){
    cat >> /etc/sysctl.conf<<EOF
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
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
EOF
}
Configure2(){
    cat >>/etc/security/limits.conf <<EOF
oracle   soft  nproc  2047
oracle   hard  nproc  16384
oracle   soft  nofile 1024
oracle   hard  nofile 65536
grid   soft  nproc  2047
grid   hard  nproc  16384
grid   soft  nofile 1024
grid   hard  nofile 65536
EOF
}
Configure3(){
    cat >> /etc/pam.d/login<<EOF
session    required     pam_limits.so
EOF
}
 
prepareSystem
Configure1 && sysctl -p
Configure2
Configure3      

[root@note1 ~] # sh configure.sh

[root@note2 ~] # sh configure.sh

[root@note3 ~] # sh configure.sh

2、  建立RAC相關權限組,使用者和目錄

A、  建立相關組(三個節點上執行)

[root@note1 ~] # groupadd oinstall

[root@note1 ~] # groupadd asmadmin

[root@note1 ~] # groupadd asmdba

[root@note1 ~] # groupadd asmoper

[root@note1 ~] # groupadd dba

[root@note1 ~] # groupadd oper

B、  建立grid使用者:

節點一ORACLE_SID=+ASM1

[root@note1 ~] # useradd -g oinstall -G asmadmin,asmdba,asmoper grid

[root@note1 ~] # passwd grid

節點二ORACLE_SID=+ASM2

[root@note2 ~] # useradd -g oinstall -G asmadmin,asmdba,asmoper grid

[root@note2 ~] # passwd grid

節點三ORACLE_SID=+ASM3

[root@note3 ~] # useradd -g oinstall -G asmadmin,asmdba,asmoper grid

[root@note3 ~] # passwd grid

編輯grid使用者的環境配置檔案(~/.bash_profile),加入如下内容

export PS1="`/bin/hostname -s`-> "

export TMP=/tmp

export TMPDIR=$TMP

export ORACLE_SID=+ASM1   #節點二為+ASM2,節點三為+ASM3

export ORACLE_BASE=/u/app/grid

export ORACLE_HOME=/u/app/11.2.0/grid

export ORACLE_TERM=xterm

export NLS_DATE_FORMAT='yyyy/mm/dd hh24:mi:ss'

export TNS_ADMIN=$ORACLE_HOME/network/admin

export PATH=/usr/sbin:$PATH

export PATH=$ORACLE_HOME/bin:$PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

exportCLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

umask 022

C、  建立ORACLE使用者

節點一:ORACLE_SID=racdb1

[root@note1 ~] # usermodd -g oinstall -G dba,oper,asmdba oracle

[root@note1 ~] # passwd oracle

節點二:ORACLE_SID=racdb2

[root@note2 ~] # usermodd -g oinstall -G dba,oper,asmdba oracle

[root@note2 ~] # passwd oracle

節點三:ORACLE_SID=racdb3

[root@note3 ~] # usermodd –g oinstall -G dba,oper,asmdba oracle

[root@note3 ~] # passwd oracle

編輯oracle使用者的環境配置檔案(~/.bash_profile),加入如下内容

export ORACLE_SID=racdb1  #節點二為racdb2,節點三為racdb3

export ORACLE_BASE=/u/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

export ORACLE_UNQNAME=racdb

exportLD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:$ORACLE_HOME/jdbc/lib

5、建立軟體安裝目錄

在三個節點上執行以下指令:

[root@note1 ~] # mkdir -p/u/app/grid

[root@note1 ~] # mkdir -p/u/app/11.2.0/grid

[root@note1 ~] # chown -Rgrid:oinstall /u/app

[root@note1 ~] # mkdir -p/u/app/oracle

[root@note1 ~] # chown oracle:oinstall/u/app/oracle

[root@note1 ~] # chmod -R775 /u

四、安裝RAC叢集軟體

1、  安裝cvuqdisk包

Cvuqdisk rpm包在grid的rpm目錄中

三個節點上執行:

[root@note1 ~] # CVUQDISK_GRP=oinstall;export CVUQDISK_GRP

[root@note1 ~] # rpm -ivh cvuqdisk-1.0.9-1.rpm

[root@note2 ~] # CVUQDISK_GRP=oinstall;export CVUQDISK_GRP

[root@note2 ~] # rpm -ivh cvuqdisk-1.0.9-1.rpm

[root@note3 ~] # CVUQDISK_GRP=oinstall;export CVUQDISK_GRP

[root@note3 ~] # rpm -ivh cvuqdisk-1.0.9-1.rpm

2、  安裝Grid軟體

許多文檔都在安裝之前配置了各節點之間oracle和grid使用者的SSH信任關系,這裡使用軟體配置選項進行配置。其實就是使用了grid軟體包中sshsetup目錄下的sshUserSetup.sh腳本。

[root@note1 ~]#export display=0.0

[root@note1 ~]#xhost +

[root@note1 ~]#su - grid

[grid@note1 grid]#./runInstaller

RedHat 6.5+11G+RAC+ASM安裝與配置(三節點)
RedHat 6.5+11G+RAC+ASM安裝與配置(三節點)

SCAN Name要/etc/hosts與裡面scanname一樣,否則報[INS-40718]錯誤

RedHat 6.5+11G+RAC+ASM安裝與配置(三節點)

添加其它兩個節點,設定SSH,輸入密碼之後點選設定

RedHat 6.5+11G+RAC+ASM安裝與配置(三節點)
RedHat 6.5+11G+RAC+ASM安裝與配置(三節點)
RedHat 6.5+11G+RAC+ASM安裝與配置(三節點)
RedHat 6.5+11G+RAC+ASM安裝與配置(三節點)
RedHat 6.5+11G+RAC+ASM安裝與配置(三節點)
RedHat 6.5+11G+RAC+ASM安裝與配置(三節點)
RedHat 6.5+11G+RAC+ASM安裝與配置(三節點)

因未配置DNS,此錯誤可以忽略。忽略報錯會彈窗,問是否忽略錯誤,确認就好。

RedHat 6.5+11G+RAC+ASM安裝與配置(三節點)
RedHat 6.5+11G+RAC+ASM安裝與配置(三節點)

第一個腳本,在三個節點上依次執行:

[root@note1~]# sh /u/app/oraInventory/orainstRoot.sh

[root@note2~]# sh /u/app/oraInventory/orainstRoot.sh

[root@note3~]# sh /u/app/oraInventory/orainstRoot.sh

第二個腳本,在三個節點上依次執行

[root@note1~]# sh /u/app/11.2.0/grid/root.sh   //執行要一定的時間,

[root@note2~]# sh /u/app/11.2.0/grid/root.sh

[root@note3~]# sh /u/app/11.2.0/grid/root.sh

執行以上的腳本,一定要按照順序來,先在各節點上執行第一腳本,之後再執行第二個,一個節點一個節點執行完之後,再到下個一個節點執行,這個很重要。

接下來還會包一個錯誤,如下圖所示,造成原因是因為沒有配置DNS,在這裡可以忽略。

RedHat 6.5+11G+RAC+ASM安裝與配置(三節點)

在節點一grid使用者上:執行crs_stat –t,檢視叢集服務的開啟情況,其中以gsd結尾的為相容9i的服務,可以不啟用。

RedHat 6.5+11G+RAC+ASM安裝與配置(三節點)

1、 安裝oracle軟體

為節省篇幅,我隻截了部分較重要的圖

RedHat 6.5+11G+RAC+ASM安裝與配置(三節點)

配置ORACLE使用者的SSH信任關系

RedHat 6.5+11G+RAC+ASM安裝與配置(三節點)

ORACLE軟體的安裝目錄

RedHat 6.5+11G+RAC+ASM安裝與配置(三節點)
RedHat 6.5+11G+RAC+ASM安裝與配置(三節點)

造成原因是因為沒有配置DNS,在這裡可以忽略

RedHat 6.5+11G+RAC+ASM安裝與配置(三節點)
RedHat 6.5+11G+RAC+ASM安裝與配置(三節點)

執行腳本:

[root@note1~]# sh/u/app/oracle/product/11.2.0/db_1/root.sh

[root@note2~]# sh /u/app/oracle/product/11.2.0/db_1/root.sh

[root@note3~]# sh /u/app/oracle/product/11.2.0/db_1/root.sh

五、建立ASM磁盤組

[root@note1~]#xhost +

[root@note1~]#su – grid

[grid@note1 ~]#asmca

RedHat 6.5+11G+RAC+ASM安裝與配置(三節點)
RedHat 6.5+11G+RAC+ASM安裝與配置(三節點)
RedHat 6.5+11G+RAC+ASM安裝與配置(三節點)

  六、建立資料庫

[root@note1~]#su – oracle

[oracle@note1~]#dbca

RedHat 6.5+11G+RAC+ASM安裝與配置(三節點)
RedHat 6.5+11G+RAC+ASM安裝與配置(三節點)
RedHat 6.5+11G+RAC+ASM安裝與配置(三節點)
RedHat 6.5+11G+RAC+ASM安裝與配置(三節點)
RedHat 6.5+11G+RAC+ASM安裝與配置(三節點)

至此,基本設定已經完成,接下來就是下一步,下一步的事,相關的參數自行調整。