您好,登錄后才能下訂單哦!
一、安裝環境
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 172.16.1.12 cluster-scan | 172.16.1.20 iscis-asm |
以上環境配置過程略,可通過VM的Clone功能克隆多臺機器之后變更IP和主機名即可。
二、系統基本配置
1、搭建存儲服務器
A、添加磁盤創建軟件RAID5
創建軟件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在光盤Packages目錄下
// RedHat 5在光盤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存儲后的磁盤,請勿格式化
2、UDEV配置ASM
A、ASM磁盤的規劃
ASM磁盤組 | 磁盤組大小 | ASM冗余 | ASM磁盤 | ISCSI磁盤路徑 | 存儲存放規則 |
+CRS | 20G | EXTERN | /dev/asm-crs1 | /dev/sdb1 | OCR、表決磁盤 |
+DATA | 60G | EXTERN | /dev/asm-db1 | /dev/sdb2 | 數據文件 |
+ARCH | 40G | EXTERN | /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
三、配置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 hh34: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 TMP=/tmp
export TMPDIR=$TMP
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
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORACLE_TERM=xterm
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
exportLD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:$ORACLE_HOME/jdbc/lib
exportCLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export NLS_DATE_FORMAT='yyyy/mm/dd hh34:mi:ss'
umask 022
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
SCAN Name要/etc/hosts與里面scanname一樣,否則報[INS-40718]錯誤
添加其它兩個節點,設置SSH,輸入密碼之后點擊設置
因未配置DNS,此錯誤可以忽略。忽略報錯會彈窗,問是否忽略錯誤,確認就好。
第一個腳本,在三個節點上依次執行:
[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,在這里可以忽略。
在節點一grid用戶上:執行crs_stat –t,查看集群服務的開啟情況,其中以gsd結尾的為兼容9i的服務,可以不啟用。
1、 安裝oracle軟件
為節省篇幅,我只截了部分較重要的圖
配置ORACLE用戶的SSH信任關系
ORACLE軟件的安裝目錄
造成原因是因為沒有配置DNS,在這里可以忽略
執行腳本:
[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
六、創建數據庫
[root@note1~]#xhost +
[root@note1~]#su – oracle
[oracle@note1~]#dbca
至此,基本設置已經完成,接下來就是下一步,下一步的事,相關的參數自行調整。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。