Linux部署Oracle11gR2 RAC详细教程
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
切换用户,看看grid和oracle用户的家目录,如下所示
- 创建软件安装目录
[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
- 设置用户的环境变量
设置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安装结束 ,接下来就是安装数据库软件,安装方法参见我另外一片博客.
- 在linux下通过zookeeper部署solr集群详细配置教程
- 【Oracle 集群】11G RAC 知识图文详细教程之RAC在LINUX上使用NFS安装前准备(六)
- Linux Tomcat安装以及项目部署、端口修改详细教程
- 【Oracle RAC】Linux系统Oracle 11g R2 RAC 安装配置详细过程-视频培训教程
- ubuntu/linux nginx+Gunicorn+django 部署方法详细教程
- Android开发环境部署——非常详细的Android开发环境搭建教程(linux 环境)
- FastDFS5.05 linux 集群部署详细安装教程
- Oracle Enterprise Linux 6.4安装Oracle Database 12c RAC图文详细教程
- 【Oracle 集群】11G RAC 知识图文详细教程之RAC在LINUX上使用NFS安装前准备(六)
- 生产库自动化MySQL5.6安装部署详细教程
- 五步搞定Android开发环境部署——非常详细的Android开发环境搭建教程
- 【AIgua小白之路】Linux查看被占用的端口号~~【手把手系列】超详细图文教程
- 【Jenkins教程二】基于Linux实现Jenkins+maven+tomcat的自动化构建部署项目
- Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之ORACLE集群概念和原理(二)
- linux系统(centos)下安装JDK,Tomcat详细教程!!!
- linux远程桌面vnc服务配置详细教程
- [转]详细易懂的Linux makefile教程(6)
- Linux(1)——在Linux下安装Nodejs(详细教程,包会),并成功创建一个简单的服务器
- Nginx详细的安装教程(linux)
- 大数据生态集群环境搭建部署超详细教程-HJF