標籤:dba grid 叢集 crs sysctl int pam.d 生效 uri
1. 部署環境步驟1.1 軟體環境
作業系統:
CentOS release 6.5(推薦使用5.*的系統)
192.168.1.151 racnode1
192.168.1.152 racnode2
oracle安裝包:
p10404530_112030_Linux-x86-64_1of7.zip
p10404530_112030_Linux-x86-64_2of7.zip
p10404530_112030_Linux-x86-64_3of7.zip
kmod-oracleasm-2.0.6.rh1-3.el6.x86_64.rpm
oracleasmlib-2.0.4-1.el6.x86_64.rpm
oracleasm-support-2.1.8-1.el6.x86_64.rpm
1.2 配置主機名稱
racnode1主機
Vim /etc/sysconfig/network;
更改HOSTNAME=racnode1
racnode2主機
Vim /etc/sysconfig/network;
更改HOSTNAME=racnode2
或者採用 hostname [racnode1|racnode2]
1.3 配置網路
Vim /etc/hosts
# Public Network - (eth0)
192.168.1.151 racnode1
192.168.1.152 racnode2
# Private Interconnect - (eth1)
192.168.2.151 racnode1-priv
192.168.2.152 racnode2-priv
# Public Virtual IP (VIP) addresses - (eth0:1)
192.168.1.251 racnode1-vip
192.168.1.252 racnode2-vip
# Single Client Access Name (SCAN)
192.168.1.187 racnode-cluster-scan
1.4 叢集時間同步服務
如果您想使用叢集時間同步服務在叢集中提供同步服務,需要卸載網路時間協議 (NTP) 及其配置。
要停用 NTP 服務,必須停止當前的 ntpd 服務,從初始化序列中禁用該服務,並刪除 ntp.conf 檔案。
要在 Oracle Enterprise Linux 上完成這些步驟,以 root 使用者身份在兩個 Oracle RAC 節點上運行以下命令:
[[email protected] ~]# /sbin/service ntpd stop
[[email protected] ~]# chkconfig ntpd off
[[email protected] ~]# mv /etc/ntp.conf /etc/ntp.conf.original
還要刪除以下檔案:
[[email protected] ~]# rm /var/run/ntpd.pid
此檔案儲存了 NTP 背景程式的 pid。
1.5 配置asm磁碟
安裝oracleasm3個包;
配置asm 驅動,會要求指定驅動的屬主使用者及使用者組等資訊:
oracleasm configure
>grid
>asmdba
>y
>y
初始化asm
oracleasm init
建立ASM 磁碟
oracleasm createdisk vol1 /dev/sdb1
如果有多個就繼續建立。完成後執行
oracleasm scandisks
查看asm磁碟
oracleasm listdisks
1.6 建立grid/Oracle使用者和組
groupadd oinstall
groupadd dba
groupadd oper
groupadd asmadmin
groupadd asmdba
groupadd asmoper
useradd -g oinstall -G dba,asmdba,asmadmin,asmoper grid
useradd -g oinstall -G dba,oper,asmdba,asmadmin oracle
驗證使用者 nobody 存在
安裝軟體之前,執行以下過程,以驗證在兩個 Oracle RAC 節點上存在使用者 nobody:
要確定該使用者是否存在,輸入以下命令:
# id nobody
如果該命令顯示了 nobody 使用者的資訊,則無需建立該使用者。
如果使用者 nobody 不存在,則輸入以下命令進行建立:
# /usr/sbin/useradd nobody
在叢集中的所有其他 Oracle RAC 節點上重複此過程
建立oracle軟體安裝目錄
mkdir -p /u01/app/grid
mkdir -p /u01/app/11.2.0/grid
chown -R grid:oinstall /u01
mkdir -p /u01/app/oracle
chown oracle:oinstall /u01/app/oracle
chmod -R 775 /u01
[RACNODE1]
配置GRID使用者的環境變數
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0/grid
export ORACLE_SID=+ASM1
export NLS_LANG=american_america.al32utf8
export NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"
export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch
export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export PATH=${PATH}:$ORACLE_BASE/common/oracle/bin
export ORACLE_TERM=xterm
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export CLASSPATH=$ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export THREADS_FLAG=native
export TEMP=/tmp
export TMPDIR=/tmp
umask 022
export TMOUT=0
配置ORACLE使用者的環境變數
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0
export ORACLE_SID=racdb1
export LANG=en_US.UTF-8
export NLS_LANG=american_america.al32utf8
export NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"
export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch
export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export PATH=${PATH}:$ORACLE_BASE/common/oracle/bin:/home/oracle/run
export ORACLE_TERM=xterm
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export CLASSPATH=$ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export THREADS_FLAG=native
export TEMP=/tmp
export TMPDIR=/tmp
export GI_HOME=/oracle/app/11.2.0/grid
export PATH=${PATH}:$GI_HOME/bin
export ORA_NLS10=$GI_HOME/nls/data
umask 022
export TMOUT=0
1.7 為 Oracle 軟體安裝使用者佈建資源限制
配置/etc/security/limits.conf檔案:增加如下內容
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
接著,修改/etc/pam.d/login,在檔案最後添加如下內容:
session required /lib/security/pam_limits.so
最後,修改/etc/profile,在檔案最後添加如下內容
if [ $USER = "oracle" ] || [ $USER = "grid" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
所有修改完畢,重啟所有Linux系統。
1.8 配置系統核心參數
配置/etc/sysctl.conf :添加如下內容:
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967296
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 = 1048586
注意上述參數中,需要根據實際情況修改kernel.shmmax 參數的值,可以直接設定為實體記憶體大小。
執行命令使之生效:
# /sbin/sysctl -p
1.9 SSH互信配置
配置所有節點間ssh無密碼登入,保證節點間檔案互傳。需要分別配置grid和oracle使用者的ssh互信
在所有節點上登入到grid使用者,執行以下命令:
#所有節點均執行
$rm -rf ~/.ssh
$mkdir ~/.ssh
$chmod 700 ~/.ssh
$/usr/bin/ssh-keygen -t rsa
#僅節點1執行
$ssh racnode1 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ssh racnode2 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$scp ~/.ssh/authorized_keys racnode2:.ssh/authorized_keys
#僅節點2執行
$chmod 600 ~/.ssh/authorized_keys
測試ssh互信是否配置成功:
#所有節點均執行,以下命令第一次執行需要輸入密碼,以後則不需要,表示配置成功
$ssh racnode1 date
$ssh racnode2 date
oracle使用者同上操作一次。
1.10 禁用SELINUX
vim /etc/selinux/config
SELINUX=permissive
1.11 關閉iptables防火牆
service iptables stop
chkconfig iptables off
2. 安裝叢集軟體
大家可以採用VNC或者XMANAGE軟體登入linux介面去安裝Oracle Grid Infrastructure軟體
登入linux介面之後
安裝前;執行安裝前環境確認,檢查各項需求是否通過:
只需要在節點1[racnode1]執行即可
./runcluvfy.sh stage -pre crsinst -n racnode1,racnode2 -verbose
如有檢查項未通過,請對照提示逐一修正後再次檢查,直到檢查項全部通過為止
【注意】
若環境下ssh連接埠非22;請先修改為22連接埠;安裝完成之後改回來。
3. 安裝oracleRAC
圖解略!
Oracle RAC安裝部署文檔