基于Linux的oracle 12cR2 RAC 标准化安装(二)

来源:这里教程网 时间:2026-03-03 18:12:33 作者:

安装前的检查和设置

网络需求

每个节点一个  public IP

  每个节点一个  public VIP

  每个节点一个  private IP

一个用于集群的  SCAN  名称,和  public IP  同网段的  IP

public IP,VIP    scan IP  写入  /etc/hosts  文件

网络配置需要预先分配5个ip:

public  两个,心跳两个,scan一个

 

          

10.10.1.71         orcl1

10.10.1.72         orcl2

10.10.1.81         orcl1-vip

10.10.1.82         orcl2-vip

192.168.1.71       orcl1-priv

192.168.1.72       orcl2-priv

10.10.1.83         orcl-scan

关闭  NetworkManager

关闭  NetworkManager  操作:

NetworkManager  管理主机网络配置信息,该服务如果出现down  的话会影响系统网络运行,建议关闭:

关闭运行中的服务

#service NetworkManager stop

关闭操作系统自启动

#chkconfig NetworkManager off

检查关闭情况

# chkconfig  --list NetworkManager

 

Linux 7  无需再关闭  NetworkManager

备注:该操作需要当前所有的网卡均没有配置  IP  ,也就是当前的网卡没有通过  NetworkManager  管理,如果先配置  IP  后关闭该服务,会导致网络不可识别。

 

关闭防火墙

关闭防火墙操作 

关闭运行中的服务

#service iptables stop

关闭操作系统自启动

#chkconfig iptables off

检查关闭情况

# chkconfig  --list iptables

 

Linux 7  关闭防火墙操作:

# systemctl disable firewalld

# systemctl stop firewalld

 

关闭  selinux

编辑/etc/selinux/config  文件

[root@DBServer1 ~]# vi /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 - SELinux is fully disabled.

SELINUX=disabled

# SELINUXTYPE= type of policy in use. Possible values are:

#       targeted - Only targeted network daemons are protected.

#       strict - Full SELinux protection.

SELINUXTYPE=targeted

 

新特性关闭

针对RHEL7.2  版本  ,如果设置了RemoveIPC=yes  的参数,会crash  Oracle asm  实例和Oracle database  实例,该问题也会在使用Shared Memory Segment (SHM) or Semaphores (SEM)  的应用程序中发生。

RHEL7.2  中,systemd-logind  服务引入了一个新特性,该新特性是在一个user  完全退出OS  后会remove  掉所有的IPC  对象。

为避免改新特性,需要修改如下参数

1).  设置/etc/systemd/logind.conf  RemoveIPC=no

2).  重启服务器或者重启systemd-logind

重启systemd-logind 

# systemctl daemon-reload

# systemctl restart systemd-logind

 

安装包

所有的oracle  安装都需要遵循基本的RPM  包安装,一下罗列各个操作系统下面RPM  包的安装:

Linux 7 and Red Hat Enterprise Linux 7

binutils-2.23.52.0.1-12.el7.x86_64

compat-libcap1-1.10-3.el7.x86_64

compat-libstdc++-33-3.2.3-71.el7.i686

compat-libstdc++-33-3.2.3-71.el7.x86_64

gcc-4.8.2-3.el7.x86_64

gcc-c++-4.8.2-3.el7.x86_64

glibc-2.17-36.el7.i686

glibc-2.17-36.el7.x86_64

glibc-devel-2.17-36.el7.i686

glibc-devel-2.17-36.el7.x86_64

ksh

libaio-0.3.109-9.el7.i686

libaio-0.3.109-9.el7.x86_64

libaio-devel-0.3.109-9.el7.i686

libaio-devel-0.3.109-9.el7.x86_64

libgcc-4.8.2-3.el7.i686

libgcc-4.8.2-3.el7.x86_64

libstdc++-4.8.2-3.el7.i686

libstdc++-4.8.2-3.el7.x86_64

libstdc++-devel-4.8.2-3.el7.i686

libstdc++-devel-4.8.2-3.el7.x86_64

libXi-1.7.2-1.el7.i686

libXi-1.7.2-1.el7.x86_64

libXtst-1.2.2-1.el7.i686

libXtst-1.2.2-1.el7.x86_64

make-3.82-19.el7.x86_64

sysstat-10.1.5-1.el7.x86_64

 

Packages for Oracle Linux 6 and Red Hat Enterprise Linux 6

binutils-2.20.51.0.2-5.36.el6 (x86_64)    compat-libcap1-1.10-1 (x86_64)    compat-libstdc++-33-3.2.3-69.el6 (x86_64)    compat-libstdc++-33-3.2.3-69.el6 (i686)    e2fsprogs-1.41.12-14.el6 (x86_64)    e2fsprogs-libs-1.41.12-14.el6 (x86_64)    glibc-2.12-1.107.el6 (i686)    glibc-2.12-1.107.el6 (x86_64)    glibc-devel-2.12-1.107.el6 (i686)    glibc-devel-2.12-1.107.el6 (x86_64)    ksh    libaio-0.3.107-10.el6 (x86_64)    libaio-0.3.107-10.el6 (i686)    libaio-devel-0.3.107-10.el6 (x86_64)    libaio-devel-0.3.107-10.el6 (i686)    libX11-1.5.0-4.el6 (i686)    libX11-1.5.0-4.el6 (x86_64)    libXau-1.0.6-4.el6 (i686)    libXau-1.0.6-4.el6 (x86_64)    libXi-1.6.1-3.el6 (i686)    libXi-1.6.1-3.el6 (x86_64)    libXtst-1.2.1-2.el6 (i686)    libXtst-1.2.1-2.el6 (x86_64)    libgcc-4.4.7-3.el6 (i686)    libgcc-4.4.7-3.el6 (x86_64)    libstdc++-4.4.7-3.el6 (i686)    libstdc++-4.4.7-3.el6 (x86_64)    libstdc++-devel-4.4.7-3.el6 (i686)    libstdc++-devel-4.4.7-3.el6 (x86_64)    libxcb-1.8.1-1.el6 (i686)    libxcb-1.8.1-1.el6 (x86_64)    make-3.81-20.el6 (x86_64)    net-tools-1.60-110.el6_2 (x86_64) (for Oracle   RAC and Oracle Clusterware)    nfs-utils-1.2.3-36.el6 (x86_64) (for Oracle   ACFS)    smartmontools-5.43-1.el6 (x86_64)    sysstat-9.0.4-20.el6 (x86_64)

 

 

创建用户、组  (  双节点创建执行  )

双节点创建grid  用户及oracle  用户:

groupadd -g 501 oinstall

groupadd -g 502 dba

useradd -u 501 -g oinstall -G dba grid

useradd -u 502 -g oinstall -G dba oracle

 

passwd grid    ----  修改grid  用户密码

passwd oracle   ----  修改oracle  用户密码

 

配置  oracle  安装  shell  限制

3.8.1 /etc/security/limits.conf  配置

 vi /etc/security/limits.conf

grid soft nproc 2047

grid hard nproc 16384

grid soft nofile 1024

grid hard nofile 65536

grid soft  stack  10240

grid hard  stack  10240

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

oracle  soft  stack  10240

oracle  hard  stack  10240

 

配置

编辑/etc/pam.d/login  添加如下内容:

vi /etc/pam.d/login

session    required     pam_limits.so

配置

编辑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/sysctl.conf

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.file-max = 6815744

fs.aio-max-nr = 3145728

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

kernel.panic_on_oops=1

 

#/sbin/sysctl -p

 

一般设置按照如上规则设置,如果文件中已经设置的值比计算结果大,以文件中本身的值为准

kernel.shmall = physical RAM size /   pagesize For most systems, this will be the value 2097152  64g  默认16777216 

kernel.shmmax = 1/2 of physical RAM  64g  默认68719476736 

fs.file-max = 512 x processes  (默认6815744 

 

 

环境变量设置

一节点:

grid  用户:

export ORACLE_BASE=/oracle/gridbase

export ORACLE_HOME=/oracle/grid    ###  (此目录为grid  的解压目录)

export ORACLE_SID=+ASM1

export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH

 

oracle  用户:

export ORACLE_BASE=/oracle/app

export ORACLE_HOME=/oracle/app/product/12.2.0/db_1

export ORACLE_SID=  XXX1

export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH

 

二节点:

grid  用户:

export ORACLE_BASE=/oracle/gridbase

export ORACLE_HOME=/oracle/grid

export ORACLE_SID=+ASM2

export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH

 

oracle  用户:

export ORACLE_BASE=/oracle/app

export ORACLE_HOME=/oracle/app/product/12.2.0/db_1

export ORACLE_SID=  XXX2

export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH

 

 

创建  oracle  安装目录  (  使用  root  用户执行  )

创建  Oracle Inventory  目录

# mkdir -p /oracle/oraInventory

# chown -R grid:oinstall /oracle/oraInventory

# chmod -R 775 /oracle/oraInventory

 

创建  grid  目录

# mkdir -p /oracle/gridbase

# chown -R grid:oinstall /oracle/gridbase

# chmod -R 775 /oracle/gridbase

 

# mkdir -p /oracle/grid

# chown -R grid:oinstall /oracle/grid

# chmod -R 775 /oracle/grid

 

创建  oracle  base  目录

# mkdir -p /oracle/app

# chown -R oracle:oinstall /oracle/app

# chmod -R 775 /oracle/app

 

多路径软件安装

3.12.1  安装多路径软件包

device-mapper-*

device-mapper-multipath-*

device-mapper-1*

安装以上rpm 

 

3.12.2  启动多路径及配置多路径

启动多路径,通过mpathconf  命令创建默认模板。创建默认配置,启动和激活multipathd  进程,可以使用以下命令:

使用自带模板编辑多路径设备权限

cp  /usr/share/doc/  device-mapper-1.02.66/12-dm-permissions.rules  /etc/udev/rules.d/

vi /etc/udev/rules.d/12-dm-permissions.rules

ENV{DM_NAME}=="mpathe", OWNER:="grid", GROUP:="oinstall", MODE:="660"

ENV{DM_NAME}=="mpathd", OWNER:="grid", GROUP:="oinstall", MODE:="660"

ENV{DM_NAME}=="mpathc", OWNER:="grid", GROUP:="oinstall", MODE:="660"

ENV{DM_NAME}=="mpathb", OWNER:="grid", GROUP:="oinstall", MODE:="660"

二节点也执行同样的操作

 

配置完成后建议重新启动多路径软件:

/etc/init.d/multipathd restart

 

备注:启动完成后会在/etc/  下生成multipath.conf  文件,以及在/etc/multipath  下生成bindings  wwid  ,其中wwid  记录了系统中所有挂载盘的盘唯一ID Bindings  记录了ID  对应的映射盘。

一般绑定完后会在/dev/mapper  下产生类似于mpathx  等文件

备注:  RAC  安装需要确保双节点所有的盘符名字一致,可以检查  /etc/multipath/binding  文件,将一节点中除本地盘以外的所有记录覆盖二节点文件中的记录(注意不要将本地硬盘覆盖)

 

Linux 6  重启  udev  操作:

两节点重启udev

start_udev

 

Linux 7  重启  udev  操作:

/sbin/udevadm trigger --type=devices --action=change

 

/dev  下面看盘dm*  是否改成grid  ,如果是则完成配置

 

3.12.3  多路径维护基本命令

1.  启停多路径:

/etc/init.d/multipathd stop/start/reatart

2.  查看当前多路径链路状态及盘情况:

multipath –ll

3.  删除多路径设备:

multipath –F

4.  重新扫描设备:

multipath –v3

5.  当在 DM-Multipath  中添加新设备时,这些新设备会位于 /dev  目录的两个不同位置:

                 /dev/mapper/mpathn

                 /dev/dm-n

        /dev/mapper  中的设备是在引导过程中生成的。可使用这些设备访问多路径设备,例如在生成逻辑卷时

         所有  /dev/dm-n  格式的设备都只能是作为内部使用,请不要使用它们

 

[root@hlwdb01 multipath]# multipath -ll

mpathe (360060e8016634c000001634c00000302) dm-5 HITACHI,OPEN-V

size=100G features='1 queue_if_no_path' hwhandler='0' wp=rw

`-+- policy='round-robin 0' prio=1 status=active

  |- 1:0:0:2 sdd 8:48 active ready running

  `- 2:0:0:2 sdg 8:96 active ready running

mpathd (360060e8016634c000001634c00000301) dm-4 HITACHI,OPEN-V

size=100G features='1 queue_if_no_path' hwhandler='0' wp=rw

`-+- policy='round-robin 0' prio=1 status=active

  |- 1:0:0:1 sdc 8:32 active ready running

  `- 2:0:0:1 sdf 8:80 active ready running

mpathc (360060e8016634c000001634c00000300) dm-3 HITACHI,OPEN-V

size=100G features='1 queue_if_no_path' hwhandler='0' wp=rw

`-+- policy='round-robin 0' prio=1 status=active

  |- 1:0:0:0 sdb 8:16 active ready running

  `- 2:0:0:0 sde 8:64 active ready running

mpathb (360060e8016634c000001634c00000303) dm-2 HITACHI,OPEN-V

size=100G features='1 queue_if_no_path' hwhandler='0' wp=rw

`-+- policy='round-robin 0' prio=1 status=active

  |- 1:0:0:0 sdh 8:16 active ready running

  `- 2:0:0:0 sdi 8:64 active ready running

 

以上多路径设备包含:

1G  盘一块,mpathb  用作OCRVOTE 

100G  mpathc  mpathd  mpathe  用作DATA 

 

配置  I/O  参数(三块仲裁盘)

echo deadline > /sys/block/xxx/queue/scheduler

echo deadline > /sys/block/xxx/queue/scheduler

echo deadline > /sys/block/xxx/queue/scheduler

注意:xxx  代表盘符名,以上例子中xxx  mpath* 

 

时间同步

使用  oracle  时间同步服务

mv /etc/ntp.conf /etc/ntp.conf.bak

 

检查时区和时间一致性

$ echo $TZ

$date

确保时区一致,两台主机的时间相差不超过  1  分钟

相关推荐