centos7下oracle 19c rac

一、基础环境检查

1.软件环境:

操作系统:centos7.8最小化安装
数据库软件:
LINUX.X64_193000_db_home.zip
LINUX.X64_193000_grid_home.zip
存储:openfiler

2.硬件需求:

oracle rac安装硬件条件:
oracle 19 rac内存最少需要8G。
swap 1-2g 1.5倍
2-8 相等
大于16 16G
/tmp > 1G
software >10G
数据库软件大概要占用空间10g,但是oracle建议至少要预留100G的空间,避免日后软件目录不断扩大导致的空间不足。
19c需要运行在linux7.5以上的系统,7.5以下可能会存在bug

检查命令:

grep MemTotal /proc/meminfo
grep SwapTotal /proc/meminfo
df -h /tmp
df -h
grep "model name" /proc/cpuinfo
cat /etc/redhat-release

3.软件需求:

oracle 19C需要以下RPM依赖包(跟11g有些许不同了!)

yum -y install bc binutils gcc-c++ 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  kmod*

检查是否还有包未安装

rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' bc binutils gcc-c++ 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  kmod kmod-libs kmod-kvdo test|grep not

RHEL7或CentOS7镜像文件中缺少compat-libstdc+±33-3.2.3
如果不使用 Oracle Text 那么可以忽略该包(Redhat 7或CentOS7的安装包中不含该包)。
不过最好还是安装,以免出现一些莫名奇妙的错误。
我们可以网上下载使用rpm安装或者使用外网yum源进行安装。

默认的"Minimal Install",只有基本服务,没有图形化组件,图形化桌面应该选“Server with GUI”.这里可以选择安装图形界面。
#yum groupinstall “X Window System”
#yum -y groupinstall “Server with GUI” \ 安装图形化程序组
启动桌面
#startx \ 启动xwindow 进入图形化桌面
#init 5
另外可以安装常用的工具

yum -y install tree net-tools unzip vnc-server* && yum -y groupinstall "Server with GUI"

3.主机网络规划:

网络配置节点1节点2
主机名racdb1racdb2
public ip192.168.56.11192.168.56.12
private ip192.168.100.10192.168.100.20
vip192.168.56.13192.168.56.14
scan ip192.168.56.15192.168.56.15

3.asm磁盘规划:

MGMT最少需要30G
在这里插入图片描述
非MGMT最少需要2G
在这里插入图片描述

二、配置安装环境

1.修改/etc/hosts文件

配置主机名和ip地址

hostnamectl set-hostname racdb1
nmcli connection modify ens33 ipv4.address 192.168.56.11/24 ipv4.gateway 192.168.56.1 ipv4.method manual autoconnect yes
nmcli connection modify ens34 ipv4.address 192.168.100.10/24 ipv4.method manual autoconnect yes
hostnamectl set-hostname racdb2
nmcli connection modify ens33 ipv4.address 192.168.56.12/24 ipv4.gateway 192.168.56.1 ipv4.method manual autoconnect yes
nmcli connection modify ens34 ipv4.address 192.168.100.20/24 ipv4.method manual autoconnect yes
cat >> /etc/hosts <<EOF
192.168.56.11    racdb1
192.168.56.12    racdb2
192.168.56.13    racdb1-vip
192.168.56.14    racdb2-vip
192.168.100.10   racdb1-priv
192.168.100.20   racdb2-priv
192.168.56.15    racdb-scan
192.168.56.16    racdb-scan
192.168.56.17    racdb-scan
EOF

2.创建用户以及用户组

echo "create groups and users"
groupadd -g 54321 oinstall  
groupadd -g 54322 dba  
groupadd -g 54323 oper  
groupadd -g 54324 backupdba  
groupadd -g 54325 dgdba  
groupadd -g 54326 kmdba  
groupadd -g 54327 asmdba  
groupadd -g 54328 asmoper  
groupadd -g 54329 asmadmin  
groupadd -g 54330 racdba  
  
useradd -u 54321 -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba,oper oracle  
useradd -u 54322 -g oinstall -G asmadmin,asmdba,asmoper,dba grid 
echo "oracle" | passwd --stdin oracle
echo "oracle" | passwd --stdin grid
id oracle
id grid

3.创建目录结构

echo "create the necessary directory"
mkdir -p /u01/app/19.3.0/grid
mkdir -p /u01/app/grid
mkdir -p /u01/app/oracle
mkdir -p /u01/app/oracle/product/19.3.0/db_1
chown -R grid:oinstall /u01
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/
ls -al / |grep u01
ls -al /u01/app/oracle

4.修改用户环境变量

修改oracle用户环境变量:

su - oracle
vim /home/oracle/.bash_profile 
export ORACLE_SID=orcl
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/db_1
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORACLE_TERM=xterm
export PATH=.:$PATH:$HOME/bin:$ORACLE_HOME/bin:/u01/app/19.3.0/grid/bin/
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export LANG=en_US.UTF-8
export NLS_LANG=american_america.AL32UTF8

修改grid用户环境变量:
注意修改节点2环境变量ORACLE_SID=+ASM2

# .bash_profile
 
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
      . ~/.bashrc
fi
 
alias ls="ls -FA"
ORACLE_SID=+ASM1; export ORACLE_SID
JAVA_HOME=/usr/local/java; export JAVA_HOME
ORACLE_BASE=/u01/app/grid; export ORACLE_BASE
ORACLE_HOME=/u01/app/19.3.0/grid; export ORACLE_HOME
ORACLE_PATH=/u01/app/oracle/common/oracle/sql; export ORACLE_PATH
ORACLE_TERM=xterm; export ORACLE_TERM
NLS_DATE_FORMAT="DD-MON-YYYY HH24:MI:SS"; export NLS_DATE_FORMAT
TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN
ORA_NLS11=$ORACLE_HOME/nls/data; export ORA_NLS11
PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin
PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
PATH=${PATH}:/u01/app/common/oracle/bin
export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export CLASSPATH
THREADS_FLAG=native; export THREADS_FLAG
export TEMP=/tmp
export TMPDIR=/tmp
umask 022
export LANG=en_US.UTF-8
export NLS_LANG=american_america.AL32UTF8

5.修改资源限制和核心参数

在这里插入图片描述
在这里插入图片描述

/etc/security/limits.conf

su - root
export time=`date +%Y%m%d%k%M%S`
echo "update limits.conf"
cp /etc/security/limits.conf /etc/security/limits.conf.$time
cat >> /etc/security/limits.conf <<EOF
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
EOF
cat /etc/security/limits.conf

网上的安装文档都需要修改20-nproc.conf这个文件,但是不修改,就能满足前面官方文档的需求,使用rpm安装好像也没有修改该文件。另外nproc的soft limit至少2047就可以了,不知道网上官方文档为什么都是16384

[grid@racdb2 ~]$ ulimit -Hu
16384
[grid@racdb2 ~]$ ulimit -Su
16384

vi /etc/security/limits.d/20-nproc.conf
#注释下面这行
#* soft nproc 1024
#增加下面一行
* - nproc 16384

/etc/pam.d/login

echo "update pam"
cp /etc/pam.d/login /etc/pam.d/login.$time
cat >> /etc/pam.d/login <<EOF
session    required     pam_limits.so
EOF
cat /etc/pam.d/login

/etc/profile

echo "update profile"
cp /etc/profile /etc/profile.$time
cat >> /etc/profile <<EOF
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
EOF
cat /etc/profile

/etc/sysctl.conf
kernel.shmmax一般为内存的一半-1
比如8G内存kernel.shmmax的值为:
8/210241024*1024-1=8589934591
kernel.shmall一般为kernel.shmmax值/4096(Linux共享内存页大小为4KB):
8589934591/4096=2097152

echo "update sysctl.conf"
cp /etc/sysctl.conf /etc/sysctl.conf.$time
cat >> /etc/sysctl.conf <<EOF
kernel.panic_on_oops = 1
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 8589934591
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 = 1048586
EOF
sysctl -p

6.关闭安全防护selinux和firewalld

SELINUX=`grep ^SELINUX= /etc/selinux/config`
if [ $SELINUX != "SELINUX=disabled" ];then
  cp /etc/selinux/config /etc/selinux/config.bak
  sed -i 's/^SELINUX=/#SELINUX=/g' /etc/selinux/config
  sed -i '$a SELINUX=disabled' /etc/selinux/config
else
  echo "SELINUX is already disabled"
fi

cat /etc/selinux/config

修改配置文件需要重启操作系统生效,为避免重启可以先临时修改为宽容模式。
#setenforce 0 
#getenforce
Permissive

systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld

7.其他选项

设置network中NOZEROCONF=yes、关闭avahi、关闭透明大页、关闭numa

设置network中NOZEROCONF=yes

echo "NOZEROCONF=yes" >>/etc/sysconfig/network
cat /etc/sysconfig/network

关闭avahi

systemctl stop avahi-daemon.socket
systemctl disable avahi-daemon.socket
systemctl stop avahi-daemon.service
systemctl disable avahi-daemon.service
systemctl status avahi-daemon.socket
systemctl status avahi-daemon.service
ps -ef|grep avahi-daemon

关闭透明大页THP

在线关闭
[root@oracle1 ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never
[root@oracle1 ~]# cat /sys/kernel/mm/transparent_hugepage/defrag
[always] madvise never
[root@oracle1 ~]# echo "never" > /sys/kernel/mm/transparent_hugepage/enabled
[root@oracle1 ~]# echo "never" > /sys/kernel/mm/transparent_hugepage/defrag


查看thp是否已被禁用
[root@oracle1 ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]
[root@oracle1 ~]# cat /sys/kernel/mm/transparent_hugepage/defrag
always madvise [never]
[always]表示开启
[never]表示关闭
#grep -i HugePages /proc/meminfo
HugePages_Total值为0页表示已被禁用
#cat /proc/sys/vm/nr_hugepages
值为0也表示已禁用

永久关闭
方法一:
#echo 'echo never > /sys/kernel/mm/transparent_hugepage/defrag' >> /etc/rc.d/rc.local
#echo 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' >> /etc/rc.d/rc.local
#chmod +x /etc/rc.d/rc.local 
方法二:
修改grub文件(如果先关闭numa再使用该方法numa的配置会重置)
#cp /etc/default/grub /etc/default/grub.bak
#vi /etc/default/grub
增加一行transparent_hugepage=never到rhgb quiet后面(中间需要空格)
GRUB_CMDLINE_LINUX=
"rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet transparent_hugepage=never

执行命令使其生效
#grub2-mkconfig -o /boot/grub2/grub.cfg

关闭numa

# grubby --default-kernel
/boot/vmlinuz-3.10.0-1127.el7.x86_64
# grubby --info /boot/vmlinuz-3.10.0-1127.el7.x86_64
index=0
kernel=/boot/vmlinuz-3.10.0-1127.el7.x86_64
args="ro crashkernel=auto spectre_v2=retpoline rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=en_US.UTF-8"
root=/dev/mapper/centos-root
initrd=/boot/initramfs-3.10.0-1127.el7.x86_64.img
title=CentOS Linux (3.10.0-1127.el7.x86_64) 7 (Core)
# grubby --args=numa=off --update-kernel /boot/vmlinuz-3.10.0-1127.el7.x86_64
# grubby --info /boot/vmlinuz-3.10.0-1127.el7.x86_64
index=0
kernel=/boot/vmlinuz-3.10.0-1127.el7.x86_64
args="ro crashkernel=auto spectre_v2=retpoline rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=en_US.UTF-8 numa=off"
root=/dev/mapper/centos-root
initrd=/boot/initramfs-3.10.0-1127.el7.x86_64.img
title=CentOS Linux (3.10.0-1127.el7.x86_64) 7 (Core)
# reboot
# grubby --info /boot/vmlinuz-3.10.0-1127.el7.x86_64
# grep -i numa /var/log/dmesg
[    0.000000] Command line: BOOT_IMAGE=/vmlinuz-3.10.0-1127.el7.x86_64 root=/dev/mapper/centos-root ro crashkernel=auto spectre_v2=retpoline rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=en_US.UTF-8 numa=off
[    0.000000] NUMA turned off
[    0.000000] Kernel command line: BOOT_IMAGE=/vmlinuz-3.10.0-1127.el7.x86_64 root=/dev/mapper/centos-root ro crashkernel=auto spectre_v2=retpoline rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=en_US.UTF-8 numa=off

三、rac相关配置

1.关闭时间同步ntpd服务

禁止ntp服务

systemctl disable ntpd.service
systemctl stop ntpd.service
mv /etc/ntp.conf /etc/ntp.conf.orig
systemctl status ntpd
还要删除以下文件:(两个节点都需要操作,这里没有安装)
rm /var/run/ntpd.pid
rm: cannot lstat `/var/run/ntpd.pid': No such file or directory
此文件保存了 NTP 后台程序的 pid。

关闭chronyd服务
原来安装rac的时候关闭NTP服务,用Oracle自带的Ctss服务,检查就可以通过了,
但是19c在中,只关闭ntp服务还不够,还需要关闭chronyd服务
chronyd是增加的一种新的ntp服务。

mv /etc/chrony.conf /etc/chrony.conf.bak
systemctl stop chronyd
systemctl disable chronyd
systemctl status chronyd

时区设置:

查看时区设置(如果不是显示Asia/Shanghai则进行时区设置)
timedatect

查找中国时区的完整名称 :
timedatectl list-timezones |grep Shanghai
Asia/Shanghai

时区设置为Asia/Shanghai:
timedatectl set-timezone Asia/Shanghai

2.解压oracle、grid软件。配置用户等效性(这里可以不用手动配置,可以直接在安装图形界面点击setup进行自动配置)

1.使用命令检查ssh是否已经安装

rpm  -qa  --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n"| grep ssh

2.解压oracle软件

unzip LINUX.X64_193000_db_home.zip -d /u01/app/oracle/product/19.3.0/db_1
chown -R oracle:oinstall /u01/app/oracle/product/19.3.0/db_1
unzip LINUX.X64_193000_grid_home.zip -d /u01/app/19.3.0/grid
chown -R oracle:oinstall /u01/app/19.3.0/grid

3.查看脚本路径。

[root@racdb1 ~]# find / -name 'sshUserSetup.sh'
/u01/app/19.3.0/grid/oui/prov/resources/scripts/sshUserSetup.sh
/u01/app/19.3.0/grid/deinstall/sshUserSetup.sh
/u01/app/oracle/product/19.3.0/db_1/oui/prov/resources/scripts/sshUserSetup.sh
/u01/app/oracle/product/19.3.0/db_1/deinstall/sshUserSetup.sh

4.使用脚本添加用户等效性

添加grid用户的等效性
su - grid
cd /u01/app/19.3.0/grid/deinstall/
./sshUserSetup.sh -hosts "racdb1 racdb2" -user grid -advanced
(根据提示分别连续输入3个yes,两个空密码,4次grid用户的密码)

添加oracle用户的等效性
su - oracle
cd /u01/app/oracle/product/19.3.0/db_1/deinstall/
./sshUserSetup.sh -hosts "racdb1 racdb2" -user oracle -advanced
(根据提示分别连续输入3个yes,两个空密码,4次oracle用户的密码)

3.进行用户等效性检查
分别使用grid和oracle用户在两个节点测试。
测试节点 1,2 的 SSH 连通性。
确保2个node都有相互的结点信息。两机相互执行。
ssh racdb1 date
ssh racdb2 date
ssh racdb1-priv date
ssh racdb2-priv date
都不允许出现交互界面,即不出现要输入密码,确保两个节点的都执行以上四条指令。(如出现要输入yes/no亦可)
切换至rac2 执行
ssh racdb1 date
ssh racdb2 date
ssh racdb1-priv date
ssh racdb2-priv date

3.asm

详见《使用OpenFiler实现共享存储》

四.开始安装grid

1.使用grid用户执行命令安装。

cd /u01/app/19.3.0/grid/
 ./gridSetup.sh

2.创建新的集群

在这里插入图片描述

3.配置一个独立的集群

在这里插入图片描述

4.配置集群名称以及scan名称

在这里插入图片描述

5.设置节点互信

添加节点
在这里插入图片描述
设置节点互信
在这里插入图片描述

测试节点互信不需要输入密码
在这里插入图片描述

6.网络选择

12c 版本的集群,除了基本的公网(Public)和私网(private)之外,由于flex ASM 的出现,我们还需要一个网络来负责在节点之间传递ASM的元数据(meta data)。由于ASM的元数据数据量很小,所以,对于大部分的系统可以选择集群的私网和ASM使用相同的网络。也就是选择ASM&Private。
对于19c 版本的集群存储如果使用asm存储,则是强制使用flex ASM 了。
不然下一步无法选择flex ASM 。
在这里插入图片描述

7.选择flex ASM存储

在这里插入图片描述

8.根据需要选择是否安装GIMR

如果需要安装,并和ocr、仲裁磁盘放在一起,asm磁盘最少需要30G的空间。详见asm规划。
在这里插入图片描述

9.选择ocr和仲裁磁盘所在的asm磁盘。

在这里插入图片描述

10.指定asm用户密码

在这里插入图片描述

11.选择是否安装ipmi

这里保持默认。
在这里插入图片描述

12.选择是否安装em

这里保持默认。
在这里插入图片描述

13 选择操作系统组

保持默认
在这里插入图片描述

14.确认base目录

在这里插入图片描述
14.确认inventory
在这里插入图片描述

15.这里可以选择使用root用户自动执行脚本

在这里插入图片描述

16.先决条件检查

在这里插入图片描述
点击fix&check again会自动安装cvuqdisk软件包
在这里插入图片描述
chronyd警告:
原来安装rac的时候关闭NTP服务,用Oracle自带的Ctss服务,检查就可以通过了,
但是19c在中,只关闭ntp服务还不够,还需要关闭chronyd服务
chronyd是增加的一种新的ntp服务。

在两个节点分别关闭chronyd服务

mv /etc/chrony.conf /etc/chrony.conf.bak
systemctl stop chronyd
systemctl disable chronyd
systemctl status chronyd

PRVE-0426:/dev/shm less than the require
详细信息最小应为2048

在两个节点分别修改/dev/shm大小为2G
查看系统版本

[root@racdb1 ~]# cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core)

查看/dev/shm当前大小位1.8G

[root@racdb1 ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 1.8G     0  1.8G   0% /dev
tmpfs                    1.8G     0  1.8G   0% /dev/shm
tmpfs                    1.8G   13M  1.8G   1% /run
tmpfs                    1.8G     0  1.8G   0% /sys/fs/cgroup
/dev/mapper/centos-root   46G   23G   24G  49% /
/dev/sda1               1014M  158M  857M  16% /boot
tmpfs                    368M     0  368M   0% /run/user/0

fstab没有shm的配置

[root@racdb1 ~]# cat /etc/fstab

#
# /etc/fstab
# Created by anaconda on Wed Jul 20 09:16:16 2022
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=ce850ab9-4965-466d-920d-504ab6ec3e25 /boot                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0

修改配置文件下次重启依然有效

vim /etc/fstab
新增如下行
tmpfs                   /dev/shm                tmpfs   defaults,size=2G        0 0

修改当前配置马上生效

fuser -km /dev/shm
umount /dev/shm
mount -t tmpfs -o mode=1777,nosuid,nodev,strictatime,size=2G tmpfs /dev/shm
df -h|grep shm
tmpfs                    2.0G     0  2.0G   0% /dev/shm

再次检查
在这里插入图片描述
我们使用/etc/host解析,没有使用dns/nis
这里/etc/resolv.conf和dns/nis的falied可以忽略

scanname只配置了一个ip(官方scanname最少需要3个ip)
这里scanname警告可以忽略

物理内存警告
因为是虚拟机这里只分配了4G内存,先忽略。

17.点击install开始安装

在这里插入图片描述
出现INS-20802点击ok忽略这是因为scanname没有使用DNS解析造成的。
在这里插入图片描述

在这里插入图片描述
点击yes继续
在这里插入图片描述
安装完成点击close关闭。
在这里插入图片描述

18.备份root.sh

Oracle 建议您在完成安装后备份 root.sh 脚本。如果您在同一 Oracle 主目录下安装其他产品,则安装程序在安装过程中会更新现有 root.sh 脚本的内容。如果您需要原先 root.sh 脚本中包含的信息,可通过 root.sh 文件副本进行恢复。
两个节点都备份:

[grid@racdb1 grid]$ cd /u01/app/19.3.0/grid/
[grid@racdb1 grid]$ cp root.sh root.sh_rac1.after_install_20220819
[grid@racdb2 grid]$ cd /u01/app/19.3.0/grid/
[grid@racdb2 grid]$ cp root.sh root.sh_rac1.after_install_20220819

19.安装后的检查

检查CRS状态

[grid@racdb1 ~]$ crsctl check crs
CRS-4638: Oracle High Availability Services is online
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online

检查集群节点

[grid@racdb1 ~]$ olsnodes -n
racdb1  1
racdb2  2

检查两个节点上的 Oracle TNS 监听器进程

[grid@racdb1 ~]$ ps -ef | grep lsnr | grep -v 'grep' | grep -v 'ocfs' | awk '{print $9}'
ASMNET1LSNR_ASM
LISTENER_SCAN1
LISTENER
[grid@racdb2 ~]$ ps -ef | grep lsnr | grep -v 'grep' | grep -v 'ocfs' | awk '{print $9}'
ASMNET1LSNR_ASM
LISTENER

检查时间

[grid@racdb1 ~]$ crsctl check ctss
CRS-4701: The Cluster Time Synchronization Service is in Active mode.
CRS-4702: Offset (in msec): 0

[grid@racdb2 ~]$ crsctl check ctss
CRS-4701: The Cluster Time Synchronization Service is in Active mode.
CRS-4702: Offset (in msec): 0

检查asm功能

[grid@racdb1 ~]$ srvctl status asm -a
ASM is running on racdb1,racdb2
ASM is enabled.
ASM instance +ASM1 is running on node racdb1
Number of connected clients: 1
Client names: racdb1:_OCR:racdb-cluster
ASM instance +ASM2 is running on node racdb2
Number of connected clients: 1
Client names: racdb2:_OCR:racdb-cluster

检查oracle集群表ORC

[grid@racdb1 ~]$ ocrcheck
Status of Oracle Cluster Registry is as follows :
         Version                  :          4
         Total space (kbytes)     :     491684
         Used space (kbytes)      :      84136
         Available space (kbytes) :     407548
         ID                       :  767969121
         Device/File Name         :       +OCR
                                    Device/File integrity check succeeded

                                    Device/File not configured

                                    Device/File not configured

                                    Device/File not configured

                                    Device/File not configured

         Cluster registry integrity check succeeded

         Logical corruption check bypassed due to non-privileged user

检查表决磁盘

[grid@racdb1 ~]$ crsctl query css votedisk
##  STATE    File Universal Id                File Name Disk group
--  -----    -----------------                --------- ---------
 1. ONLINE   36749694d8d64fdbbf9ee72c7bd072cf (/dev/asm-disk2) [OCR]
Located 1 voting disk(s).

五.创建 ASM 磁盘组

1.grid用户执行asmca
在这里插入图片描述

六.安装oracle数据库软件

1.使用oracle用户执行命令进行安装

cd $ORACLE_HOME
 ./runInstaller

2.选择只安装数据库软件在这里插入图片描述
3.选择rac数据库安装
在这里插入图片描述
4.进行等效性设置
在这里插入图片描述
5.选择企业版
在这里插入图片描述
6.指定安装路径
在这里插入图片描述
7.可以选择使用root用户自动执行数据库脚本
在这里插入图片描述
8.先决条件检查
忽略下面警告
在这里插入图片描述
9.点击install开始安装
在这里插入图片描述
在这里插入图片描述
点击yes自动执行root脚本在这里插入图片描述
点击close完成安装
在这里插入图片描述
crsctl status res -t

七.使用dbca建库

1.使用oracle用户执行dbca建库。

使用dbca创建,创建之前确保已安装的所有服务(Oracle TNS 监听器、Oracle Clusterware 进程等)正在运行。
Grid用户登录执行:crsctl status res -t
12c开始crs_stat命令已不再支持。

执行dbca建库
在这里插入图片描述
选择高级
在这里插入图片描述
保持默认

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

指定闪回磁盘,开启归档
在这里插入图片描述

保持默认
在这里插入图片描述
根据实际需要配置内存,进程数,字符集等参数
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
根据实际需要指定管理选项
在这里插入图片描述

指定统一的密码
在这里插入图片描述
保持默认
在这里插入图片描述
先决条件检查:
忽略下面警告
在这里插入图片描述
检查数据库各种设置参数,如无问题点击finish开始安装
在这里插入图片描述
等待安装结束。(使用笔记本vmworkstaion安装,建库花费了2个小时多一点。)
在这里插入图片描述
安装完成,点击close关闭。
在这里插入图片描述

2.建库后的检查

[grid@racdb1 ~]$ crsctl check crs
CRS-4638: Oracle High Availability Services is online
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
[grid@racdb1 ~]$ crsctl check ctss
CRS-4701: The Cluster Time Synchronization Service is in Active mode.
CRS-4702: Offset (in msec): 0
[grid@racdb1 ~]$ ocrcheck
Status of Oracle Cluster Registry is as follows :
         Version                  :          4
         Total space (kbytes)     :     491684
         Used space (kbytes)      :      84224
         Available space (kbytes) :     407460
         ID                       :  767969121
         Device/File Name         :       +OCR
                                    Device/File integrity check succeeded

                                    Device/File not configured

                                    Device/File not configured

                                    Device/File not configured

                                    Device/File not configured

         Cluster registry integrity check succeeded

         Logical corruption check bypassed due to non-privileged user
[grid@racdb1 ~]$ crsctl query css votedisk
##  STATE    File Universal Id                File Name Disk group
--  -----    -----------------                --------- ---------
 1. ONLINE   36749694d8d64fdbbf9ee72c7bd072cf (/dev/asm-disk2) [OCR]
Located 1 voting disk(s).
[grid@racdb1 ~]$ olsnodes -n
racdb1  1
racdb2  2

检查集群状态

crsctl stat res -t
[oracle@racdb1 orcl]$ srvctl status database -d orcl
Instance orcl1 is running on node racdb1
Instance orcl2 is running on node racdb2
[oracle@racdb1 orcl]$ srvctl status listener
Listener LISTENER is enabled
Listener LISTENER is running on node(s): racdb1,racdb2
[oracle@racdb1 orcl]$  srvctl status nodeapps
VIP 192.168.56.13 is enabled
VIP 192.168.56.13 is running on node: racdb1
VIP 192.168.56.14 is enabled
VIP 192.168.56.14 is running on node: racdb2
Network is enabled
Network is running on node: racdb1
Network is running on node: racdb2
ONS is enabled
ONS daemon is running on node: racdb1
ONS daemon is running on node: racdb2
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值