【oracle19c静默安装RAC】

19 篇文章 1 订阅

安装规划

软件规划

软件版本
虚拟机软件VMware-workstation-full-16.1.1-17801498.exe
操作系统软件CentOS-7-x86_64-DVD-1810.iso
Oracle数据库软件LINUX.X64_193000_db_home.zip
GI软件LINUX.X64_193000_grid_home.zip
openfiler软件openfileresa-2.99.1-x86_64-disc1.iso
rlwraprlwrap-0.37-1.el6.x86_64.rpm

虚拟机规划

主机信息

主机名操作系统cpu核数内存硬盘网卡
ora19c-rac1Centos7.64核8G100G2个网卡,1块public,1块private
ora19c-rac2Centos7.64核8G100G2个网卡,1块public,1块private
storageopenfiler自带的4核8G450G与ora19c-rac1的public同一网段

网络规划

节点名称public-ipprivate-ipvipscan-ip
ora19c-rac1192.168.245.14110.10.10.141192.168.245.101192.168.245.140
ora19c-rac2192.168.245.14210.10.10.142192.168.245.102
storage192.168.245.150

硬盘规划

目录大小
/tmp10G
swap8G
/boot1G
/10G
/u0170G

ASM磁盘组

ASM磁盘组虚拟磁盘大小
ocrdgocr_disk1, ocr_disk2,ocr_disk33*10G
datadgdata_disk200G
archdgbackup_disk200G

Oracle规划

用户组和用户

用户组说明
oinstallOracle清单和软件所有者
dba数据库管理员、RAC管理员
operDBA操作员组
backupdba备份管理员
dgdbaDG管理员
kmdbaKM管理员
asmdbaASM数据库管理员组
asmoperASM操作员组
asmadminOracle自动存储管理组
用户用户所属主组用户所属其他组用户家目录
oracleoinstalldba,asmdba,backupdba,dgdba,kmdba,oper/home/oracle
gridoinstalldba,asmadmin,asmdba,asmoper/home/grid

软件目录规划

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

整体数据库安装规划

规划内容规划描述
内存规划SGA(4GB) PGA(500MB)
字符集AL32UTF8
归档模式非(安装好后手动开启归档)
redo5组 每组200M
undo2G 自动扩展 最大4G
temp4G
闪回配置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 firewalld.service 
# 关闭防火墙
systemctl stop firewalld.service 
# 关闭防火墙开机自启
systemctl disable firewalld.service 

关闭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 '
kernel.shmmax = 277495689510912
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 = 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
#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' >> /etc/sysctl.conf

# 生成系统参数
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/limits.conf
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/pam.d/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.oracle19c.rac -p 192.168.245.150 -l

# 设置开机自启动连接
iscsiadm -m node -T iqn.oracle19c.rac -p 192.168.245.150 --op update -n node.startup -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/rules.d/99-oracle-asmdevices.rules
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

# 上传互信脚本 sshUserSetup.sh
rz

# 创建软连接
ln -s ./sshUserSetup.sh 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/grub.bak

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

# 执行命令
grub2-mkconfig -o /boot/grub2/grub.cfg

# 重启不生效
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.10-1.rpm
# 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.10-1.rpm
# 如果缺少以下包的话安装
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/chrony.conf /etc/chrony.conf.bak

安装

安装grid(rac1)

su - grid

cd $ORACLE_HOME

# 上传 LINUX.X64_193000_grid_home.zip
rz 

# 解压
unzip LINUX.X64_193000_grid_home.zip

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

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

# 编辑响应文件
vi ${ORACLE_HOME}/install/response/gridsetup.rsp
INVENTORY_LOCATION=/u01/app/oraInventory  # 60行
oracle.install.option=CRS_CONFIG # 75行
ORACLE_BASE=/u01/app/grid # 80行
oracle.install.asm.OSDBA=asmdba # 98行
oracle.install.asm.OSOPER=asmoper # 105行
oracle.install.asm.OSASM=asmadmin # 111行
oracle.install.crs.config.scanType=LOCAL_SCAN # 122行
oracle.install.crs.config.gpnp.scanName=ora19c-rac-scan # 135行
oracle.install.crs.config.gpnp.scanPort=1521 # 141行
oracle.install.crs.config.ClusterConfiguration=STANDALONE # 152行
oracle.install.crs.config.configureAsExtendedCluster=false # 160行
oracle.install.crs.config.clusterName=ora19c-cluster # 178行
oracle.install.crs.config.gpnp.configureGNS=false # 185行
oracle.install.crs.config.autoConfigureClusterNodeVIP=false # 192行
oracle.install.crs.config.clusterNodes=ora19c-rac1:ora19c-rac1-vip,ora19c-rac2:ora19c-rac2-vip # 251行
oracle.install.crs.config.networkInterfaceList=ens33:192.168.245.0:1,ens34:10.10.10.0:5 # 267行
oracle.install.asm.configureGIMRDataDG=false # 284行
oracle.install.crs.config.storageOption=FLEX_ASM_STORAGE # 301行
oracle.install.crs.config.useIPMI=false # 327行
oracle.install.asm.SYSASMPassword=Oracle19Aa123456 # 346行
oracle.install.asm.diskGroup.name=crsdg # 354行
oracle.install.asm.diskGroup.redundancy=NORMAL # 366行
oracle.install.asm.diskGroup.AUSize=4 # 380行
oracle.install.asm.diskGroup.disks=/dev/asm_ocr_1,/dev/asm_ocr_2,/dev/asm_ocr_3 # 413行
oracle.install.asm.diskGroup.diskDiscoveryString=/dev/asm_* # 432行
oracle.install.asm.monitorPassword=Oracle19cAa123456 # 438行
oracle.install.crs.configureRHPS=false # 527行
oracle.install.crs.config.ignoreDownNodes=false # 538行
oracle.install.config.managementOption=NONE # 551行
oracle.install.crs.rootconfig.executeRootScript=false # 590行

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

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

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

# 检查
crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details       
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
               ONLINE  ONLINE       ora19c-rac1              STABLE
               ONLINE  ONLINE       ora19c-rac2              STABLE
ora.chad
               ONLINE  ONLINE       ora19c-rac1              STABLE
               ONLINE  ONLINE       ora19c-rac2              STABLE
ora.net1.network
               ONLINE  ONLINE       ora19c-rac1              STABLE
               ONLINE  ONLINE       ora19c-rac2              STABLE
ora.ons
               ONLINE  ONLINE       ora19c-rac1              STABLE
               ONLINE  ONLINE       ora19c-rac2              STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
      1        ONLINE  ONLINE       ora19c-rac1              STABLE
      2        ONLINE  ONLINE       ora19c-rac2              STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.CRSDG.dg(ora.asmgroup)
      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
ora.asm(ora.asmgroup)
      1        ONLINE  ONLINE       ora19c-rac1              Started,STABLE
      2        ONLINE  ONLINE       ora19c-rac2              Started,STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE  ONLINE       ora19c-rac1              STABLE
      2        ONLINE  ONLINE       ora19c-rac2              STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.cvu
      1        ONLINE  ONLINE       ora19c-rac1              STABLE
ora.ora19c-rac1.vip
      1        ONLINE  ONLINE       ora19c-rac1              STABLE
ora.ora19c-rac2.vip
      1        ONLINE  ONLINE       ora19c-rac2              STABLE
ora.qosmserver
      1        ONLINE  ONLINE       ora19c-rac1              STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       ora19c-rac1              STABLE
--------------------------------------------------------------------------------

注:

  • oracle.install.crs.config.clusterName=ora19c-cluster 这个配置的clusterName的值长度要小于等于15,否则后面执行/u01/app/19c/grid/root.sh脚本时会报错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.rsp.bak

# 编辑响应文件
vi ${ORACLE_HOME}/install/response/db_install.rsp
oracle.install.option=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行
oracle.install.db.InstallEdition=EE # 62行
oracle.install.db.OSDBA_GROUP=dba # 79行
oracle.install.db.OSOPER_GROUP=oper # 85行
oracle.install.db.OSBACKUPDBA_GROUP=backupdba # 90行
oracle.install.db.OSDGDBA_GROUP=dgdba # 95行
oracle.install.db.OSKMDBA_GROUP=kmdba # 100行
oracle.install.db.OSRACDBA_GROUP=dba # 105行
oracle.install.db.rootconfig.executeRootScript=false # 120行
oracle.install.db.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/root.sh

创建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 \
 -compatible.asm 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 \
 -compatible.asm 19.0.0.0.0

dbca建库(rac1)

su - oracle

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

# 编辑响应文件
vi $ORACLE_HOME/assistants/dbca/dbca.rsp
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/dbca.rsp > /u01/app/oraInventory/logs/dbca.log 2>&1 & 

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

参考文章

Rhel7.3 搭建 Oracle12.2.01 RAC

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

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

  • 6
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
在本地自己的操作系统上,完全模拟生产环境,让学员跟着视频一步一步搭建一套在RHEL7操作系统上面的oracle19crac环境。同时学员还会学会DNS服务器,DNS客户端,NTP服务器,NTP客户端等操作系统知识。让学员在短时间内,oracle和操作系统知识,有一定的提升。让学员可以独自轻松安装一套oracle rac环境。一课程主题 模拟生产环境,用多路径共享存储,用虚拟软件安装一套RHEL7.5+oracle19c+rac+打补丁二课程特色 完成模拟生产环境,用openfiler软件模拟生产惠普的3par存储,用2个虚拟网卡模拟数据库服务器的2个HBA卡。课程以实践为主,从头到尾一步一步教学员怎样操作,实践性强模拟生产需求,完全可以把这套环境拿到生产环境安装三课程内容 1.课程结束成果演示    1.1 用workstation,安装一套rhel7+oracle19c+rac+multipath+共享存储+DNS服务器+DNS客户端+NTP服务器+NTP客户端的生产环境    1.2 怎样打oracle19crac补丁(包括GI补丁,oracle补丁,数据库补丁,OJVM补丁,bug补丁)2.安装openfiler软件,模拟共享存储+配置多路径访问    2.1安装openfiler软件   2.2配置openfiler软件(配置2个虚拟网卡,模拟服务器的2个HBA卡)   2.3创建ocr磁盘   2.4创建mgmt磁盘   2.5创建数据文件磁盘   2.6创建归档日志磁盘3.安装2台数据库服务器    3.1安装2台数据库服务器RHEL7.5   3.2配置服务器双网卡绑定+配置服务器心跳线4.安装多路径软件识别共享存储中的磁盘     4.1安装服务器本地yum源    4.2安装iscsi软件,配置多路径配置文件,识别共享存储中的磁盘    4.3识别ocr磁盘    4.4识别mgmt磁盘    4.5识别数据文件磁盘    4.6识别归档日志磁盘5.oracle19crac环境系统参数官方说明     5.1如何配置oracle19crac的系统参数(我们参考官方说明)    5.2oracle19c+rac环境Best Practices 官方说明文档6.安装oracle19c+rac之前的准备工作     6.1修改/etc/hosts文件    6.2配置DNS服务器+DNS客户端+NTP服务器+NTP客户端    6.3创建用户和组    6.4创建目录    6.5修改用户环境变量    6.6安装相关软件包    6.7配置ssh互信    6.9禁用服务器透明大页7.安装oracle+19c+rac软件    7.1安装GI软件   7.2创建ASM磁盘,主要是数据文件磁盘和归档日志磁盘   7.3安装数据库软件   7.4创建数据库实例   7.5日常常用维护集群命令(启停数据库,启停集群,查看监听,教同学们怎样不死记命令,而且命令还正确)8.打补丁   8.1打GI和ORACLE的操作系统补丁  8.2打OJVM补丁  8.3打ORA600的bug补丁9.课程总结和成果演示  9.1课程总结和成果演示 四学习必要工具 安装workstation软件  官网下载openfiler,rhel7.5软件下载oracle软件(包括19.3的rac安装包,19.4的补丁)以上软件我都已经在视频里面做了下载地址说明五课程纠错1)rac的私有ip应该是不同的网段,我在视频中设置错误。Ensure all private Ethernet interfaces are set to different subnets on each node. If different subnets are not used and connectivity is lost, this can cause a node reboot within the cluster2)配置好multipath,以及多路径的别名后,还要增加如下配置文件。[root@hellorac1 rules.d]# cat /etc/udev/rules.d/99-persistent.rulesENV==data, OWNER:=grid, GROUP:=asmadmin, MODE:=660上面的配置文件增加成功后,运行如下命令:#udevadm control --reload-rules#/sbin/udevadm trigger --type=devices --action=change执行完成之后,会发现/dev/dm*相应的磁盘权限变成grid.asmadmin. 视频中只运行了udevadm control --reload-rules。3)安装GI部分1和部分2,先看部分2,再看部分1.特此纠正上面的3个错误。谢谢大家的支持和厚爱。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sqlboy-yuzhenc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值