19C RAC安装部署(上)

一、安装必要的依赖包

yum install bc binutils compat-libcap1 compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel fontconfig-devel glibc glibc-devel ksh libaio libaio-devel libX11 libXau libXi libXtst libXrender libXrender-devel libgcc libstdc++ libstdc++-devel libxcb make smartmontools sysstat  librdmacm-devel   libXext   libaio.i686 libstdc++-devel.i686   libstdc++.i686  libgcc.i686  glibc-devel.i686 
yum install ipmiutil net-tools nfs-utils python python-configshell python-rtslib python-six targetcli compat-libstdc++-33.i686 gcc  compat-libstdc++  readline  libtermcap-devel unixODBC-devel  unixODBC libXi.i686 libxcb.i686 libXau.i686  libX11.i686 libXtst.i686  libXext.i686 gcc-c++  glibc  glibc.i686  libaio-devel.i686

注意compat包yum库中没有,需要单独下载安装,否则最后安装检查时会不通过。

rpm -ivh compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm

二、关闭ntpd服务

[root@rac1 ~]#systemctl disable ntpd.service
[root@rac1 ~]#systemctl stop ntpd.service
[root@rac1 ~]#mv /etc/ntp.conf /etc/ntp.conf.orig
[root@rac1 ~]#systemctl status ntpd

三、关闭防火墙

[root@rac01 ~]# systemctl stop firewalld
[root@rac01 ~]# systemctl disable firewalld
[root@rac01 ~]# systemctl status firewalld

四、关闭avahi-daemon服务,否则安装检测时会有报错,官网建议关闭

[root@rac01 ~]# systemctl stop avahi-daemon
Warning: Stopping avahi-daemon.service, but it can still be activated by:
  avahi-daemon.socket
[root@rac01 ~]# systemctl disable avahi-daemon
Removed symlink /etc/systemd/system/multi-user.target.wants/avahi-daemon.service.
Removed symlink /etc/systemd/system/sockets.target.wants/avahi-daemon.socket.
Removed symlink /etc/systemd/system/dbus-org.freedesktop.Avahi.service.
[root@rac01 ~]#

五、创建用户及用户组

[root@rac1 ~]
groupadd -g 16881 oinstall 
groupadd -g 16882 dba 
groupadd -g 16883 oper 
groupadd -g 16884 backupdba 
groupadd -g 16885 dgdba 
groupadd -g 16886 kmdba 
groupadd -g 16887 asmdba 
groupadd -g 16888 asmoper 
groupadd -g 16889 asmadmin 
groupadd -g 16880 racdba
useradd -u 16881 -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba,oper oracle 
useradd -u 16882 -g oinstall -G asmadmin,asmdba,asmoper,dba grid

六、创建文件目录

在两个节点创建grid、oracle文件目录

[root@rac1 ~]
mkdir -p /u01/app/19.0.0/grid
mkdir -p /u01/app/grid
mkdir -p /u01/app/oracle
mkdir -p /u01/app/oracle/product/19.0.0/db_1
chown -R grid:oinstall /u01
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/

七、修改limits.conf

在两个节点修改/etc/security/limits.conf

[root@rac1 ~]vi /etc/security/limits.conf
#ORACLE SETTING
grid  soft  nproc 16384
grid  hard  nproc 16384
grid  soft  nofile 1024
grid  hard  nofile 65536
grid  soft  stack 10240
grid  hard  stack 32768
oracle soft nproc 16384
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack  10240
oracle hard stack  32768
oracle hard memlock 3145728
oracle soft memlock 3145728

八、添加 vi /etc/pam.d/login

session required pam_limits.so

九、配置NOZEROCONF,否则安装检测不通过

vi /etc/sysconfig/network增加以下内容
NOZEROCONF=yes

十、设置系统参数

[root@rac1 ~]vi /etc/sysctl.conf
#ORACLE SETTING
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmmax = 269509197824
kernel.shmall = 65798144
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 = 104858

十一、关闭大页

echo "never" > /sys/kernel/mm/transparent_hugepage/enabled
echo "never" > /sys/kernel/mm/transparent_hugepage/defrag
chmod +x /etc/rc.d/rc.local

十二、关闭网络管理器,否则会导致VIP异常关闭

systemctl  stop NetworkManager
systemctl disable NetworkManager

十三、修改grid用户环境变量

节点1 grid
[root@rac1 ~]# su - grid
[grid@rac1:/home/grid]$vi ~/.bash_profile
PS1="[`whoami`@`hostname`:"'$PWD]$'
export PS1
umask 022
export TMP=/tmp
export LANG=en_US
export TMPDIR=$TMP
ORACLE_SID=+ASM1; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
ORACLE_BASE=/u01/app/grid; export ORACLE_BASE
ORACLE_HOME=/u01/app/19.0.0/grid; export ORACLE_HOME
NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"; export NLS_DATE_FORMAT
PATH=.:$PATH:$HOME/bin:$ORACLE_HOME/bin; export PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
THREADS_FLAG=native; export THREADS_FLAG
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
alias sqlplus='rlwrap sqlplus'


节点2 grid
[root@rac2 ~]# su - grid
[grid@rac2:/home/grid]$vi ~/.bash_profile
PS1="[`whoami`@`hostname`:"'$PWD]$'
export PS1
umask 022
export TMP=/tmp
export LANG=en_US
export TMPDIR=$TMP
ORACLE_SID=+ASM2; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
ORACLE_BASE=/u01/app/grid; export ORACLE_BASE
ORACLE_HOME=/u01/app/19.0.0/grid; export ORACLE_HOME
NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"; export NLS_DATE_FORMAT
PATH=.:$PATH:$HOME/bin:$ORACLE_HOME/bin; export PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
THREADS_FLAG=native; export THREADS_FLAG
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
alias sqlplus='rlwrap sqlplus'

十四、修改oracle用户环境变量

节点1 oracle
[root@rac1 ~]# su - oracle
[oracle@rac1:/home/oracle]$vi ~/.bash_profile
PS1="[`whoami`@`hostname`:"'$PWD]$'
export PS1
export TMP=/tmp
export LANG=en_US
export TMPDIR=$TMP
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/19.0.0/db_1; export ORACLE_HOME
ORACLE_SID=saas1; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"; export NLS_DATE_FORMAT
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK;export NLS_LANG
PATH=.:$PATH:$HOME/bin:$ORACLE_BASE/product/19.0.0/db_1/bin:$ORACLE_HOME/bin; export PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
THREADS_FLAG=native; export THREADS_FLAG
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
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'

节点2 oracle
[root@rac2 ~]# su - oracle
[oracle@rac2:/home/oracle]$vi ~/.bash_profile
PS1="[`whoami`@`hostname`:"'$PWD]$'
export PS1
export TMP=/tmp
export LANG=en_US
export TMPDIR=$TMP
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/19.0.0/db_1; export ORACLE_HOME
ORACLE_SID=saas2; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"; export NLS_DATE_FORMAT
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK;export NLS_LANG
PATH=.:$PATH:$HOME/bin:$ORACLE_BASE/product/19.0.0/db_1/bin:$ORACLE_HOME/bin; export PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
THREADS_FLAG=native; export THREADS_FLAG
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
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'

十五、修改root环境变量,加入grid用户$ORACLE_HOME,方便集群命令维护

[root@rac1 rac01]# vi ~/.bash_profile
PATH=$PATH:/u01/app/19.0.0/grid/bin:$HOME/bin
export PATH

十六、UDEV进行存储磁盘绑定

for i in f g h ;
do
echo "KERNEL==\"sd*\", ENV{DEVTYPE}==\"disk\", SUBSYSTEM==\"block\", PROGRAM==\"/lib/udev/scsi_id -g -u -d \$devnode\",
RESULT==\"`/lib/udev/scsi_id -g -u -d /dev/sd$i`\", SYMLINK+=\"asm-disk$i\", OWNER=\"grid\", GROUP=\"asmadmin\", MODE=
\"0660\""      >> /etc/udev/rules.d/99-oracle-asmdevices.rules
done

--vi /etc/udev/rules.d/99-oracle-asmdevices.rules
KERNEL=="sd?", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d /dev/$parent", RESULT=="36d039ea0002bbff70000013560a1d040", SYMLINK+="asm-ocr", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd?", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d /dev/$parent", RESULT=="36d039ea0002bbb6b0000011c60a1d04c", SYMLINK+="asm-fra", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd?", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d /dev/$parent", RESULT=="36d039ea0002bbff70000013960a1d044", SYMLINK+="asm-data", OWNER="grid", GROUP="asmadmin", MODE="0660"
# 加载rules文件,重新加载udev rule
/sbin/udevadm control --reload

另一个节点相同操作
scp -P22 99-oracle-asmdevices.rules 192.168.xx.xx:/etc/udev/rules.d/
[root@rac02 ~]# /sbin/udevadm control --reload
[root@rac02 ~]# /sbin/udevadm trigger --type=devices --action=change
--如果第二节点加载后不识别,可先partprobe,再udevadm触发即可成功

十七、19C安装包放到grid的home目录解压

LINUX.X64_193000_grid_home.zip

十八、安装cvuqdisk,cvuqdisk存于 GI的home目录下,不安装则检测失败

[root@rac1 rpm]# pwd
/u01/app/19.3.0/grid/cv/rpm
[root@rac1 rpm]# ls
cvuqdisk-1.0.10-1.rpm
[root@rac1 rpm]# rpm -ivh cvuqdisk-1.0.10-1.rpm

下篇,我们正式进入GRID与ORACLE的安装操作。

 


版权声明:本文为weixin_44697776原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。