暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

[O记] 19C RAC安装部署(上)

M小小虾米 2021-08-04
469


一、安装必要的依赖包

    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的安装操作。

                                      文章转载自M小小虾米,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                                      评论