[Oracle 11g RAC安装]RAC环境搭建

2020-08-19 13:37:32 浏览数 (1)

这个专题说的是如何搭建Oracle 11.2.0.4 RAC 环境


数据库规划


这一节接着上一节udev的配置,说如何将配置rac的环境,包括grid和oracle

[Oracle 11g RAC安装]OPENFILER安装

[Oracle 11g RAC安装]OPENFILER配置

[Oracle 11g RAC安装]UDEV设置

注意:我们是无需手动设定两节点间的互信的,安装程序会自动建立,将在下节介绍

这期代码较多,手机可能会显示错乱,可使用PC客户端查看,谢谢

以下所有操作都需在两节点都操作


数据库安装文件(11.2.0.4)

注意:redhat 6.7 不支持grid 11.2.0.1版本。

下载地址:https://pan.baidu.com/s/1i5aEFYX

密码请关注公众号回复密码即可


设置Hosts文件

两节点相同

代码语言:javascript复制
[root@rac1 grid]# vim /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

# RAC1

10.65.204.210  rac1
192.168.25.101 rac1-priv
10.65.204.211  rac1-vip

#RAC2

10.65.204.212  rac2
192.168.25.102 rac2-priv
10.65.204.213  rac2-vip

# RAC-SCAN

10.65.204.214  rac-scan

新建用户

两节点相同

代码语言:javascript复制
groupadd -g 501 oinstall
groupadd -g 505 asmdba
groupadd -g 502 dba
groupadd -g 503 oper
groupadd -g 504  asmadmin
groupadd -g 506 asmoper
useradd  -u 502 -g oinstall -G  asmadmin,asmdba,asmoper,dba -d /home/grid -s /bin/bash grid
useradd  -u 501  -g oinstall -G  asmdba,dba,oper  -d /home/oracle -s /bin/bash oracle

新建目录

两节点相同

代码语言:javascript复制
mkdir -p /u01/app/grid
mkdir -p /u01/app/oracle
mkdir -p /u01/app/oracle/product/11.2.0/db_1

chown -R grid:oinstall /u01
chmod -R 775 /u01
chown -R oracle:oinstall /u01/app/oracle

设置环境变量

RAC1节点

代码语言:javascript复制
[oracle@rac1 ~]$ vim ~/.bash_profile 

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH

export ORACLE_BASE=/u01/app/oracle
export ORACLE_SID=orcl1
export NLS_LANG=american_america.al32utf8
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export ORACLE_TERM=xterm
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/lib64:/usr/lib64
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
export TNS_ADMIN=$ORACLE_HOME/network/admin
代码语言:javascript复制
[grid@rac1 oracle]$ vim ~/.bash_profile 

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH

export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0/grid
export ORACLE_SID= ASM1
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/lib64:/usr/lib64
export ORACLE_TERM=xterm
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export TNS_ADMIN=$ORACLE_HOME/network/admin

RAC2节点

代码语言:javascript复制
[oracle@rac2 ~]$ vim ~/.bash_profile 

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH

export ORACLE_BASE=/u01/app/oracle
export ORACLE_SID=orcl2
export NLS_LANG=american_america.al32utf8
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export ORACLE_TERM=xterm
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/lib64:/usr/lib64
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
export TNS_ADMIN=$ORACLE_HOME/network/admin
代码语言:javascript复制
[grid@rac2 ~]$ vim ~/.bash_profile 

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH

export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0/grid
export ORACLE_SID= ASM2
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/lib64:/usr/lib64
export ORACLE_TERM=xterm
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export TNS_ADMIN=$ORACLE_HOME/network/admin

关闭防火墙以及Selinux

两节点相同

关闭防火墙

代码语言:javascript复制
service iptables stop
chkconfig iptables off
代码语言:javascript复制
service ip6tables stop
chkconfig ip6tables off
代码语言:javascript复制

关闭Selinux

代码语言:javascript复制
[root@rac2 grid]# vim /etc/selinux/config 


# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

设置系统参数

两节点相同

shmmax和shmall的设置 shmmax指的是单个内存段的最大值,单位为bytes shmall指的是Orale能使用的最大内存大小,单位为pages, pages大小可通过 getconf PAGE_SIZE 命令查询,一般操作系统page大小为4096bytes 如操作系统内存为8G,给80%给Oracle使用,则 kernel.shmmax=(8*0.8*1024 * 1024 * 1024 )=6871947673 kernel.shmall=kernel.shmmax/4096=1677721

修改/etc/sysctl.conf文件

如默认大于如下数值,请不要更改

代码语言:javascript复制
# Controls the maximum shared segment size, in bytes
kernel.shmmax = 68719476736

# Controls the maximum number of shared memory segments, in pages
kernel.shmall = 4294967296
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 6815744
fs.aio-max-nr = 1048576
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 = 4194304
net.ipv4.tcp_wmem = 262144 262144 262144
net.ipv4.tcp_rmem = 4194304 4194304 4194304

修改后使其生效

代码语言:javascript复制
  /sbin/sysctl -p

修改PAM

两节点相同

添加如下一行

代码语言:javascript复制
vim /etc/pam.d/login
session    required     pam_limits.so

设置Linux安全参数

两节点相同

代码语言:javascript复制
[grid@lixora01 ~]$ more /etc/security/limits.conf 
grid soft nproc 4096
grid hard nproc 16384
grid soft nofile 2048
grid hard nofile 65536
oracle soft nproc 4096
oracle hard nproc 16384
oracle soft nofile 2048
oracle hard nofile 65536

关闭ntp服务

两节点相同

代码语言:javascript复制
[root@rac1 udev]#/sbin/service ntpd stop
[root@rac1 udev]#chkconfig ntpd off
[root@rac1 udev]#mv /etc/ntp.conf /etc/ntp.conf.original
[root@rac1 udev]#rm /var/run/ntpd.pid

安装必要的软件包

两节点相同

安装cvuqdisk包

该包在grid安装文件rpm目录

代码语言:javascript复制
rpm -ivh cvuqdisk-1.0.7-1.rpm

安装pdksh包

该包在上面的下载链接中

代码语言:javascript复制
rpm -ivh pdksh-5.2.14-30.x86_64.rpm

安装其他包

以下包都在Redhat 系统镜像Package内,可直接运行安装

代码语言:javascript复制
rpm -ivh binutils-2.20.51.0.2-5.43.el6.x86_64.rpm
rpm -ivh binutils-devel-2.20.51.0.2-5.43.el6.x86_64.rpm
rpm -ivh compat-libstdc  -33-3.2.3-69.el6.x86_64.rpm
rpm -ivh elfutils-libelf-0.161-3.el6.x86_64.rpm
rpm -ivh glibc-2.12-1.166.el6.x86_64.rpm
rpm -ivh glibc-common-2.12-1.166.el6.x86_64.rpm
rpm -ivh glibc-devel-2.12-1.166.el6.x86_64.rpm
rpm -ivh gcc-4.4.7-16.el6.x86_64.rpm
rpm -ivh gcc-c  -4.4.7-16.el6.x86_64.rpm
rpm -ivh libaio-0.3.107-10.el6.x86_64.rpm
rpm -ivh libaio-devel-0.3.107-10.el6.x86_64.rpm
rpm -ivh libgcc-4.4.7-16.el6.x86_64.rpm
rpm -ivh libstdc  -4.4.7-16.el6.x86_64.rpm
rpm -ivh libstdc  -devel-4.4.7-16.el6.x86_64.rpm
rpm -ivh make-3.81-20.el6.x86_64.rpm
rpm -ivh sysstat-9.0.4-27.el6.x86_64.rpm
rpm -ivh unixODBC-2.2.14-14.el6.x86_64.rpm
rpm -ivh unixODBC-devel-2.2.14-14.el6.x86_64.rpm
rpm -ivh libcap-2.16-5.5.el6.x86_64.rpm
rpm -ivh libcap-devel-2.16-5.5.el6.x86_64.rpm
rpm -ivh compat-libcap1-1.10-1.x86_64.rpm
rpm -ivh libcap-devel-2.16-5.5.el6.x86_64.rpm
rpm -ivh libcap-ng-0.6.4-3.el6_0.1.x86_64.rpm
rpm -ivh libcap-ng-devel-0.6.4-3.el6_0.1.x86_64.rpm
rpm -ivh compat-libstdc  -33-3.2.3-69.el6.x86_64.rpm
rpm -ivh ksh-20120801-28.el6.x86_64.rpm
rpm -ivh cpp-4.4.7-16.el6.x86_64.rpm
rpm -ivh glibc-headers-2.12-1.166.el6.x86_64.rpm
rpm -ivh mpfr-2.4.1-6.el6.x86_64.rpm

到这里gird环境的搭建已经完成,下期将介绍如何搭建grid

0 人点赞