【oracle19c静默安装RAC】

时间:2025-04-09 20:40:29

目录

  • 安装规划
    • 软件规划
    • 虚拟机规划
      • 主机信息
      • 网络规划
      • 硬盘规划
      • ASM磁盘组
    • Oracle规划
      • 用户组和用户
      • 软件目录规划
      • 整体数据库安装规划
  • 虚拟机准备
    • 操作系统安装
    • yum源配置
    • openfiler安装
  • 安装前准备
    • 配置host文件(rac1和rac2)
    • 关闭防火墙(rac1和rac2)
    • 关闭Selinux(rac1和rac2)
    • 安装依赖包(rac1和rac2)
    • 修改内核参数(rac1和rac2)
    • 配置资源限制参数(rac1和rac2)
    • 修改登录验证(rac1和rac2)
    • 创建用户组和用户(rac1和rac2)
    • 创建目录(rac1和rac2)
    • 添加用户环境变量(rac1和rac2)
    • 配置ISCSI挂载外部存储(rac1和rac2)
    • 节点免密互信(rac1)
    • 关闭透明大页(rac1和rac2)
    • 额外的安装包(rac1和rac2)
    • 关闭 ZEROCONF(rac1和rac2)
    • 移除操作系统时间同步配置(rac1和rac2)
  • 安装
    • 安装grid(rac1)
    • 安装db(rac1)
    • 创建ASM磁盘组
    • dbca建库(rac1)
  • 参考文章

安装规划

软件规划

软件 版本
虚拟机软件 VMware-workstation-full-16.1.
操作系统软件 CentOS-7-x86_64
Oracle数据库软件 LINUX.X64_193000_db_home.zip
GI软件 LINUX.X64_193000_grid_home.zip
openfiler软件 openfileresa-2.99.1-x86_64
rlwrap rlwrap-0.37-1.el6.x86_64.rpm

虚拟机规划

主机信息

主机名 操作系统 cpu核数 内存 硬盘 网卡
ora19c-rac1 Centos7.6 4核 8G 100G 2个网卡,1块public,1块private
ora19c-rac2 Centos7.6 4核 8G 100G 2个网卡,1块public,1块private
storage openfiler自带的 4核 8G 450G 与ora19c-rac1的public同一网段

网络规划

节点名称 public-ip private-ip vip scan-ip
ora19c-rac1 192.168.245.141 10.10.10.141 192.168.245.101 192.168.245.140
ora19c-rac2 192.168.245.142 10.10.10.142 192.168.245.102
storage 192.168.245.150

硬盘规划

目录 大小
/tmp 10G
swap 8G
/boot 1G
/ 10G
/u01 70G

ASM磁盘组

ASM磁盘组 虚拟磁盘 大小
ocrdg ocr_disk1, ocr_disk2,ocr_disk3 3*10G
datadg data_disk 200G
archdg backup_disk 200G

Oracle规划

用户组和用户

用户组 说明
oinstall Oracle清单和软件所有者
dba 数据库管理员、RAC管理员
oper DBA操作员组
backupdba 备份管理员
dgdba DG管理员
kmdba KM管理员
asmdba ASM数据库管理员组
asmoper ASM操作员组
asmadmin Oracle自动存储管理组
用户 用户所属主组 用户所属其他组 用户家目录
oracle oinstall dba,asmdba,backupdba,dgdba,kmdba,oper /home/oracle
grid oinstall dba,asmadmin,asmdba,asmoper /home/grid

软件目录规划

目录 路径 说明
ORACLE_BASE(oracle) /u01/app/oracle oracle基目录
ORACLE_HOME (oracle) /u01/app/oracle/product/19c/db_1 oracle用户HOME目录
ORACLE_BASE (grid) /u01/app/grid grid基目录
ORACLE_HOME (grid) /u01/app/19c/grid grid用户HOME目录

整体数据库安装规划

规划内容 规划描述
内存规划 SGA(4GB) PGA(500MB)
字符集 AL32UTF8
归档模式 非(安装好后手动开启归档)
redo 5组 每组200M
undo 2G 自动扩展 最大4G
temp 4G
闪回配置 4G大小

虚拟机准备

操作系统安装

VMware安装操作系统Centos7.6

yum源配置

基于Centos7.6配置yum源服务器和客户端

openfiler安装

Vmware安装openfiler

安装前准备

配置host文件(rac1和rac2)

vi /etc/hosts
#RAC-PUBLIC-IP
192.168.245.141 ora19c-rac1
192.168.245.142 ora19c-rac2

#RAC-PRIVATE-IP
10.10.10.141 ora19c-rac1-priv
10.10.10.142 ora19c-rac2-priv

#RAC-VIP
192.168.245.101 ora19c-rac1-vip
192.168.245.102 ora19c-rac2-vip

#RAC-SCAN-IP
192.168.245.140 ora19c-rac-scan

关闭防火墙(rac1和rac2)

# 检查防火墙状态
systemctl status  
# 关闭防火墙
systemctl stop  
# 关闭防火墙开机自启
systemctl disable  

关闭Selinux(rac1和rac2)

sed -i 's#SELINUX=.*#SELINUX=disabled#' /etc/selinux/config

安装依赖包(rac1和rac2)

yum install -y bc \
compat-libcap1* \
compat-libcap* \
binutils \
compat-libstdc++-33 \
elfutils-libelf \
elfutils-libelf-devel \
gcc \
gcc-c++ \
glibc-2.5 \
glibc-common \
glibc-devel \
glibc-headers \
ksh \
libaio \
libaio-devel \
libgcc \
libstdc++ \
libstdc++-devel \
make \
sysstat \
unixODBC \
unixODBC-devel \
binutils* \
compat-libstdc* \
elfutils-libelf* \
gcc* \
glibc* \
ksh* \
libaio* \
libgcc* \
libstdc* \
make* \
sysstat* \
libXp* \
glibc-kernheaders \
net-tools-* \
iscsi-initiator-utils \
udev \
xclock*

修改内核参数(rac1和rac2)

echo '
 = 277495689510912
 = 4096
 = 250 32000 100 128
.rmem_default = 262144
.rmem_max = 4194304
.wmem_default = 262144
.wmem_max = 1048586
-max = 6815744
 = 67747971072
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
# = 262144
.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
-max-nr = 1048576
net..rp_filter = 2
net..rp_filter = 2' >> /etc/

# 生成系统参数
sysctl -p 

配置资源限制参数(rac1和rac2)

echo '
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' >> /etc/security/
echo '
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
' >> /etc/profile

# 使环境变量立即生效
source /etc/profile

修改登录验证(rac1和rac2)

echo '
session required /lib/security/pam_limits.so
session required pam_limits.so
' >> /etc//login

创建用户组和用户(rac1和rac2)

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
# 修改grid和oracle的密码
passwd grid
passwd oracle

创建目录(rac1和rac2)

# 以root用户,创建Oracle Inventory 目录
mkdir -p /u01/app/oraInventory
chown -R grid:oinstall /u01/app/oraInventory
chmod -R 775 /u01/app/oraInventory

# 以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/

# 以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

# 以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

添加用户环境变量(rac1和rac2)

  • grid ora19c-rac1
su - grid
vi ~/.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
alias sqlplus='rlwrap sqlplus'
alias asmcmd='rlwrap asmcmd'
alias rman='rlwrap rman'

source ~/.bash_profile
  • grid ora19c-rac2
su - grid
vi ~/.bash_profile
PS1="[`whoami`@`hostname`:"'$PWD]$'
export PS1
umask 022
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_SID=+ASM2
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
alias sqlplus='rlwrap sqlplus'
alias asmcmd='rlwrap asmcmd'
alias rman='rlwrap rman'

source ~/.bash_profile
  • oracle ora19c-rac1
su - oracle
vi ~/.bash_profile
PS1="[`whoami`@`hostname`:"'$PWD]$'
export PS1
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME=ora19c-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
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'

source ~/.bash_profile
    • oracle ora19c-rac2
su - oracle
vi ~/.bash_profile
PS1="[`whoami`@`hostname`:"'$PWD]$'
export PS1
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME=ora19c-rac2
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/19c/db_1
export ORACLE_SID=orcl2
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
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'

source ~/.bash_profile

配置ISCSI挂载外部存储(rac1和rac2)

# yum安装iscsi
yum install -y iscsi*

# 开机启动iscsi服务
systemctl enable iscsid

# 发现磁盘
iscsiadm -m discovery -t sendtargets -p 192.168.245.150

# 手动登录目标(这里一定要注意 -T后面那个参数一定要按照你上面发现磁盘的那个结果进行更改)
iscsiadm -m node -T iqn. -p 192.168.245.150 -l

# 设置开机自启动连接
iscsiadm -m node -T iqn. -p 192.168.245.150 --op update -n  -v automatic

# 查看磁盘
ls -l /dev/disk/by-path/*iscsi* | awk '{FS=" "; print $9 " " $10 " " $11}'

# 检查磁盘 wwid
for i in $(ls /dev/sd*|grep -v [0-9]|grep -v sda)
do  
echo -ne "$(fdisk -l ${i}|grep "^Disk\|磁盘" |grep ${i}|awk '{print $1,$2,$3,$4}') WWID:"  
/lib/udev/scsi_id -g -u -d "${i}"
done|sort -nk3 -k5|column -t

# 配置udev
vi /etc/udev//
KERNEL=="sd*", ENV{ID_SERIAL}=="14f504e46494c455250474f6933472d534a41442d527a304a", SYMLINK+="asm_ocr_1",  OWNER="grid",  GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", ENV{ID_SERIAL}=="14f504e46494c45526b58366859492d383371482d58344c48", SYMLINK+="asm_ocr_2",  OWNER="grid",  GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", ENV{ID_SERIAL}=="14f504e46494c45526d4c587168642d33796f382d4a755077", SYMLINK+="asm_ocr_3",  OWNER="grid",  GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", ENV{ID_SERIAL}=="14f504e46494c455267356d6e674c2d38314f732d37744d53", SYMLINK+="asm_data",  OWNER="grid",  GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", ENV{ID_SERIAL}=="14f504e46494c45527a47544a38752d563567462d61577641", SYMLINK+="asm_bak",  OWNER="grid",  GROUP="asmadmin", MODE="0660"

# 使udev生效
udevadm control --reload-rules
udevadm trigger

节点免密互信(rac1)

# 切到 /usr/local/bin 目录
cd /usr/local/bin

# 上传互信脚本 
rz

# 创建软连接
ln -s ./ sshUserSetup

# 增加执行权限
chmod +x ./sshUserSetup

# grid 用户 互信
sshUserSetup -user grid -hosts "ora19c-rac1 ora19c-rac2" -advanced -noPromptPassphrase

# oracle 用户 互信
sshUserSetup -user oracle -hosts "ora19c-rac1 ora19c-rac2" -advanced -noPromptPassphrase

# 测试互信是否成功
# 在 2台机器上都 测试
su - grid -c "ssh ora19c-rac1 date"
su - grid -c "ssh ora19c-rac2 date"
su - oracle -c "ssh ora19c-rac1 date"
su - oracle -c "ssh ora19c-rac2 date"

关闭透明大页(rac1和rac2)

# 备份grub文件
cp /etc/default/grub /etc/default/

# 增加transparent_hugepage=never到GRUB_CMDLINE_LINUX的尾部
vi /etc/default/grub
# ora19c-rac1
GRUB_CMDLINE_LINUX="=centos_ora19c-rac1/root =centos_ora19c-rac1/swap rhgb quiet transparent_hugepage=never"
# ora19c-rac2
GRUB_CMDLINE_LINUX="=centos_ora19c-rac2/root =centos_ora19c-rac2/swap rhgb quiet transparent_hugepage=never"

# 执行命令
grub2-mkconfig -o /boot/grub2/

# 重启不生效
echo never > /sys/kernel/mm/transparent_hugepage/enabled

# 这里需要重启
shutdown -r now

# 查看是否禁用透明大页 结果 always madvise [never]
cat /sys/kernel/mm/transparent_hugepage/enabled

# 查看是否禁用透明大页 结果 AnonHugePages:         0 kB
grep AnonHugePages /proc/meminfo

额外的安装包(rac1和rac2)

# 切到root目录
cd /root

# 上传 
# cvuqdisk-1.0.
# rlwrap-0.37-1.el6.x86_64.rpm
# compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
# kmod-20-21.el7.x86_64.rpm
# kmod-libs-20-21.el7.x86_64.rpm
rz 

# 安装 如果装了就不用再装了
rpm -ivh cvuqdisk-1.0.
# 如果缺少以下包的话安装
yum -y install perl-Data-Dumper-2.145-3.el7.x86_64
rpm -ivh rlwrap-0.37-1.el6.x86_64.rpm
yum install -y compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm kmod-20-21.el7.x86_64.rpm kmod-libs-20-21.el7.x86_64.rpm

关闭 ZEROCONF(rac1和rac2)

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

移除操作系统时间同步配置(rac1和rac2)

mv /etc/ /etc/

安装

安装grid(rac1)

su - grid

cd $ORACLE_HOME

# 上传 LINUX.X64_193000_grid_home.zip
rz 

# 解压
unzip LINUX.X64_193000_grid_home.zip

# 安装前检查
./ stage -pre crsinst -n ora19c-rac1,ora19c-rac2 -fixup -verbose

# 备份响应文件
cp ${ORACLE_HOME}/install/response/ ${ORACLE_HOME}/install/response/

# 编辑响应文件
vi ${ORACLE_HOME}/install/response/
INVENTORY_LOCATION=/u01/app/oraInventory  # 60行
=CRS_CONFIG # 75行
ORACLE_BASE=/u01/app/grid # 80行
=asmdba # 98行
=asmoper # 105行
=asmadmin # 111行
=LOCAL_SCAN # 122行
=ora19c-rac-scan # 135行
=1521 # 141行
=STANDALONE # 152行
=false # 160行
=ora19c-cluster # 178行
=false # 185行
=false # 192行
=ora19c-rac1:ora19c-rac1-vip,ora19c-rac2:ora19c-rac2-vip # 251行
=ens33:192.168.245.0:1,ens34:10.10.10.0:5 # 267行
=false # 284行
=FLEX_ASM_STORAGE # 301行
=false # 327行
=Oracle19Aa123456 # 346行
=crsdg # 354行
=NORMAL # 366行
=4 # 380行
=/dev/asm_ocr_1,/dev/asm_ocr_2,/dev/asm_ocr_3 # 413行
=/dev/asm_* # 432行
=Oracle19cAa123456 # 438行
=false # 527行
=false # 538行
=NONE # 551行
=false # 590行

# 开始静默安装grid
$ORACLE_HOME/ -silent -noconfig  -ignorePrereqFailure  -waitforcompletion -responseFile ${ORACLE_HOME}/install/response/

# 分别在ora19c-rac1和ora19c-rac2以root用户执行 这里节点有先后顺序,先1后2
/u01/app/oraInventory/
/u01/app/19c/grid/

# 继续完成安装配置 仅在 ora19c-rac1 以 grid 用户执行
/u01/app/19c/grid/ -executeConfigTools -responseFile /u01/app/19c/grid/install/response/ -silent

# 检查
crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details       
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------

               ONLINE  ONLINE       ora19c-rac1              STABLE
               ONLINE  ONLINE       ora19c-rac2              STABLE

               ONLINE  ONLINE       ora19c-rac1              STABLE
               ONLINE  ONLINE       ora19c-rac2              STABLE
ora.
               ONLINE  ONLINE       ora19c-rac1              STABLE
               ONLINE  ONLINE       ora19c-rac2              STABLE

               ONLINE  ONLINE       ora19c-rac1              STABLE
               ONLINE  ONLINE       ora19c-rac2              STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr()
      1        ONLINE  ONLINE       ora19c-rac1              STABLE
      2        ONLINE  ONLINE       ora19c-rac2              STABLE
      3        OFFLINE OFFLINE                               STABLE
()
      1        ONLINE  ONLINE       ora19c-rac1              STABLE
      2        ONLINE  ONLINE       ora19c-rac2              STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       ora19c-rac1              STABLE
()
      1        ONLINE  ONLINE       ora19c-rac1              Started,STABLE
      2        ONLINE  ONLINE       ora19c-rac2              Started,STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.()
      1        ONLINE  ONLINE       ora19c-rac1              STABLE
      2        ONLINE  ONLINE       ora19c-rac2              STABLE
      3        OFFLINE OFFLINE                               STABLE

      1        ONLINE  ONLINE       ora19c-rac1              STABLE
ora.
      1        ONLINE  ONLINE       ora19c-rac1              STABLE
ora.
      1        ONLINE  ONLINE       ora19c-rac2              STABLE

      1        ONLINE  ONLINE       ora19c-rac1              STABLE
ora.
      1        ONLINE  ONLINE       ora19c-rac1              STABLE
--------------------------------------------------------------------------------

注:

  • =ora19c-cluster 这个配置的clusterName的值长度要小于等于15,否则后面执行/u01/app/19c/grid/脚本时会报错CLSRSC-119: Start of the exclusive mode cluster failed
  • 安装前检查若有失败项,例如:/tmp/shm、DNS、NTP都是可以忽略的。

安装db(rac1)

su - oracle

# 进入 $ORACLE_HOME
cd $ORACLE_HOME

# 上传 LINUX.X64_193000_db_home.zip
rz

# 解压
unzip LINUX.X64_193000_db_home.zip

# 备份响应文件
cp ${ORACLE_HOME}/install/response/db_install.rsp ${ORACLE_HOME}/install/response/db_install.

# 编辑响应文件
vi ${ORACLE_HOME}/install/response/db_install.rsp
=INSTALL_DB_SWONLY # 29行
UNIX_GROUP_NAME=oinstall # 34行
INVENTORY_LOCATION=/u01/app/oraInventory # 41行
ORACLE_HOME=/u01/app/oracle/product/19c/db_1 # 45行
ORACLE_BASE=/u01/app/oracle # 50行
=EE # 62行
.OSDBA_GROUP=dba # 79行
.OSOPER_GROUP=oper # 85行
.OSBACKUPDBA_GROUP=backupdba # 90行
.OSDGDBA_GROUP=dgdba # 95行
.OSKMDBA_GROUP=kmdba # 100行
.OSRACDBA_GROUP=dba # 105行
=false # 120行
.CLUSTER_NODES=ora19c-rac1,ora19c-rac2 # 157行

# 开始静默安装db
$ORACLE_HOME/runInstaller -silent -ignorePrereqFailure  -waitForCompletion -responseFile ${ORACLE_HOME}/install/response/db_install.rsp

# 在ora19c-rac1和ora19c-rac1分别以root用户执行
/u01/app/oracle/product/19c/db_1/

创建ASM磁盘组

su - grid

# 创建datadg
asmca -silent -createDiskGroup \
 -sysAsmPassword Oracle19cAa123456 \
 -asmsnmpPassword Oracle19cAa123456 \
 -diskString '/dev/asm_*' \
 -diskGroupName datadg \
 -diskList /dev/asm_data \
 -redundancy EXTERNAL \
 -au_size 4 \
 - 19.0.0.0.0

创建archdg
asmca -silent -createDiskGroup \
 -sysAsmPassword Oracle19cAa123456 \
 -asmsnmpPassword Oracle19cAa123456 \
 -diskString '/dev/asm_*' \
 -diskGroupName archdg \
 -diskList /dev/asm_bak \
 -redundancy EXTERNAL \
 -au_size 4 \
 - 19.0.0.0.0

dbca建库(rac1)

su - oracle

# 备份响应文件
cp $ORACLE_HOME/assistants/dbca/ $ORACLE_HOME/assistants/dbca/

# 编辑响应文件
vi $ORACLE_HOME/assistants/dbca/
gdbName=orcl # 32行
sid=orcl # 42行
databaseConfigType=RAC # 52行
policyManaged=FALSE # 74行
nodelist=ora19c-rac1,ora19c-rac2 # 213行
templateName=General_Purpose.dbc # 223行
sysPassword=Oracle19cAa123456 # 233行
systemPassword=Oracle19cAa123456 # 243行
recoveryAreaDestination=NONE # 421行
storageType=ASM # 431行
diskGroupName=+datadg # 440行
asmsnmpPassword=Oracle19cAa123456 # 449行
characterSet=AL32UTF8 # 468行
databaseType=MULTIPURPOSE # 584行
automaticMemoryManagement=FALSE # 594行
totalMemory=4096 # 604行

# dbca静默装数据库实例
nohup dbca -silent -createDatabase -ignorePreReqs -responseFile $ORACLE_HOME/assistants/dbca/ > /u01/app/oraInventory/logs/ 2>&1 & 

# 实时查看安装进度
tail -f /u01/app/oraInventory/logs/
  • 到此基本就安装完成了

参考文章

Rhel7.3 搭建 Oracle12.2.01 RAC

【安装篇】- 基于 VMWARE Oracle Linux7.9 安装 Oracle19c RAC 详细配置方案

使用 VMware 16 RHEL7.7 虚拟机静默安装 Oracle 19c RAC