在CentOS7.6下搭建Oracle19c RAC集群

  • 1.准备阶段
    • 1.1 虚拟环境准备
    • 1.2 Oracle版本包准备
  • 2.服务器配置阶段
    • 2.1.配置IP
    • 2.2.停止不相关服务
    • 2.3.配置服务器
    • 2.4.配置系统参数
    • 2.5.配置环境变量
    • 2.6.配置ASM共享磁盘
    • 2.7.配置用户互信
  • 3.grid图形界面安装
  • 4.database图形界面安装
  • 5.自定义创建和安装数据库
  • 卸载RAC集群

(所有步骤,标黄并注明仅在oracle01节点执行的,oracle02不用执行,其他步骤2个节点都要执行;图形化安装仅在oracle01节点执行)

1.准备阶段

1.1 虚拟环境准备

Oracle RAC集群至少需要2台服务器,hostname设置为oracle01和oracle02。
步骤1:创建oracle01节点,本次的配置CPU(15)、内存(16GB)、硬盘(300GB)、虚拟网卡(2张)。


步骤1.1:本次安装操作系统版本选择的是:CentOS-7-x86_64-DVD-1804.iso;
时区选择上海;
软件选择:“Server with GUI”(因为后面会用到界面安装,所以直接选择了带GUI的服务器);
hostname配置为oracle01;
操作系统盘选择自己划分区(swap分区根据oracle节点数来确定,所以我直接选择了40GB作为swap分区,其他分区自定义,大于50GB肯定没问题)


步骤1.2:安装完操作系统并重启后,根据引导自行配置即可。
步骤2:创建oracle02节点(按照步骤1创建相同配置的虚拟服务器即可),为了避免虚拟机各种冲突,尽量不要克隆。

1.2 Oracle版本包准备

进入Oracle官网:https://www.oracle.com/downloads/,选择下载19C版本

在Linux x86-64,选择see all

下载LINUX.X64_193000_db_home.zip和LINUX.X64_193000_grid_home.zip即可

2.服务器配置阶段

2.1.配置IP

Oracle需要2个网段,先将每台服务器的2张虚拟网卡配置好Oracle所需的Public IP和Pirvate IP(网段自定义,确保同网段2台服务器能通信,公网我选择的192网段,私网选择的10网段)

2.2.停止不相关服务

步骤1:删除GUI Server创建的虚拟网卡

//不删除也不会影响,但也没有什么用。
ifconfig virbr0 down
brctl delbr virbr0
nmcli device delete virbr0-nic
systemctl mask libvirtd.service
systemctl disable libvirtd.service

步骤2:关闭防火墙

//防火墙会影响Oracle的通信,内网测试可以关闭
systemctl stop firewalld
systemctl disable firewalld
sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
setenforce 0
getenforce

步骤3:停止avahi-daemon服务

//我的机器没有无线设备,只作为文件服务器、下载服务器使用,所以应该关闭avahi-daemon
systemctl stop avahi-daemon.socket
systemctl stop avahi-daemon.service
systemctl disable avahi-daemon.socket
systemctl disable avahi-daemon.service

步骤4:停止时间同步服务

//停止其他时间同步,用Oracle自带的Ctss服务
rm -rf /var/run/chronyd.pid
rm -rf /etc/chrony.conf
rm -rf /etc/ntp.conf
systemctl stop ntpd.service
systemctl disable ntpd
systemctl stop chronyd.service
systemctl disable chronyd.service

2.3.配置服务器

步骤1:配置host

//将Oracle所需的2个公网ip,2个公网虚拟ip,2个私网ip,1个扫描ip和对应解析名新增到/etc/hosts文件中
cat >> /etc/hosts << EOF
#public ip
192.168.225.20 oracle01
192.168.225.21 oracle02
#vip
192.168.225.22 oracle01-vip
192.168.225.23 oracle02-vip
#private ip
10.0.100.20 oracle01-priv
10.0.100.21 oracle02-priv
#scan ip
192.168.225.24 oracle-scan
EOF

步骤2:挂载本地镜像源(如果没有则使用公网也可以,本地安装效率快)

//挂载本地iso到mnt
mount CentOS-7-x86_64-DVD-1804.iso -o loop /mnt

步骤2.1:配置yum

//修改yum配置
在/etc/yum.repos.d/CentOS-Base.repo和其他yum配置文件中,关闭所有的源,加上enabled=0
在vi /etc/yum.repos.d/CentOS-Media.repo中,改为:
[c7-media]
name=CentOS-$releasever - Media
baseurl=file:///mnt/
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

步骤2.2:清理yum和cache文件

//清理yum和chache文件
yum clean all
rm -rf /var/cache/yum/

步骤2.3:重新生成yum cache

//生成yum的cache,成功会返回Metadata Cache Created。
yum makecache

步骤3:安装Oracle依赖包

//生成yum的cache,成功会返回Metadata Cache Created。
yum -y install bc gcc gcc-c++  binutils  make gdb cmake  glibc ksh elfutils-libelf elfutils-libelf-devel fontconfig-devel glibc-devel libaio libaio-devel libXrender libXrender-devel libX11 libXau sysstat libXi libXtst libgcc librdmacm-devel libstdc++ libstdc++-devel libxcb net-tools nfs-utils compat-libcap1 compat-libstdc++  smartmontools  targetcli python python-configshell python-rtslib python-six  unixODBC unixODBC-devel iscsi-initiator-utils device-mapper device-mapper-multipath unbound bind-utils

步骤3.1:

//步骤3中,会有1个包安装失败,No package compat-libstdc++ available,需要单独下载,并手动安装
rpm -ivh compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm

步骤4:创建用户组和oracle、grid用户

//用户组和用户的编号可以自定义,确保全流程配置一致即可,用户名为Oracle默认用户,建议不要改
groupadd -g 11001 oinstall
groupadd -g 11002 dba
groupadd -g 11003 oper
groupadd -g 11004 backupdba
groupadd -g 11005 dgdba
groupadd -g 11006 kmdba
groupadd -g 11007 asmdba
groupadd -g 11008 asmoper
groupadd -g 11009 asmadmin
groupadd -g 11010 racdba
useradd -u 11011 -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba,oper oracle
useradd -u 11012 -g oinstall -G asmadmin,asmdba,asmoper,dba grid
//创建完成后,修改grid和oracle用户密码,
passwd grid
passwd oracle

步骤5:创建安装目录

//安装目录可以自定义名字,确保后后面的环境变量一致即可。
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
mkdir -p /u01/app/oraInventory

步骤6:上传Oracel grid和db包(仅oracle01节点执行)

//上传并解压grid安装包到/u01/app/19.0.0/grid
cd /u01/app/19.0.0/grid
unzip LINUX.X64_193000_grid_home.zip
//上传并解压db安装包到/u01/app/oracle/product/19.0.0/db_1
cd /u01/app/oracle/product/19.0.0/db_1
unzip LINUX.X64_193000_db_home.zip

步骤7:修改目录所属用户和权限

chown -R grid:oinstall /u01/app/grid
chown -R grid:oinstall /u01/app/19.0.0/grid
chown -R oracle:oinstall /u01/app/oracle
chown -R grid:oinstall /u01/app/oraInventory
chmod -R 775 /u01/

步骤8:安装依赖包

//oracle01节点安装依赖包
cd /u01/app/19.0.0/grid/cv/rpm
rpm -ivh cvuqdisk-1.0.10-1.rpm
//拷贝安装包到oracle002节点,然后安装
scp cvuqdisk-1.0.10-1.rpm oracle02:~/
rpm -ivh cvuqdisk-1.0.10-1.rpm

2.4.配置系统参数

步骤1:修改系统限制

//修改系统限制
vi /etc/security/limits.d/20-nproc.conf
//修改如下,注释第一行,新增第二行
#*          soft    nproc     4096
* - nproc 16384

步骤2:新增用户限制

//系统用户限制,在最后新增
vi /etc/security/limits.conf
//系统用户限制,在最后新增如下配置
# End of file
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 4194304
oracle soft memlock 4194304

步骤3:新增登录要求

//修改登录要求
vi /etc/pam.d/login
//新增以下配置
session required pam_limits.so

步骤4:修改系统参数

//修改系统参数
vi /etc/sysctl.conf
//新增以下参数
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 18446744073692774399
kernel.shmmax = 18446744073692774399
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 = 1048576
//生效配置
sysctl -p

步骤5:修改shm参数并重新挂载

//修改shm挂载
cat>>/etc/fstab<<EOF
tmpfs /dev/shm tmpfs defaults,size=8G 0 0
EOF
//重新挂载
mount -o remount /dev/shm

步骤6:新增网络参数

//新增网络参数
cat >>/etc/sysconfig/network<<EOF
NOZEROCONF=yes
EOF

2.5.配置环境变量

步骤1:配置oracel01节点grid和oracle用户的环境变量(仅在oracel01节点执行)

//使用root用户添加grid用户的环境变量
cat>>/home/grid/.bash_profile<<EOF
export ORACLE_SID=+ASM1;
export ORACLE_BASE=/u01/app/grid;
export ORACLE_HOME=/u01/app/19.0.0/grid;
export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS";
export PATH=.:\$PATH:\$HOME/bin:\$ORACLE_HOME/bin
export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=\$ORACLE_HOME/JRE:\$ORACLE_HOME/jlib:\$ORACLE_HOME/rdbms/jlib
EOF
//使用root用户添加oracel用户的环境变量
cat>>/home/oracle/.bash_profile<<EOF
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=\$ORACLE_BASE/product/19.0.0/db_1
export ORACLE_SID=orcl1
export PATH=\$ORACLE_HOME/bin:\$PATH
export LD_LIBRARY_PATH=\$ORACLE_HOME/bin:/bin:/usr/bin:/usr/local/bin
export CLASSPATH=\$ORACLE_HOME/JRE:\$ORACLE_HOME/jlib:\$ORACLE_HOME/rdbms/jlib
EOF

步骤2:配置oracel02节点grid和oracle用户的环境变量(仅在oracel02节点执行)

//使用root用户添加grid用户的环境变量
cat>>/home/grid/.bash_profile<<EOF
export ORACLE_SID=+ASM2;
export ORACLE_BASE=/u01/app/grid;
export ORACLE_HOME=/u01/app/19.0.0/grid;
export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS";
export PATH=.:\$PATH:\$HOME/bin:\$ORACLE_HOME/bin
export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=\$ORACLE_HOME/JRE:\$ORACLE_HOME/jlib:\$ORACLE_HOME/rdbms/jlib
EOF
//使用root用户添加oracel用户的环境变量
cat>>/home/oracle/.bash_profile<<EOF
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=\$ORACLE_BASE/product/19.0.0/db_1
export ORACLE_SID=orcl2
export PATH=\$ORACLE_HOME/bin:\$PATH
export LD_LIBRARY_PATH=\$ORACLE_HOME/bin:/bin:/usr/bin:/usr/local/bin
export CLASSPATH=\$ORACLE_HOME/JRE:\$ORACLE_HOME/jlib:\$ORACLE_HOME/rdbms/jlib
EOF

注意事项:
1、环境变量目录和2.3步骤5中创建的目录一致
2、oracle01和oracle02的环境变量,只有ORACLE_SID不同,其他是相同的

2.6.配置ASM共享磁盘

ASM共享磁盘可以用块存储、文件存储来进行,本次介绍块+多路径的方式
步骤1:生成多路径文件(在准备阶段已经安装了多路径软件)

//生成多路径配置文件,完成后在/etc目录会生成multipath.conf文件
mpathconf --enable

步骤2:配置好iscsi后,通过iscsi发现并挂载

//发现iscsi target
iscsiadm -m discovery -t st -p 192.168.225.xxx
//登录iscsi target
iscsiadm -m node -T iqn.2020-09.com.xitcorp.iscsi-gw:d30374a8baf002d5 -l
//挂载后可以看到多路径盘信息
[root@oracle01 ~]# multipath -v2
create: mpatha (36001405468bde81e3944c35848625e16) undef LIO-ORG ,TCMU device
size=100G features='0' hwhandler='0' wp=undef
|-+- policy='service-time 0' prio=1 status=undef
| `- 36:0:0:0 sdp 8:240 undef ready running
|-+- policy='service-time 0' prio=1 status=undef
| `- 37:0:0:0 sdd 8:48  undef ready running
`-+- policy='service-time 0' prio=1 status=undef`- 38:0:0:0 sdb 8:16  undef ready running
create: mpathb (36001405498b0207cda1446f850cdd37a) undef LIO-ORG ,TCMU device
size=100G features='0' hwhandler='0' wp=undef
|-+- policy='service-time 0' prio=1 status=undef
| `- 36:0:0:1 sdv 65:80 undef ready running
|-+- policy='service-time 0' prio=1 status=undef
| `- 37:0:0:1 sdo 8:224 undef ready running
`-+- policy='service-time 0' prio=1 status=undef`- 38:0:0:1 sdm 8:192 undef ready running
。。。
。。。(本次选用了5个100G,2个50G的盘,只截了部分图)

步骤3:获取每个盘的wwid(仅在oracle01节点执行)

//获取多路径挂载后的盘wwid
[root@oracle01 ~]# /usr/lib/udev/scsi_id -g -u -d /dev/mapper/mpatha
36001405468bde81e3944c35848625e16
[root@oracle01 ~]# /usr/lib/udev/scsi_id -g -u -d /dev/mapper/mpathb
36001405498b0207cda1446f850cdd37a
[root@oracle01 ~]# /usr/lib/udev/scsi_id -g -u -d /dev/mapper/mpathc
3600140593eb97c74b6740488640e7b5a
[root@oracle01 ~]# /usr/lib/udev/scsi_id -g -u -d /dev/mapper/mpathd
360014055f48f221e924423081432d7cd
[root@oracle01 ~]# /usr/lib/udev/scsi_id -g -u -d /dev/mapper/mpathe
3600140597bee7912b7d41458cab76768
[root@oracle01 ~]# /usr/lib/udev/scsi_id -g -u -d /dev/mapper/mpathf
36001405be8f0263331b47eaaabd9d8bf
[root@oracle01 ~]# /usr/lib/udev/scsi_id -g -u -d /dev/mapper/mpathg
36001405ec165e4b2a62472ea76da94b7

步骤4:配置多路径,重命名盘名称

vi /etc/multipath.conf
//在文件中新增以下配置,将步骤3中的wwid填写,并重命名以asm开头的盘,方便后面识别
multipaths {multipath {wwid 3600140557e3a25bdb064dbaada14ce49alias asm-diska}multipath {wwid 36001405483c0db2aa2d4776b16544980alias asm-diskb}multipath {wwid 36001405851a6d2bb0094d93957c8ddcbalias asm-diskc}multipath {wwid 36001405786ecaf67723466296ae705f1alias asm-diskd}multipath {wwid 3600140594850c836e2f4370a7575c779alias asm-diske}multipath {wwid 36001405cc1b00d307bc44bbb49c1bb53alias asm-diskf}multipath {wwid 360014050a31dd38a3f34f12a3afaef1calias asm-diskg}
}

步骤5:将重命名的盘添加udev规则和所属用户、用户组

//将重命名的盘添加udev规则和所属用户、用户组
cat >> /etc/udev/rules.d/12-dm-permissions.rules << EOF
ENV{DM_NAME}=="asm-diska",OWNER:="grid",GROUP:="asmadmin",MODE:="660",SYMLINK+="mapper/$env{DM_NAME}"
ENV{DM_NAME}=="asm-diskb",OWNER:="grid",GROUP:="asmadmin",MODE:="660",SYMLINK+="mapper/$env{DM_NAME}"
ENV{DM_NAME}=="asm-diskc",OWNER:="grid",GROUP:="asmadmin",MODE:="660",SYMLINK+="mapper/$env{DM_NAME}"
ENV{DM_NAME}=="asm-diskd",OWNER:="grid",GROUP:="asmadmin",MODE:="660",SYMLINK+="mapper/$env{DM_NAME}"
ENV{DM_NAME}=="asm-diske",OWNER:="grid",GROUP:="asmadmin",MODE:="660",SYMLINK+="mapper/$env{DM_NAME}"
ENV{DM_NAME}=="asm-diskf",OWNER:="grid",GROUP:="asmadmin",MODE:="660",SYMLINK+="mapper/$env{DM_NAME}"
ENV{DM_NAME}=="asm-diskg",OWNER:="grid",GROUP:="asmadmin",MODE:="660",SYMLINK+="mapper/$env{DM_NAME}"
EOF

步骤6:重启多路径和udev,并检查配置生效

//生成多路径配置文件,完成后在/etc目录会生成multipath.conf文件
systemctl start multipathd.service
/sbin/udevadm trigger --type=devices --action=change
multipath -F
multipath -v2
//刷新后,多路径名称变成了asm-diska,如下:
[root@oracle01 ~]# multipath -l
asm-diskb (36001405498b0207cda1446f850cdd37a) dm-5 LIO-ORG ,TCMU device
size=100G features='0' hwhandler='0' wp=rw
|-+- policy='service-time 0' prio=0 status=active
| `- 36:0:0:1 sdv 65:80 active undef unknown
|-+- policy='service-time 0' prio=0 status=enabled
| `- 37:0:0:1 sdo 8:224 active undef unknown
`-+- policy='service-time 0' prio=0 status=enabled`- 38:0:0:1 sdm 8:192 active undef unknown
asm-diska (36001405468bde81e3944c35848625e16) dm-4 LIO-ORG ,TCMU device
size=100G features='0' hwhandler='0' wp=rw
//查看系统挂载情况,多路径盘的名称已经改变,并且已经连接到dm,用户和用户组权限正确
ll /dev/mapper/asm*
lrwxrwxrwx. 1 root root 7 Sep  4 17:58 /dev/mapper/asm-diska -> ../dm-4
lrwxrwxrwx. 1 root root 7 Sep  4 17:58 /dev/mapper/asm-diskb -> ../dm-5
lrwxrwxrwx. 1 root root 7 Sep  4 17:58 /dev/mapper/asm-diskc -> ../dm-6
lrwxrwxrwx. 1 root root 7 Sep  4 17:58 /dev/mapper/asm-diskd -> ../dm-7
lrwxrwxrwx. 1 root root 7 Sep  4 17:58 /dev/mapper/asm-diske -> ../dm-8
lrwxrwxrwx. 1 root root 7 Sep  4 17:58 /dev/mapper/asm-diskf -> ../dm-9
lrwxrwxrwx. 1 root root 8 Sep  4 17:58 /dev/mapper/asm-diskg -> ../dm-10
ll /dev/ | grep asm*
crw-------.  1 root root      10,  62 Sep  4 17:58 crash
brw-rw----.  1 grid asmadmin 253,  10 Sep  4 17:58 dm-10
brw-rw----.  1 grid asmadmin 253,   4 Sep  4 17:58 dm-4
brw-rw----.  1 grid asmadmin 253,   5 Sep  4 17:58 dm-5
brw-rw----.  1 grid asmadmin 253,   6 Sep  4 17:58 dm-6
brw-rw----.  1 grid asmadmin 253,   7 Sep  4 17:58 dm-7
brw-rw----.  1 grid asmadmin 253,   8 Sep  4 17:58 dm-8
brw-rw----.  1 grid asmadmin 253,   9 Sep  4 17:58 dm-9

注意:
1、ASM共享磁盘,必须保证oracle01和oracle02同时挂载成功
另外2种ASM磁盘创建方式:
通过iscsi挂载:

//获取盘uuid
/lib/udev/scsi_id -g -u -d /dev/sdd
//新建文件:/etc/udev/rules.d/99-oracle-asmdevices.rules,并写入已挂载的盘信息
KERNEL=="nvme*", PROGRAM=="/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="25cd2e422af250100",SYMLINK+="asm_data04", OWNER="grid", GROUP="asmadmin", MODE="0660"
//udev重载
udevadm control --reload
udevadm trigger

通过ceph rbd挂载:

//新建文件:/etc/udev/rules.d/50-rbd.rules,并写入已挂载的rbd信息
KERNEL=="rbd0", ENV{DEVTYPE}=="disk", PROGRAM="/usr/bin/ceph-rbdnamer %k", SYMLINK+="asm_ocr_rbd", OWNER="grid", GROUP="asmadmin", MODE="0660"
//udev重载
udevadm control --reload
udevadm trigger

2.7.配置用户互信

步骤1:配置2个节点的grid用户互信

//登入grid用户
su - grid
mkdir ~/.ssh
//以下2个生成密钥的命令,需要输入的参数直接回车即可
ssh-keygen -t rsa
ssh-keygen -t dsa
//生成认证文件
cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys
cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys

步骤1.2:配置2个节点的grid用户互信(仅在oracle01节点执行)

//将oracle01的所有密钥和认证文件拷贝给oracle02节点,单独执行,每条命令会输入密码
ssh oracle02 cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys
ssh oracle02 cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys oracle02:~/.ssh/authorized_keys

步骤1.3:测试grid用户互信

//第一次ssh的话会添加host输入yes,不需要输入密码
[grid@oracle01 ~]$ ssh oracle01 date;ssh oracle02 date;ssh oracle01-priv date;ssh oracle02-priv date
Mon Sep  7 10:10:10 CST 2020
Mon Sep  7 10:10:11 CST 2020
Mon Sep  7 10:10:11 CST 2020
Mon Sep  7 10:10:12 CST 2020
//测试完成后退出grid用户
exit

步骤2:配置oracle用户互信(与步骤1一致进行配置和检查即可)

//登录oracle用户
su - oracle
mkdir ~/.ssh
chmod 700 ~/.ssh
ssh-keygen -t rsa
ssh-keygen -t dsa
cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys
cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys
//以下仅在节点1执行,单独执行,每条命令会输入密码
ssh oracle02 cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys
ssh oracle02 cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys oracle02:~/.ssh/authorized_keys
//用oracle用户在2个节点测试(第一次执行连接会添加host输入yes)
[oracle@oracle002 ~]$ ssh oracle01 date;ssh oracle02 date;ssh oracle01-priv date;ssh oracle02-priv date
Wed Sep  2 15:41:14 CST 2020
Wed Sep  2 15:41:13 CST 2020
Wed Sep  2 15:41:14 CST 2020
Wed Sep  2 15:41:15 CST 2020
//完成后退出oracle用户
exit

3.grid图形界面安装

步骤1:登录图形化界面,使用grid用户启动安装,进入(仅在oracle01节点执行)

cd /u01/app/19.0.0/grid/
./gridSetup.sh
//如果启动失败,则设置DISPALY环境变量,根据不同用户设置不同变量,通过xdpyinfo查看当前用户的显示名字
export DISPLAY=:0
或者
export DISPLAY=localhost:0


步骤2:选择配置新集群

步骤3:选择创建标准集群

步骤4:集群名字可自定义,scan Name必须和host里面的scan ip的名字保持一致,端口建议不要更改。

步骤5:将oracle02节点添加进列表

步骤6:配置ssh连接,配置好grid密码后,先setup

步骤7:配置网络,19版本需要私网需要选择ASM&Private

步骤8:选择Oracle Flex ASM for storage

步骤9:选择默认NO

步骤10:选择External作为共享磁盘,并修改发现路径为/dev/mapper/asm*,发现了最开始配置的iscsi磁盘,选择5块100G磁盘(共有7块,这里用到大小相同的5块)

步骤11:设置oracle SYS和SYSADM的密码(不符合的话会有提示)

步骤12:选择不使用IPMI

步骤12:默认不勾选

步骤13:因为最开始已经创建了,所以保持默认用户即可

步骤14:配置oracle软件路径和安装路径,保持默认即可(之前已创建)

步骤15:保持metadata目录,保持默认即可(之前已创建)

步骤16:允许root自动进行配置(这一步做了就不需要手动再执行其他脚本了)

步骤17:检查完成后,因为没有用nds所以dns可以不管,resolv.conf也可以不管;single client access 那么是因为我们只配置了1个scan ip,所以也可以不管。 选择ignore all进行下一步即可

步骤18:安装过程中,出现需要root用户的提示,选择yes(这一步会持续较长的时间)
步骤18:安装100%时,有提示校验失败,因为我们之前忽略过dns等,所以不用管,直接ok下一步即可(但是没有到100%出错,需要根据错误进行修复),点击skip,然后close

4.database图形界面安装

步骤1:进入cd /u01/app/oracle/product/19.0.0/db_1目录,启动安装(仅oracle01节点执行)

su - oracle
cd /u01/app/oracle/product/19.0.0/db_1
./runInstaller

步骤2:选择只安装软件,后面的库自己创建

步骤3:选择安装RAC集群

步骤4:选择节点,并配置oracle用户的ssh连接,setup并test后,进入下一步

步骤5:选择安装企业版本

步骤6:oracle的安装目录,默认即可。

步骤7:oracle用户配置,默认即可

步骤8:允许使用root用户自动配置

步骤9:检查完成后,出现和grid一样的错误,dns和单个scan ip,直接忽略即可。

步骤10:安装过程较久(20多分钟),允许root执行脚本,安装完成

5.自定义创建和安装数据库

步骤1:使用oracle用户,dbca启动图形化界面,选择创建一个数据库

步骤2:选择高级配置

步骤3:选择RAC集群,使用admin安装

步骤4:选择2台oracle,进行下一步

步骤5:自定义数据库名和实例名,关闭容器数据库

步骤6:选择数据库的安装位置,默认会选择之前ASM配置里创建好的DATA磁盘组

步骤7:开启日志归档,添加已有的DATA磁盘组

步骤8:安全相关配置不用管,默认下一步

步骤9:配置写内存

步骤10:配置字符集为16GBK,其他的不变,进入下一步

步骤11:已经完成集群验证,可以不用再验证了,也可以进行验证

步骤12:配置数据库密码

步骤13:进入自定义配置,将应用文件的最大数,改成8192(根据实际情况而定自行修改),然后进入下一步


步骤14:校验时也是之前的dns和scan ip错误,可以忽略,进行下一步安装

步骤15:安装数据库需要20多分钟,安装完成后,可以看到数据库信息,通过密码管理可以对用户的密码进行设置。

卸载RAC集群

有时候需要重新安装,用下面的方法卸载集群
停止集群软件
crsctl stop crs -f
查询并kill相关进程
ps -ef | grep css | grep -v grep
ps -ef | grep crs | grep -v grep
ps -ef | grep evm | grep -v grep
ps -ef | grep oracle | grep -v grep
删除相关目录
rm -rf /var/tmp/.oracle
rm -rf /tmp/.oracle
rm -rf /etc/oratab
rm -rf /tmp/O*
rm -rf /etc/oraInst.loc
rm -rf /etc/oracle
rm -rf /u01

在CentOS7.6下搭建Oracle19c RAC集群相关推荐

  1. Linux下搭建Lotus Domino集群

    Linux下搭建Lotus Domino 集群 本文内容是Linux平台下Lotus Domino服务器部署案例(http://chenguang.blog.51cto.com/350944/1334 ...

  2. Docker下搭建Redis分片集群

    分片集群结构 同一台虚拟机中开启6个redis实例,模拟分片集群 IP  PORT 角色 192.168.19.128 7001 master 192.168.19.128 7002 master 1 ...

  3. centos7/rhel7下安装redis4.0集群

    相关介绍:Redis从3.0版本开始支持集群! 集群一般由多个节点组成,节点数量至少6个才能保证组成完整高可用的集群. 每个节点需要开启配置文件中的cluster-enabled yes,让Redis ...

  4. Windows下搭建Redis Cluster集群

    搭建准备:首先到 https://github.com/MSOpenTech/redis/releases 下载Redis-Windows版本:下载好后解压,解压之后可看到这些文件: 进入到解压目录, ...

  5. Linux: CentOS 7下搭建高可用集群

    转载: http://linux.cn/article-3963-1.html 本文以两台机器实现双集热备高可用集群,主机名node1的IP为192.168.122.168 ,主机名node2的IP为 ...

  6. Debian下搭建Samba CTDB集群。

    在使用Samba CTDB搭建群集时,推荐使用如下图所示的结构,在Samba CTDB的节点后面使用GPFS.GFS2.GlusterFS.Lustre之类的集群存储系统.在本文中假设后端的集群存储系 ...

  7. [安装] Oracle19c rac集群安装

    一.网络规划 | 主机            | **Public**(外部) | VIP(客户端访问) | ScanIP(负载均衡) | Private(心跳) | | -------------- ...

  8. redhat 下 oracle 10G RAC 集群 详细安装

    在大家做RAC安装测试搭建环境时,没有存储环境下,我来教大家怎么采用虚拟机来安装 ORACLE 10 rac,这样可以让大家更快学习好 ORACLE 10 RAC ,我会把很详细的安装写给大家. 1. ...

  9. 【Oracle 集群】Linux下Oracle RAC集群搭建之基本测试与使用(九)

    Oracle 11G RAC数据库安装(九) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总 ...

最新文章

  1. 基于机器视觉的手机产品条码检测方案
  2. 李雷和韩梅梅的一次转账事务–事务系统概述
  3. 区块链BaaS云服务(36)欧盟EBSI“使用场景”
  4. Linux下常用日志分析工具
  5. hdu1276 士兵队列训练问题-list容器
  6. 牛客网专题 概率dp
  7. 开始学习ZendFramework框架了
  8. 最全的BI工具选型指南!给你五大箴言要记住
  9. 雷林鹏分享:PHP 数组排序
  10. 信息学奥赛一本通(2032:【例4.18】分解质因数)
  11. 【分享】纯js的n级联动列表框 —— 基于jQuery,支持下拉列表框和列表框,最重要的是n级,当然还有更重要的...
  12. 2压缩备份数据库_达梦数据库备份与还原
  13. 可视化排班管理_呼叫中心外包之管理要点与数据分析对策
  14. php session超时设置,php如何设置session超时过期时间
  15. ws2812怎么调亮度_iOS 11 自动亮度调节,居然藏这么深!
  16. 如何将硬盘数据迁移包括系统一起迁移到另一个硬盘?
  17. win7怎样更改计算机密码,win7系统电脑怎么设置开机密码
  18. 运动目标检测--背景减法
  19. hadoop hdfs合并文件下载到本地单个文件
  20. 国际短信有哪些用途?

热门文章

  1. php用excel打开乱码,PHP生成CSV文件用Excel打开乱码问题_PHP教程
  2. 计算机毕业设计ssm基于J2EE的山西旅游网站的设计与实现iiqmx系统+程序+源码+lw+远程部署
  3. 文字怎么转成语音?学会这个操作轻松拿捏
  4. 【Marva Collins' Way】第二章
  5. springcloud之服务配置中心
  6. 零基础一个月学会这些就能成为初级CSS前端开发工程师
  7. 劲爆!魔都人民打开流量“不限量”的正确方式
  8. 如何设置:共*页第*页
  9. 什么是缓存击穿,如何解决?
  10. Redis 安装+四种启动设置(开机自启动)