1. 配置网络
Interface | RAC1 | RAC2 |
---|---|---|
Public IP | 192.168.88.100 | 192.168.88.101 |
Private IP | 192.168.137.128 | 192.168.137.129 |
VIP | 192.168.88.213 | 192.168.88.214 |
SCAN | 192.168.88.200 | 192.168.88.200 |
此时可以由192.168.137.128远程ssh到192.168.88.100,表示两块网卡都能用
进入rac1的/etc/hosts文件,做以下配置
此时在终端ping rac1,结果如下所示,这表示我们上一步的修改已经生效了
2. 划分用户和组
Group | grid | oracle |
---|---|---|
oinstall | ✔ | ✔ |
dba | ✔ | ✔ |
oper | ✔ | |
asmadmin | ✔ | |
asmdba | ✔ | ✔ |
asmoper | ✔ |
分别用grid用户和oracle用户管理集群软件和关系型数据库软件.
Grid Infrastructure
export HOME=/home/grid
export ORACLE_BASE=/u01/gridbase
export ORACLE_HOME=/u01/grid
Oracle Database
export HOME=/home/oracle
export ORACLE_BASE=/u01/oracle
export ORACLE_HOME=/u01/oracle/db
2. 创建组和用户
[root@rac1 ~]# groupadd oinstall
[root@rac1 ~]# groupadd dba
[root@rac1 ~]# groupadd oper
[root@rac1 ~]# groupadd asmadmin
[root@rac1 ~]# groupadd asmdba
[root@rac1 ~]# groupadd asmoper
useradd -g oinstall -G dba,asmadmin,asmdba,asmoper grid
[root@rac1 ~]# useradd -g oinstall -G dba,oper,asmdba oracle
[root@rac1 ~]# passwd oracle
[root@rac1 ~]# passwd grid
[root@rac1 u01]# mkdir gridbase
[root@rac1 u01]# mkdir grid
[root@rac1 u01]# mkdir oracle
[root@rac1 u01]# chown -R grid:oinstall /u01
进入u01目录查看子目录的权限,如下所示,我们需要将其中的oracle子目录的所有者改为oracle用户
[root@rac1 u01]# chown -R oracle:oinstall oracle
改变u01目录的权限,因为后面安装软件需要往里面写文件,上面我们已经知道u01目录属于grid用户,其属组是oinstall,且u01目录的权限是755,所以grid用户有读写执行的权限,但是oracle用户只有读和执行的权限,这会导致安装数据库软件时没有权限将安装文件写入相应的目录,所以我们要改变u01目录的权限为775,让oinstall组对其有读写执行的权限,而oracle用户又属于oinstall组,此时oracle用户就拥有了对u01目录的读写执行权限.
[root@rac1 /]# chmod 775 u01
[root@rac1 /]# su - grid
[grid@rac1 ~]$ vi .bash_profile
在 .bash_profile的行末加入以下变量
ORACLE_BASE=/u01/gridbase
ORACLE_HOME=/u01/grid
PATH=$ORACLE_HOME/bin:$PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
DISPLAY=192.168.88.72:0.0
export ORACLE_BASE ORACLE_HOME PATH LD_LIBRARY_PATH DISPLAY
[grid@rac1 ~]$ vi .bash_profile
[grid@rac1 ~]$ su - oracle
Password:
[oracle@rac1 ~]$ vi .bash_profile
在 .bash_profile的行末加入以下变量
ORACLE_BASE=/u01/oracle
ORACLE_HOME=/u01/oracle/db
ORACLE_SID=racdb1
PATH=$ORACLE_HOME/bin:$PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
DISPLAY=192.168.88.72:0.0
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LIBRARY_PATH DISPLAY
安装一个小工具rlwrap,但是安装过程中出现一个小错误
根据错误提示要安装一个readline库,我用yum源安装就好了,安装好再次安装rlwrap即可
[root@rac1 rlwrap-0.37]# yum -y install readline*
将rlwrap命令的命令的简写加入oracle用户和grid用户的环境变量中,到时可以直接在shell中输入命令运行
3. 配置内核参数
关闭防火墙
[root@rac1 /]# chkconfig iptables off
关闭selinux
[root@rac1 selinux]# vi /etc/selinux/config
[root@rac1 selinux]# vi /etc/sysctl.conf //进入该文件,添加下面的配置参数
[root@rac1 selinux]# sysctl -p //修改后保存退出,运行此命令使修改生效
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 4294967296
kernel.shmmax = 68719476736
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
进入/etc/profile进行配置
[root@rac1 selinux]# vi /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
umask 022
fi
进入/etc/security/limits.conf进行配置
[root@rac1 /]# vi /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
[root@rac1 /]# vi /etc/pam.d/login //在行末加入下面的语句
session required pam_limits.so
因为Oracle数据库的运行需要大内存,所以做以下操作,当然也可以不做,可以自行查一下
[root@rac1 /]# umount tmpfs
[root@rac1 /]# mount -t tmpfs shmfs -o size=3000m /dev/shm
进一步进入/etc/fstab配置如下
[root@rac1 /]# vi /etc/fstab
4. 时间同步
在此我们使用oracle rac的ctssd同步功能而不使用linux系统自带的ntpd同步功能
首先,关闭ntpd服务
[root@rac1 /]# service ntpd stop //关闭ntpd
[root@rac1 /]# chkconfig ntpd off //禁止ntpd开机自启
将ntpd的配置文件隐藏,如下
[root@rac1 /]# cd /etc
[root@rac1 etc]# ls ntp*
ntp.conf
ntp:
crypto keys step-tickers
[root@rac1 etc]# mv ntp.conf ntp.conf.backup
进入下面的文件看一下有无ntpd.pid,有的话删掉
[root@rac1 etc]# cd /var/run
[root@rac1 run]# ls -l *.pid
[root@rac1 run]# rm -f /var/run/ntpd.pid
配置rac1和rac2远程互信,这个可以在网上自行找教程,后面有时间再出教程
安装依赖包,我用的rpm命令安装的,这里不演示,缺少包的私聊找我要就可以了,我的安装过前的配置检查出现下面的问题,问题不大,照着改一下就可以了
在安装缺少的包时,出现环形依赖,只要同时安装两个包就可以了,如下图所示
解决问题后再次检查环境配置就通过了
就接下来,进入grid的安装
到此Oracle11gR2 rac安装结束 ,接下来就是安装数据库软件,安装方法参见我另外一片博客.