Oracle 19C 集群RAC安装(基于nfs共享存储)

目录

环境介绍

目录

环境介绍

一、配置NFS共享存储

1、登录机器查看信息

二、配置RAC节点信息(两节点都配置)

1、配置/etc/hosts

2、关闭防火墙

3、关闭SELINUX防火墙

4、配置yum源安装先决条件

(1)配置yum源

(2)安装桌面

(3)安装先决条件

5、配置节点内核参数

6、配置limits.conf

7、配置login

8、配置环境变量

9、配置相应的用户及组

10、配置相关文件目录

(1)创建Oracle Inventory 目录

(2)创建GI HOME目录

(3)创建Oracle Base目录

(4)创建Oracle RDBMS Home目录

11、配置Oracle和grid用户环境变量

(1)配置grid用户环境变量

(2)配置oracle用户环境变量

12、配置节点之间的互信

(1)上传互信脚本

(2)做互信

13、配置创建ASM磁盘组

(1)服务端

(2)客户端

14、配置关闭透明大页(官方建议)

(1)备份修改grub文件

(2)查看是否关闭成功

三、安装GRID软件

1、上传grid安装包

2、解压安装包

3、开始安装

4、检查集群

(1)安装rlwrap

(2)关闭HAIP

四、安装DATABASE

        1、上传database安装包

        2、解压安装包

        3、开始安装

五、创建DATABASE(建库)

        1、创建DATADG

        2、dbca建库

六、验证


一、配置NFS共享存储

1、登录机器查看信息

二、配置RAC节点信息(两节点都配置)

1、配置/etc/hosts

2、关闭防火墙

3、关闭SELINUX防火墙

4、配置yum源

A、安装桌面

B、安装先决条件

5、配置节点内核参数/etc/sysctl.conf

6、配置/etc/security/limits.conf

7、配置/etc/pam.d/login

8、配置环境变量

9、配置相应的用户及组

10、配置相关文件目录

11、配置Oracle和grid用户环境变量

12、配置节点之间的互信

13、配置创建ASM磁盘组

14、配置关闭透明大页

三、安装GRID软件


环境介绍

首先先介绍下环境:

  1. 三台虚拟机
  2. 规划出8个IP(这里我使用的是NFS共享存储,所以就需要多一台虚拟机和IP作为共享存储服务器)
  3. 虚拟机环境均为BCLinux8.6
  4. 虚拟机配置,你就自己看着办吧!反正做实验的话你就小点,但是别低于最低要求就行。(1)RAC服务器配置
    rac集群
    主机名testrac1testrac2
    RAC-PUBLIC-IPens3192.168.1.160192.168.1.161
    RAC-PRIVATE-IPens610.0.102.9510.0.102.96
    RAC-VIP192.168.1.65192.168.1.66
    RAC-SCAN-IP192.168.1.67
    (2)存储服务器配置
    共享存储400G
    xz-xxxjsb-orale2
    192.168.1.29
    NFS共享存储
    /asm_databaseBC86test86

一、配置NFS共享存储

        1、登录机器查看信息

       (1)接下来先使用该机器的vdc、vdd磁盘做集群需要的ASM共享存储和归档共享存储来共享给Oracle RAC节点使用。这里我是先将这两个盘做成LVM管理的方式(便于后期扩展维护),然后再共享使用。

        A、使用vgcreate vg02 /dev/vdd创建一个卷组vg02,这语句的意思是使用/dev/vdd这个块设备创建一个名为vg02的卷组,当然这里的vg02、vg03只是 卷组 的名称,假如你是其它的名称,更改即可

        B、使用lvcreate -n lv02 -l 100%free vg02创建一个逻辑卷lv02,这语句的意思是创建一个名为lv02的逻辑卷并把名为vg02的卷组的空间全部给到这个逻辑卷

          C、将这个lv02、lv03挂载到某个目录下进行共享,我这边挂载的是/asm_databaseBC86test86test(ASM共享存储)和/asm_databaseBC86test86test_oraclerac_arch(Oracle的共享归档日志存储)。先格式化,因为我这边文件系统是XFS的,所以现在我也格式化成XFS。

                a、在共享存储机器上创建这两个文件夹

            使用mkdir /asm_databaseBC86test86test /asm_databaseBC86test86test_oraclerac_arch创建这两个文件夹

                b、将刚才的创建的两个逻辑卷分别挂载到这两个文件夹

                格式化两个逻辑卷:这里格式化你需要先查看你的系统的文件系统是什么格式(就是你的系统的系统盘,使用df -Th查看即可,系统盘大部分都是什么sda、vda等)              

                从上面的图片可以看出你的文件系统是xfs,当然使用了其它的文件系统可以会出现ext2、ext3及ext4哪些,那后面我都统一使用xfs的文件系统了,使用xfs.mkfs.xfs /dev/vg02/lv02 和 xfs.mkfs.xfs /dev/vg03/lv03格式化。

                使用blkid查看是否格式化成功

格式化成功后开始挂载到/asm_databaseBC86test86test和/asm_databaseBC86test86test_oraclerac_arch共享使用。编辑etc/fstab添加下面这行,当然我喜欢使用磁盘的UUID去挂载,/asm_databaseBC86test这个可以不用管,这个是搭建的另一台RAC的共享存储。然后保存退出执行mount -a挂载全部,使用lsblk查看是否挂载。

        D、配置NFS共享目录,让目标节点机器可以识别到

               a、首先先安装nfs服务端软件,我这边是安装好了的,很简单的,就搭建一个yum源安装 nfs-utilsrpcbindyum install -y nfs-utils rpcbind即可 ,安装包依赖的问题只要你挂载的镜像和你安装的系统版本一样就可以不用管,如果不一样那么你就需要解决所缺的依赖包问题,下面是我这台nfs共享服务器的yum配置,记得安装后启动这两个服务并加入开机启动,然后开始配置nfs。

              b、编辑/etc/exports这个文件,上面那个不用管,那是另一套RAC使用的,至此,NFS共享存储配置完毕,到后面RAC节点配置共享存储时还需要到NFS共享存储机器上操作,后面会说。

二、配置RAC节点信息(两节点都配置)

注:这边配置都是在两个节点上配置,如果你有三个或者以上节点,那就每个节点都配置,接下来的配置截图我就只截一个节点,但是配置的时候记得在每个节点上都需要配置。

1、配置/etc/hosts

编辑/etc/hosts文件,将下面内容追加至该文件

#RAC-PUBLIC-IP
192.168.1.160 testrac1
192.168.1.161 testrac2

#RAC-PRIVATE-IP
10.0.102.95 testrac1-priv
10.0.102.96 testrac2-priv

#RAC-VIP
192.168.1.65 testrac1-vip
192.168.1.66 testrac2-vip

#RAC-SCAN-IP
192.168.1.67 testrac-scan

2、关闭防火墙

        直接查看防火墙状态,一下可以看出没有iptables,firewalld没启动

3、关闭SELINUX防火墙

        使用cat /etc/selinux/config | grep SELINUX查看SELINUX参数为disabled,那么SELINUX防火墙就是关闭的。如果打开的SELINUX参数值是enforcing那你就改成disabled。

4、配置yum源安装先决条件

        这边我采用的yum源配置是本地,如果你有yum源服务器就直接配置使用即可

(1)配置yum源

A、BCLinux8.6的镜像是准备好提前传上去的。

B、使用mount BCLinux-R8-U6-Server-x86_64-230414.iso /mnt/ 临时挂载到mnt目录。这里是临时挂载,要想永久挂载你就需要写到/etc/fstab中。

C、在/etc/yum.repos.d/创建yum源配置文件bc.repo,将下面内容写入保存。这里是编辑(vi)一个以repo为后缀名的文件。

[bc1]

name=bc1

baseurl=file:///mnt/AppStream

gpgcheck=0

enabled=1

[bc2]

name=bc2

baseurl=file:///mnt/BaseOS/

gpgcheck=0

enabled=1

D、使用yum clean all清除之前的yum缓存,使用yum repolist查看可用的yum源

(2)安装桌面

当然我这个机器是最小话安装,如果你的机器安装时候有桌面的话就可以省略这一步

        A、使用yum groupinstall "Server with GUI" -y安装桌面(为什么安装桌面,因为我们后面是通过桌面去安装集群软件哪些的,记得安装的时候是两个节点都安装),安装完后执行systemctl set-default graphical然后重启机器验证是否安装桌面成功,记得重启验证桌面后把ISO重新挂载挂载一下。

        B、验证桌面是否安装完成

        节点1验证桌面,机器重启后查看

        节点2验证桌面,机器重启后查看

(3)安装先决条件

Linux7的话就只需要安装linux7的即可,如果你的系统是Linux8的系统,那么你就直接把Linux7和Linux8的包全部安装了,因为我是做的测试,我是先安装的Linux7,后面查出问题后才重新安装的Linux8的安装包。

(a)linux7安装以下

yum install -y bc

yum install -y compat-libcap1*

yum install -y compat-libcap*

yum install -y binutils

yum install -y compat-libstdc++-33

yum install -y elfutils-libelf

yum install -y elfutils-libelf-devel

yum install -y gcc

yum install -y gcc-c++

yum install -y glibc-2.5

yum install -y glibc-common

yum install -y glibc-devel

yum install -y glibc-headers

yum install -y ksh libaio

yum install -y libaio-devel

yum install -y libgcc

yum install -y libstdc++

yum install -y libstdc++-devel

yum install -y make

yum install -y sysstat

yum install -y unixODBC

yum install -y unixODBC-devel

yum install -y binutils*

yum install -y compat-libstdc*

yum install -y elfutils-libelf*

yum install -y gcc*

yum install -y glibc*

yum install -y ksh*

yum install -y libaio*

yum install -y libgcc*

yum install -y libstdc*

yum install -y make*

yum install -y sysstat*

yum install -y libXp*

yum install -y glibc-kernheaders

yum install -y net-tools-*

yum install -y iscsi-initiator-utils

yum install -y udev

yum install -y xclock*

(b)linux 8安装以下

yum -y  install bc
yum -y  install binutils
yum -y  install compat-libcap1
yum -y  install compat-libstdc++-33
yum -y  install dtrace-modules
yum -y  install dtrace-modules-headers
yum -y  install dtrace-modules-provider-headers
yum -y  install dtrace-utils
yum -y  install elfutils-libelf
yum -y  install elfutils-libelf-devel
yum -y  install fontconfig-devel
yum -y  install glibc
yum -y  install glibc-devel
yum -y  install ksh
yum -y  install libaio
yum -y  install libaio-devel
yum -y  install libdtrace-ctf-devel
yum -y  install libXrender
yum -y  install libXrender-devel
yum -y  install libX11
yum -y  install libXau
yum -y  install libXi
yum -y  install libXtst
yum -y  install libgcc
yum -y  install librdmacm-devel
yum -y  install libstdc++
yum -y  install libstdc++-devel
yum -y  install libxcb
yum -y  install make
yum -y  install net-tools
yum -y  install nfs-utils
yum -y  install python
yum -y  install python-configshell
yum -y  install python-rtslib
yum -y  install python-six
yum -y  install targetcli
yum -y  install smartmontools
yum -y  install sysstat
yum -y  install unixODBC
yum -y  install libnsl
yum -y  install libnsl.i686
yum -y  install libnsl2
yum -y  install libnsl2.i686

5、配置节点内核参数

编辑/etc/sysctl.conf,将下面参数添加到该文件

vi /etc/sysctl.conf

kernel.shmmax = 16656781312

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

net.core.rmem_default = 262144

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048586

fs.file-max = 6815744

kernel.shmall = 4066597

net.ipv4.tcp_max_tw_buckets = 6000

net.ipv4.ip_local_port_range = 9000 65500

net.ipv4.tcp_tw_recycle = 0

net.ipv4.tcp_tw_reuse = 1

#net.core.somaxconn = 262144

net.core.netdev_max_backlog = 262144

net.ipv4.tcp_max_orphans = 262144

net.ipv4.tcp_max_syn_backlog = 262144

net.ipv4.tcp_synack_retries = 2

net.ipv4.tcp_syn_retries = 1

net.ipv4.tcp_fin_timeout = 1

net.ipv4.tcp_keepalive_time = 30

net.ipv4.tcp_keepalive_probes = 6

net.ipv4.tcp_keepalive_intvl = 5

net.ipv4.tcp_timestamps = 0

fs.aio-max-nr = 1048576

net.ipv4.conf.all.rp_filter = 2

net.ipv4.conf.default.rp_filter = 2

注意:

kernel.shmall 的值可以通过如下命令计算:

# echo "`grep MemTotal /proc/meminfo | awk '{print $2}'` * 1024 / `getconf PAGESIZE`" | bc

kernel.shmmax 的值可以通过如下命令计算:

# echo "`grep MemTotal /proc/meminfo | awk '{print $2}'` * 1024" | bc

做完之后,生成系统参数  sysctl -p

6、配置limits.conf

编辑/etc/security/limits.conf,将以下参数添加至该文件

vim /etc/security/limits.conf

oracle   soft   nofile    1024

oracle   hard   nofile    65536

oracle   soft   nproc    16384

oracle   hard   nproc    16384

oracle   soft   stack    10240

oracle   hard   stack    32768

oracle   hard   memlock    134217728

oracle   soft   memlock    134217728

grid   soft   nofile    1024

grid   hard   nofile    65536

grid   soft   nproc    16384

grid   hard   nproc    16384

grid   soft   stack    10240

grid   hard   stack    32768

grid   hard   memlock    134217728

grid   soft   memlock    134217728

7、配置login

编辑 /etc/pam.d/login,将以下内容添加至该文件

vim /etc/pam.d/login

session required /lib/security/pam_limits.so

#session required pam_limits.so

8、配置环境变量

编辑 /etc/profile,将以下内容添加至该文件

vim /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

fi

生成环境变量  source /etc/profile

9、配置相应的用户及组

在两个节点增加用户与组:

groupadd -g 601 oinstall

groupadd -g 602 dba

groupadd -g 603 oper

groupadd -g 604 backupdba

groupadd -g 605 dgdba

groupadd -g 606 kmdba

groupadd -g 607 asmdba

groupadd -g 608 asmoper

groupadd -g 609 asmadmin

useradd -u 601 -g oinstall -G asmadmin,asmdba,dba,asmoper grid

useradd -u 602 -g oinstall -G dba,backupdba,dgdba,kmdba,asmadmin,oper,asmdba oracle

echo 'grid' | passwd --stdin grid

echo 'oracle' | passwd --stdin oracle

10、配置相关文件目录

(1)创建Oracle Inventory 目录

以root用户,创建Oracle Inventory 目录

mkdir -p /u01/app/oraInventory

chown -R grid:oinstall /u01/app/oraInventory

chmod -R 775 /u01/app/oraInventory

(2)创建GI HOME目录

以root用户,创建GI HOME目录

mkdir -p /u01/app/grid

mkdir -p /u01/app/19c/grid

chown -R grid:oinstall /u01/app/grid

chmod -R 775 /u01/app/grid

chown -R grid:oinstall /u01/app/19c

chmod -R 775 /u01/app/19c/

(3)创建Oracle Base目录

以root用户,创建Oracle Base目录

mkdir -p /u01/app/oracle

mkdir /u01/app/oracle/cfgtoollogs

chown -R oracle:oinstall /u01/app/oracle

chmod -R 775 /u01/app/oracle

(4)创建Oracle RDBMS Home目录

以root用户,创建Oracle RDBMS Home目录

mkdir -p /u01/app/oracle/product/19c/db_1

chown -R oracle:oinstall /u01/app/oracle/product/19c/db_1

chmod -R 775 /u01/app/oracle/product/19c/db_1

11、配置Oracle和grid用户环境变量

(1)配置grid用户环境变量

A、先切到grid用户,编辑~/.bash_profile

su - grid   ##这个是从root用户切到grid

vim ~/.bash_profile

PS1="[`whoami`@`hostname`:"'$PWD]$'

export PS1

umask 022

export TMP=/tmp

export TMPDIR=$TMP

export ORACLE_SID=+ASM1

export ORACLE_TERM=xterm;

export ORACLE_BASE=/u01/app/grid

export ORACLE_HOME=/u01/app/19c/grid

export NLS_LANG="AMERICAN_AMERICA.AL32UTF8"

export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"

export TNS_ADMIN=$ORACLE_HOME/network/admin

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib  

export PATH=.:$PATH:$HOME/bin:$ORACLE_HOME/bin

export THREADS_FLAG=native

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 asmcmd'

B、生成环境变量

补充:两个节点的ORACLE_SID名称是不能一样的:

ora19crac1节点叫做+ASM1

ora19crac2节点叫做+ASM2

(2)配置oracle用户环境变量

A、先切到oracle用户,编辑~/.bash_profile

su - oracle  ##切换到oracle用户

vim ~/.bash_profile

PS1="[`whoami`@`hostname`:"'$PWD]$'

export PS1

export TMP=/tmp

export TMPDIR=$TMP

export ORACLE_HOSTNAME=rac1

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=/u01/app/oracle/product/19c/db_1

export ORACLE_SID=orcl1

export NLS_LANG="AMERICAN_AMERICA.AL32UTF8"

export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"

export TNS_ADMIN=$ORACLE_HOME/network/admin

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib  

export PATH=.:$PATH:$HOME/bin:$ORACLE_BASE/product/19c/db_1/bin:$ORACLE_HOME/bin

export 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'

B、生成环境变量source ~/.bash_profile

补充:两个节点的ORACLE_SID名称是不能一样的:

ora19crac1节点叫做orcl1

ora19crac2节点叫做orcl2

12、配置节点之间的互信

(1)上传互信脚本

设置grid用户互信,上传互信设置脚本(两个节点都上传,我这里我只接了一张节点1 的图)

(2)做互信

        A、grid用户互信配置

sh sshUserSetup.sh -user grid -hosts "testrac1 testrac2" -advanced -noPromptPassphrase

提示让你输入两个节点的grid用户密码,输入完后即可。

至此两节点grid用户的ssh互信配置完毕。

        B、oracle用户互信配置

sh sshUserSetup.sh -user oracle -hosts "testrac1 testrac2" -advanced -noPromptPassphrase

提示让你输入两个节点的oracle用户密码

至此两节点oracle用户的ssh互信配置完毕。

(3)节点互信测试

13、配置创建ASM磁盘组

(1)服务端

        登录NFS共享服务器(xz-xxxjsb-orale2),我这边创建asm1-asm8可以根据你自己的需要创建大小,先创建 /asm_databaseBC86test/oracleasm/disks(mkdir -p /asm_databaseBC86test/oracleasm/disks)这个目录。这里我创建了8个ASM磁盘组,前面5个ASM1-ASM5是安装GRID是需要给到CRSDG,后两个ASM6-ASM8是创建数据库是给到DATADG的

A、创建ASM磁盘组(CRSDG)

dd if=/dev/zero of=/asm_databaseBC86test/oracleasm/disks/asm1 bs=8192k count=2560

dd if=/dev/zero of=/asm_databaseBC86test/oracleasm/disks/asm2 bs=8192k count=2560

dd if=/dev/zero of=/asm_databaseBC86test/oracleasm/disks/asm3 bs=8192k count=2560

dd if=/dev/zero of=/asm_databaseBC86test/oracleasm/disks/asm4 bs=8192k count=2560

dd if=/dev/zero of=/asm_databaseBC86test/oracleasm/disks/asm5 bs=8192k count=2560

B、创建ASM磁盘组(DATADG)

dd if=/dev/zero of=/asm_databaseBC86test/oracleasm/disks/asm6 bs=8192k count=3840

dd if=/dev/zero of=/asm_databaseBC86test/oracleasm/disks/asm7 bs=8192k count=3840

dd if=/dev/zero of=/asm_databaseBC86test/oracleasm/disks/asm8 bs=8192k count=3840

(2)客户端

A、登录两个节点安装nfs软件,挂载共享存储盘[asm1----asm8])

我这里之前安装好了的我是直接启动的服务,如果没有的话,那就安装即可

B、登录Oracle节点操作,挂载NFS共享存储。

a、查看共享盘

        让Oracle节点识别到该8块共享盘盘。执行showmount -e 192.168.1.29(这个IP是NFS共享服务器IP),下面已经可以看到我们共享的目录/asm_databaseBC86test了

b、挂载(永久性挂载)

       创建挂载目录,这边为了方便识别创建的目录也和NFS共享存储服务器一样是asm_databaseBC86test86test/asm_databaseBC86test86test_oraclerac_arch,创建此目录

在/etc/fstab文件中写入192.168.1.29:/asm_databaseBC86test /asm_databaseBC86test nfs rw,bg,hard,nointr,tcp,vers=3,timeo=600,rsize=32768,wsize=32768,actimeo=0 0 0,然后执行mount -a或者重启看看是否自动挂载。

我这边是重启测试的已经正常挂载了,如果是错误的话,那么你的主机重启之后就无法正常重启。

C、设置共享存储权限及属组

在任意一个节点设置就行

设置属组

chown -R grid:asmadmin /asm_databaseBC86test/oracleasm/disks/asm1

chown -R grid:asmadmin /asm_databaseBC86test/oracleasm/disks/asm2

chown -R grid:asmadmin /asm_databaseBC86test/oracleasm/disks/asm3

chown -R grid:asmadmin /asm_databaseBC86test/oracleasm/disks/asm4

chown -R grid:asmadmin /asm_databaseBC86test/oracleasm/disks/asm5

chown -R grid:asmadmin /asm_databaseBC86test/oracleasm/disks/asm6

chown -R grid:asmadmin /asm_databaseBC86test/oracleasm/disks/asm7

chown -R grid:asmadmin /asm_databaseBC86test/oracleasm/disks/asm8

设置权限

chmod -R 660 /asm_databaseBC86test/oracleasm/disks/asm1

chmod -R 660 /asm_databaseBC86test/oracleasm/disks/asm2

chmod -R 660 /asm_databaseBC86test/oracleasm/disks/asm3

chmod -R 660 /asm_databaseBC86test/oracleasm/disks/asm4

chmod -R 660 /asm_databaseBC86test/oracleasm/disks/asm5

chmod -R 660 /asm_databaseBC86test/oracleasm/disks/asm6

chmod -R 660 /asm_databaseBC86test/oracleasm/disks/asm7

chmod -R 660 /asm_databaseBC86test/oracleasm/disks/asm8

14、配置关闭透明大页(官方建议)

(1)备份修改grub文件

cp /etc/default/grub /etc/default/grub.bak

vi /etc/default/grub增加一行transparent_hugepage=never到尾部,grub2-mkconfig -o /boot/grub2/grub.cfg

(2)查看是否关闭成功

执行cat /sys/kernel/mm/transparent_hugepage/enabled(临时关闭)看到字样always madvise [never]成功,或grep AnonHugePages /proc/meminfo

AnonHugePages:         0 kB---------->>>返回值若是零代表关闭,

建议重新启动。我试过了 好像不重启不行

三、安装GRID软件

1、上传grid安装包

将GRID安装包上传至节点1,进入/u01/app/19c/grid目录并给该压缩包指定属组,chown -R grid:oinstall LINUX.X64_193000_grid_home.zip(上传的方式自选)

2、解压安装包

su - grid

cd $ORACLE_HOME

unzip LINUX.X64_193000_grid_home.zip

这是解压完后的样子:

3、开始安装

执行./gridSetup.sh开始安装

在执行后报错 /u01/app/19c/grid/perl/bin/perl: error while loading shared libraries: libnsl.so.1: cannot open shared object file: No such file or directory,意思是因系统版本不同导致缺少库文件安装库包 dnf install libnsl设置版本兼容性export CV_ASSUME_DISTID=RHEL7.6后即可正常执行./gridSetup.sh。

解决

弄完后重新执行安装脚本./gridSetup.sh

安装截图:

这里scan name根据你实际的填写(节点中/etc/hosts中的scan name)

点击add添加节点2

点击ssh connectivity 测试grid用户的互通信  

这报错说的是虽然说的是ssh性能缓慢导致,但是导致这种就是证明两节点的grid用户的互信设置没成功,那么现在就去两个节点上测试一下看看结果如何。

但是在两个节点上测试互信都是正常的。这时我就很懵逼了,于是去Oracle的官网查了查说是Oracle就不支持BCLinux,这不是完犊子了吗?我还是不相信,后面打了甲骨文400问了一下,说是支持的版本只有以下版本

我还是不行,后面问了下度娘说是只要是在ssh版本大于8的系统上安装都会出现类似的情况,那这个咋弄呢。然后后面去贴吧上看了,云和的人说把版本降低至7即可,这个不太现实,而且降低之后会有很多ssh漏洞,又需要重新升级回来。后面又重新去度娘上咨询了一波才看到有人说这个是openssh的SCP私钥引起的。那这个时候就去解决下这个问题

mv /usr/bin/scp /usr/bin/scp.orig

vi /usr/bin/scp

/usr/bin/scp.orig -T $*

chmod 555 /usr/bin/scp

ssh-keygen -p -N "" -m pem -f /home/grid/.ssh/id_rsa

    然后在继续安装

这里多等会儿

测试完后点击Setup

下面就是选择磁盘组了,我们前面不是创建了8个asm磁盘嘛!前面的asm1到asm5用于CRSDG(grid),asm6到asm8用于DATADG(oracle建库)。

点击OK后Disk Path就会去读你的磁盘组路径,将这些磁盘读出来然后选择asm1-asm5下一步

下面是设置sys/system密码,这里选择下面的

下面这几步默认即可

从这里开始因为安装过程中有人把机器关机了,重启机器后不知道什么窗口就变小了。所以我截图就截小点,如果看不清你就在网上搜下教程。

安装预检查,这里会检测你安装oracle需要安装哪些东西,如果缺少,那你就安装即可。

第一个报错Swap Size: 说的是你的Swap空间太小,安装oracle的预期值是15G,以下是报错内容,这个可以忽略,但是我这边会直接解决。

Swap Size - This is a prerequisite condition to test whether sufficient total swap space is available on the system.

  Check Failed on Nodes: [testrac2,  testrac1]  

Verification result of failed node: testrac2

Expected Value

 : 15.4538GB (1.6204512E7KB)

Actual Value : 2GB (2097148.0KB) 

Details:  - PRVF-7573 : Sufficient swap size is not available on node "testrac2" [Required = 15.4538GB (1.6204512E7KB) ; Found = 2GB (2097148.0KB)]  - Cause:  The swap size found does not meet the minimum requirement.  - Action:  Increase swap size to at least meet the minimum swap space requirement.

Back to Top  

Verification result of failed node: testrac1

Expected Value

 : 15.4538GB (1.6204512E7KB)

Actual Value

 : 2GB (2097148.0KB)

 Details:

 - 

PRVF-7573 : Sufficient swap size is not available on node "testrac1" [Required = 15.4538GB (1.6204512E7KB) ; Found = 2GB (2097148.0KB)]  - Cause:  The swap size found does not meet the minimum requirement.  - Action:  Increase swap size to at least meet the minimum swap space requirement.

Back to Top  

解决Swap不足,我这里我扩的是20G,同样的在2节点执行,

free -g

dd if=/dev/zero of=/home/swap bs=2M count=10240

mkswap /home/swap

swapon /home/swap

echo "/home/swap swap swap defaults 0 0" >>/etc/fstab

第二个报错是说你需要安装这个包,那就去安装,记得是两个节点都安装:

节点1安装

节点2安装

第三个报错是说的RAC-PRIVATE-IP没有通,这是我刚开始的规划的问题,我这个是虚拟机,所以我弄好了网络就通了

弄了网络后

第四个报错安装集群的时候要检测DNS,我们没有使用,所以将resolv.conf文件删除即可,也可以忽略。

第五个报错我们可以直接忽略

第六个报错是说需要在两个节点上运行avahi-daemon,那去启动下这个服务

第七个报错,意思是需要root权限,然而MOS上并没有说明哪个进程或者文件需要root权限,这里可以先忽略,后面再做检查。

第八个报错,这个报错实际是可忽略的

第九个报错,在/etc/sysconfig/network末尾添加NOZEROCONF=yes

第十个报错,这个点进去查看后是提示的连通性的问题,因为我之前处理过RAC-PRIVATE-IP不连通的问题,所以这个是那个问题导致的,我既然处理过一会儿重新检查即可正常

第十一、十二个报错,这个报错是指刚才没有安装cvuqdisk-1.0.10-1这个包,因为ASM验证需要这个包,但是刚才已经安装了,暂时忽略。假如一会儿重新检查后还是出现的话再去处理,然后剩下那个报错(DNS/NIS)可以直接忽略

然后重新检查

检查完只剩这几个忽略安装即可

选择IgnoreAll,然后选择右下角Next

这个是提示你忽略了一些安装,问你是否继续安装点击是下一步即可

这里就只能等它跑完了,慢慢等吧!很慢。

这里是让你分别在节点1和节点2上运行以下脚本,记得是运行完第一个在运行第二个

第一个脚本执行

第二个脚本执行

节点1执行

节点2执行

执行完后回到安装的哪里点击OK继续安装

这个报错直接跳过,点击OK继续安装

至此,集群软件安装完了。

4、检查集群

登录到任意节点去验证

这就证明你按装好了,但是这里面的节点2的ASM没起来,现在去看看什么问题,先登录节点2查看ASM进程

然后我们就去登录节点2,在执行sqlplus的时候报了没有rlwrap这个命令,这个命令是在环境变里面的,现在我们就去安装这个命令

(1)安装rlwrap

yum -y install readline*

在去下载一个rlwrap的tar包,我这边使用的是rlwrap-0.30.tar.gz的包,你也可以下载其他版本的。

然后就是解压安装

(2)关闭HAIP

安装以后,我们还要关闭一个叫haip的,就是你查看IP是会出现一个169.254.*.*的那张网卡

A、先停掉集群

B、关闭HAIP

/u01/app/19c/grid/bin/crsctl start crs -excl -nocrs

/u01/app/19c/grid/bin/crsctl stop res ora.asm -init

/u01/app/19c/grid/bin/crsctl modify res ora.cluster_interconnect.haip -attr "ENABLED=0" -init

/u01/app/19c/grid/bin/crsctl modify res ora.asm -attr "START_DEPENDENCIES='hard(ora.cssd,ora.ctssd)pullup(ora.cssd,ora.ctssd)weak(ora.drivers.acfs)',STOP_DEPENDENCIES='hard(intermediate:ora.cssd)'" -init

C、按照以上的在到节点2执行

D、启动集群

查看之后已经没有了之前HAIP那个段的IP了,就证明关闭成功

这些弄完之后再查看一下集群状态,两个节点ASM都起来了,节点1和节点2都有ASM进程了

至此,集群软件安装完成并且正常了

四、安装DATABASE

        1、上传database安装包

            将安装包上传至/u01/app/oracle/product/19c/db_1,进入/u01/app/oracle/product/19c/db_1目录并给该压缩包指定属组,chown -R oracle:oinstall LINUX.X64_193000_db_home.zip

          2、解压安装包

            使用oracle账户登录testrac1,进到oracle家目录,cd $ORACLE_HOME,使用unzip LINUX.X64_193000_db_home.zi进行解压

解压后的样子如下:

        3、开始安装

以下默认安装即可:

这个是你忽略了它报出来了哪些问题,他问你是否跳过。我们这里本来就是忽略的,所以直接跳过即可。

去每个节点上执行以下脚本

至此rac-database安装完成。

五、创建DATABASE(建库)

        1、创建DATADG

        使用grid用户登录testrac1节点1,执行asmca创建DATADG

准备创建ASM的DATADG好为创建数据库做准备

我这里选择的是我之前创建的3个磁盘组(asm6-asm8),当然你也可以只选择一个或者两个

创建出来之后就可以退出了

        2、dbca建库

        创建好DATADG之后,然后开始建库,使用oracle用户登录testrac1

        开始建库

这里设置的SID就是你在oracle用户变量的里面设置的ORACLE_SID

这里我先关掉,后面需要使用再开即可

解决一下这两个包,其它的直接忽略安装,我是直接忽略的,安装好像没出问题

至此,建库完毕,剩下的就是验证了

六、验证

使用grid用户登录节点1执行crsctl stat res -t查看集群状态,这里面会显示你的db状态

[grid@testrac1.novalocal:/home/grid]$
[grid@testrac1.novalocal:/home/grid]$crsctl stat res -t 
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details       
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
               ONLINE  ONLINE       testrac1                 STABLE
               ONLINE  ONLINE       testrac2                 STABLE
ora.chad
               ONLINE  ONLINE       testrac1                 STABLE
               ONLINE  ONLINE       testrac2                 STABLE
ora.net1.network
               ONLINE  ONLINE       testrac1                 STABLE
               ONLINE  ONLINE       testrac2                 STABLE
ora.ons
               ONLINE  ONLINE       testrac1                 STABLE
               ONLINE  ONLINE       testrac2                 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
      1        ONLINE  ONLINE       testrac1                 STABLE
      2        ONLINE  ONLINE       testrac2                 STABLE
      3        ONLINE  OFFLINE                               STABLE
ora.CRSDG.dg(ora.asmgroup)
      1        ONLINE  ONLINE       testrac1                 STABLE
      2        ONLINE  ONLINE       testrac2                 STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.DATADG.dg(ora.asmgroup)
      1        ONLINE  ONLINE       testrac1                 STABLE
      2        ONLINE  ONLINE       testrac2                 STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       testrac2                 STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  ONLINE       testrac1                 Started,STABLE
      2        ONLINE  ONLINE       testrac2                 Started,STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE  ONLINE       testrac1                 STABLE
      2        ONLINE  ONLINE       testrac2                 STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.cvu
      1        ONLINE  ONLINE       testrac2                 STABLE
ora.orcl.db
      1        ONLINE  ONLINE       testrac1                 Open,HOME=/u01/app/o
                                                             racle/product/19c/db
                                                             _1,STABLE
      2        ONLINE  ONLINE       testrac2                 Open,HOME=/u01/app/o
                                                             racle/product/19c/db
                                                             _1,STABLE
ora.qosmserver
      1        ONLINE  ONLINE       testrac2                 STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       testrac2                 STABLE
ora.testrac1.vip
      1        ONLINE  ONLINE       testrac1                 STABLE
ora.testrac2.vip
      1        ONLINE  ONLINE       testrac2                 STABLE
--------------------------------------------------------------------------------
[grid@testrac1.novalocal:/home/grid]$

这里弄完,你就可以使用三方软件登录了。

  • 11
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值