您的位置:首页 > 数据库 > Oracle

Linux部署Oracle11gR2 RAC详细教程

2019-10-20 22:48 1136 查看
DoubleJing 本文链接:https://blog.csdn.net/qq_41944882/article/details/102655230

1. 配置网络

  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用户管理集群软件和关系型数据库软件.

  1. 目录划分

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. 创建组和用户

  1. 创建组,根据前面的组划分创建
[root@rac1 ~]# groupadd oinstall
[root@rac1 ~]# groupadd dba
[root@rac1 ~]# groupadd oper
[root@rac1 ~]# groupadd asmadmin
[root@rac1 ~]# groupadd asmdba
[root@rac1 ~]# groupadd asmoper
  1. 创建用户
useradd -g oinstall -G dba,asmadmin,asmdba,asmoper grid
[root@rac1 ~]# useradd -g oinstall -G dba,oper,asmdba oracle
  1. 更改用户密码
[root@rac1 ~]# passwd oracle
[root@rac1 ~]# passwd grid


切换用户,看看grid和oracle用户的家目录,如下所示

  1. 创建软件安装目录
[root@rac1 u01]# mkdir gridbase
[root@rac1 u01]# mkdir grid
[root@rac1 u01]# mkdir oracle


更改u01目录的所有者及所属组

[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

  1. 设置用户的环境变量
    设置grid用户的环境变量
[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


设置oracle用户的环境变量

[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


将上图中的ntpd.pid删除就可以了

配置rac1和rac2远程互信,这个可以在网上自行找教程,后面有时间再出教程

安装依赖包,我用的rpm命令安装的,这里不演示,缺少包的私聊找我要就可以了,我的安装过前的配置检查出现下面的问题,问题不大,照着改一下就可以了


在安装缺少的包时,出现环形依赖,只要同时安装两个包就可以了,如下图所示

解决问题后再次检查环境配置就通过了

就接下来,进入grid的安装























到此Oracle11gR2 rac安装结束 ,接下来就是安装数据库软件,安装方法参见我另外一片博客.

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐