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
图解略!