Linux7 安装 Oracle 19C RAC 详细图文教程

实战篇:Linux7 安装 Oracle 19C RAC 详细图文教程

本文是按照:https://www.modb.pro/db/154424的思路进行编写

一、安装前规划

安装RAC前,当然要先做好规划。具体包含以下几方面:

节点主机版本主机名实例名Grid/Oracle版本Public IPPrivate IPVirtual IPScan IP
1rhel7.9p19c01p19c0119.11.0.0192.168.134.2321.1.1.1192.168.134.234192.168.134.236
2rhel7.9p19c02p19c0219.11.0.0192.168.134.2331.1.1.2192.168.134.235192.168.134.236

大家的private IP 尽量取正常一点的,我这个是当时看教程取的
1、系统规划

  • 主机名: 需要英文字母开头,建议小写,p19c01/p19c02
  • 集群名称: 长度不超过15位,p19c-cluster
  • Linux系统版本: RedHat 7.9
  • 磁盘: 本地磁盘 100G,用于安装 OS,存放 grid 和 oracle 安装软件,用于 oracle 和 grid 安装目录
  • ASM共享盘:
    裁决盘OCR:OCR+VOTING=10G、冗余模式:EXTERNAL
    数据盘DATA:DATA=20G、冗余模式:EXTERNAL(数据文件,归档日志文件,spfile 文件等)
  • RU升级路径: 19C 的补丁已经不叫PSU,改为 RU

升级需满足条件:

  • c>=a
  • c+d>=a+b

例如:

  • 19.5.2–>19.8.0(5是a,2是b,8是c,0是d),满足升级需求;
  • 19.6.2–>19.7.0(虽然7>6,但是7+0<6+2,所以不满足,如果是19.7.1,即可满足)

本次是从 19.3.0 升级到 19.11.0,Oracle 官网下载的基础版是 19.3.0! 1、Linux主机安装(rac01&rac02)


安装 Linux 服务器可选择:Centos,Redhat,Oracle Linux。

📢 注意: Linux 系统的安装本文不做详细演示!

📢 注意: Linux 系统的安装本文不做详细演示!

我之前写过一配置yum源的文章大家可以看一下

https://blog.csdn.net/weixin_63131036/article/details/133914372?spm=1001.2014.3001.5501

大家也可以配置网络源

https://blog.csdn.net/weixin_63131036/article/details/135699151?spm=1001.2014.3001.5502

2、配置yum源并安装依赖包(rac01&rac02)

安装依赖包:

yum groupinstall -y "Server with GUI"
yum install -y bc \
binutils \
compat-libcap1 \
compat-libstdc++-33 \
gcc \
gcc-c++ \
elfutils-libelf \
elfutils-libelf-devel \
glibc \
glibc-devel \
ksh \
libaio \
libaio-devel \
libgcc \
libstdc++ \
libstdc++-devel \
libxcb \
libX11 \
libXau \
libXi \
libXtst \
libXrender \
libXrender-devel \
make \
net-tools \
nfs-utils \
smartmontools \
sysstat \
e2fsprogs \
e2fsprogs-libs \
fontconfig-devel \
expect \
unzip \
openssh-clients \
readline* \
tigervnc* \
psmisc --skip-broken

手动上传并安装依赖包:

cd /soft 
rpm -ivh compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm

检查依赖包安装情况:

rpm -q bc binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ elfutils-libelf elfutils-libelf-devel glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libxcb libX11 libXau libXi libXtst libXrender libXrender-devel make net-tools nfs-utils smartmontools sysstat e2fsprogs e2fsprogs-libs fontconfig-devel expect unzip openssh-clients readline | grep "not installed"

📢 注意: 依赖一定要安装成功,否则可能导致安装失败!

3、网络配置

Linux 7 版本可以使用 nmcli 命令来配置网络,以下命令中的 IP地址、子网掩码、网关网卡名称 请根据实际情况进行修改!

rac01:

##配置Public IP
nmcli connection modify ens33 ipv4.addresses 192.168.134.232/24 ipv4.gateway 192.168.134.2 ipv4.method manual autoconnect yes
##配置Private IP
nmcli connection modify ens34 ipv4.addresses 1.1.1.1/24 ipv4.method manual autoconnect yes
##生效
nmcli connection up ens33
nmcli connection up ens34
nmcli connection show

在这里插入图片描述

rac02:

##配置Public IP
nmcli connection modify ens33 ipv4.addresses 192.168.134.233/24 ipv4.gateway 192.168.134.2 ipv4.method manual autoconnect yes
##配置Private IP
nmcli connection modify ens34 ipv4.addresses 1.1.1.2/24 ipv4.method manual autoconnect yes
##生效
nmcli connection up ens33
nmcli connection up ens34
nmcli connection show

在这里插入图片描述

最后,配置好网络后,输入命令 ip a 查看网络是否配置成功,尝试 ping 测试网络。
配置好之后可以为ip配置DNS

vi /etc/sysconfig/network-scripts/ifcfg-ens33
IPADDR="192.168.134.231"        #静态IP地址
NETMASK="255.255.255.0"        #子网掩码
GATEWAY="192.168.134.2"        #网关
PEERDNS=no            
DNS1=114.114.114.114        
DNS2=8.8.8.8     

4.共享存储(所有rac节点)

一、创建共享磁盘
1、选择添加硬盘
打开要添加的虚拟机设置
下一步
在这里插入图片描述

2、磁盘类型选择SCSI
下一步
在这里插入图片描述

3、选择创建新虚拟机磁盘
下一步
在这里插入图片描述

4、设置磁盘大小,选择将虚拟磁盘存储为单个文件
下一步
在这里插入图片描述

5、点击浏览,修改磁盘名和保存路径
完成
在这里插入图片描述

二、设置磁盘挂载端口
点击新添加硬盘的高级设置
勾选独立→永久
再点击新硬盘(SCSI)下拉菜单

按照硬盘添加的顺序选择虚拟设备节点
在这里插入图片描述

设置完成后点击确定
在这里插入图片描述

再次打开虚拟机设置中可以看到新添加的磁盘
在这里插入图片描述

三、第二台虚拟机添加磁盘
打开虚拟机设置点击添加
选择添加硬盘
下一步
在这里插入图片描述

磁盘类型选择SCSI
下一步
在这里插入图片描述

选择使用现有虚拟磁盘
下一步
在这里插入图片描述

进入创建虚拟磁盘的路径,打开之前创建的虚拟磁盘
完成
在这里插入图片描述

打开硬盘高级设置
虚拟设备节点选择与第一台虚拟机相同
独立→永久
确定
在这里插入图片描述

再次打开虚拟机设置磁盘已添加
在这里插入图片描述

四、修改虚拟机配置文件
打开虚拟机安装目录
编辑“.vmx”结尾文件,记得先保留一个副本,别等下不小心没了
在这里插入图片描述

结尾添加以下内容:

scsi1.sharedBus = "virtual"
disk.locking = "false"
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.dataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize = "4096"
diskLib.maxUnsyncedWrites = "0"
disk.EnableUUID = "TRUE"

保存
启动虚拟机
第二台虚拟机与第一台虚拟机操作一致
注意:有时disk.EnableUUID = "TRUE"参数,配置文件中已存在,留一个即可,否则开机报错
a)通过3260端口查看开放了哪些共享存储:

lsblk


安装 multipath 绑定多路径:

##安装multipath
yum install -y device-mapper*
mpathconf --enable --with_multipathd y
##查看共享盘的scsi_id
/usr/lib/udev/scsi_id -g -u /dev/sdb
/usr/lib/udev/scsi_id -g -u /dev/sdc

配置 multipath 文件:

cat <<EOF>/etc/multipath.conf
defaults {
    user_friendly_names yes
}

blacklist {
  devnode "^sda"
}

multipaths {
  multipath {
  wwid "36000c291eedf896dcd8c48512b0deec1"
  alias asm_ocr
  }
  multipath {
  wwid "36000c2922d1079a6a9f319731b5750ba"
  alias asm_arc
  }
  multipath {
  wwid "36000c29a34d3634756ce92967d7e3556"
  alias asm_data
  }

}
EOF


📢 注意: wwid的值为上面获取的scsi_id,alias可自定义,这里配置1块OCR盘,1块DATA盘!

激活multipath多路径:
multipath -F
multipath -v2
multipath -ll

配置UDEV绑盘:

rm -rf /dev/mapper/udev_info
rm -rf /etc/udev/rules.d/99-oracle-asmdevices.rules
cd /dev/mapper
for i in asm_*; do
    printf "%s %s\n" "$i" "$(udevadm info --query=all --name=/dev/mapper/"$i" | grep -i dm_uuid)" >>/dev/mapper/udev_info
done
while read -r line; do
    dm_uuid=$(echo "$line" | awk -F'=' '{print $2}')
    disk_name=$(echo "$line" | awk '{print $1}')
    echo "KERNEL==\"dm-*\",ENV{DM_UUID}==\"${dm_uuid}\",SYMLINK+=\"${disk_name}\",OWNER=\"grid\",GROUP=\"asmadmin\",MODE=\"0660\"" >>/etc/udev/rules.d/99-oracle-asmdevices.rules
done </dev/mapper/udev_info
##重载udev
udevadm control --reload-rules
udevadm trigger --type=devices
ll /dev/asm*


📢 注意: 这里由于没有创建 grid 用户,因此权限和组是 root,等创建 grid 用户后,再次重载 udev 即可!

确认配置完成后,分别在两个节点输入命令 ls /dev/asm* 查看是否已经成功绑定!

5、hosts文件配置(rac01&rac02)


配置hostname:

hostnamectl set-hostname p19c01
hostnamectl set-hostname p19c02

配置hosts文件:

cat <<EOF>>/etc/hosts
#Public IP
192.168.134.232     p19c01
192.168.134.233     p19c02

#Private IP
1.1.1.1 p19c01-priv
1.1.1.2 p19c02-priv

#Vip IP
192.168.134.234 p19c01-vip
192.168.134.235 p19c02-vip

#Scan IP
192.168.134.236 p19c-scan
EOF

6、防火墙配置(rac01&rac02)


systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl status firewalld.service

在这里插入图片描述

7、selinux 配置(rac01&rac02)


配置 selinux 临时生效:

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
getenforce

📢 注意: selinux 配置需要重启生效!

8、时间同步配置(rac01&rac02)


禁用chronyd:

yum install -y chrony
timedatectl set-timezone Asia/Shanghai
systemctl stop chronyd.service
systemctl disable chronyd.service

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

配置ntpdate时间同步计划任务:

yum install -y ntpdate
##10.211.55.200为时间服务器IP,每天12点同步系统时间
cat <<EOF>>/var/spool/cron/root
00 12 * * * /usr/sbin/ntpdate -u 192.168.134.232 && /usr/sbin/hwclock -w
EOF
##查看计划任务
crontab -l
##手动执行
/usr/sbin/ntpdate -u 192.168.134.232 && /usr/sbin/hwclock -w

在这里插入图片描述

9、关闭透明大页和NUMA(rac01&rac02)


Linux 7 配置内核文件,关闭透明大页和numa:

sed -i 's/quiet/quiet transparent_hugepage=never numa=off/' /etc/default/grub
grub2-mkconfig -o /boot/grub2/grub.cfg

重启后检查是否生效:

cat /sys/kernel/mm/transparent_hugepage/enabled 
cat /proc/cmdline

在这里插入图片描述

📢 注意: 关闭 透明大页numa 的配置,需要重启主机生效!

10、avahi-daemon 配置(rac01&rac02)

有些主机安装选择最小化安装,没有安装 avahi-daemon 功能,建议安装之后禁用,防止以后误操作导致出问题:

yum install -y avahi*
systemctl stop avahi-daemon.socket
systemctl stop avahi-daemon.service
pgrep -f avahi-daemon | awk '{print "kill -9 "$2}'
systemctl disable avahi-daemon.socket
systemctl disable avahi-daemon.service

配置 NOZEROCONF:

cat <<EOF>>/etc/sysconfig/network
NOZEROCONF=yes
EOF

在这里插入图片描述

11、系统参数配置(rac01&rac02)

安装 Oracle 数据库需要配置系统参数,以下使用脚本命令一键式配置:

memTotal=$(grep MemTotal /proc/meminfo | awk '{print $2}')
totalMemory=$((memTotal / 2048))
shmall=$((memTotal / 4))
if [ $shmall -lt 2097152 ]; then
	shmall=2097152
fi
shmmax=$((memTotal * 1024 - 1))
if [ "$shmmax" -lt 4294967295 ]; then
	shmmax=4294967295
fi
cat <<EOF>>/etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = $shmall
kernel.shmmax = $shmmax
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
net.ipv4.conf.ens33.rp_filter = 1
net.ipv4.conf.ens34.rp_filter = 2
EOF

在这里插入图片描述

生效系统参数:

sysctl -p

在这里插入图片描述

12、系统资源限制配置(rac01&rac02)

配置limits.conf:

cat <<EOF>>/etc/security/limits.conf
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
oracle soft nproc 2047
oracle hard nproc 16384
oracle hard memlock 134217728
oracle soft memlock 134217728

grid soft nofile 1024
grid hard nofile 65536
grid soft stack 10240
grid hard stack 32768
grid soft nproc 2047
grid hard nproc 16384
EOF

配置pam.d/login:

cat <<EOF>>/etc/pam.d/login
session required pam_limits.so 
session required /lib64/security/pam_limits.so
EOF

img

13、用户及组、目录创建(rac01&rac02)

创建安装 Oracle 数据库所需的用户、组以及安装目录:

/usr/sbin/groupadd -g 54321 oinstall
/usr/sbin/groupadd -g 54322 dba
/usr/sbin/groupadd -g 54323 oper
/usr/sbin/groupadd -g 54324 backupdba
/usr/sbin/groupadd -g 54325 dgdba
/usr/sbin/groupadd -g 54326 kmdba
/usr/sbin/groupadd -g 54327 asmdba
/usr/sbin/groupadd -g 54328 asmoper
/usr/sbin/groupadd -g 54329 asmadmin
/usr/sbin/groupadd -g 54330 racdba

img
grid/oracle 用户创建:

/usr/sbin/useradd -u 11012 -g oinstall -G asmadmin,asmdba,asmoper,dba,racdba,oper grid
/usr/sbin/useradd -u 54321 -g oinstall -G asmdba,dba,backupdba,dgdba,kmdba,racdba,oper oracle
##修改用户密码为123456
echo "123456" |passwd oracle --stdin
echo "123456" |passwd grid --stdin
##查看用户组
id grid
id oracle
##重载udev
/sbin/udevadm trigger --type=devices --action=change
/sbin/udevadm control --reload-rules
ll /dev/asm*
ll /dev/dm*

img
img
📢 注意: 这里udev重载之后,绑盘权限已经变成 grid 了!

创建软件目录:

mkdir -p /u01/app/19.3.0/grid
mkdir -p /u01/app/grid
mkdir -p /u01/app/oracle/product/19.3.0/db
mkdir -p /u01/app/oraInventory
mkdir -p /backup
mkdir -p /home/oracle/scripts
chown -R oracle:oinstall /backup
chown -R oracle:oinstall /home/oracle/scripts
chown -R grid:oinstall /u01
chown -R grid:oinstall /u01/app/grid
chown -R grid:oinstall /u01/app/19.3.0/grid
chown -R grid:oinstall /u01/app/oraInventory
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01

img

14 环境变量配置(rac01&rac02)

grid用户环境变量:

cat <<EOF>>/home/grid/.bash_profile
################OracleBegin#########################
umask 022
export TMP=/tmp
export TMPDIR=\$TMP
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/19.3.0/grid
export ORACLE_TERM=xterm
export TNS_ADMIN=\$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib
export ORACLE_SID=+ASM2
export PATH=/usr/sbin:\$PATH
export PATH=\$ORACLE_HOME/bin:\$ORACLE_HOME/OPatch:\$PATH
alias sas='sqlplus / as sysasm'
export PS1="[\`whoami\`@\`hostname\`:"'\$PWD]\$ ' 
EOF

img

📢 注意: 每个节点的 ORACLE_SID 不一样(+ASM1/+ASM2),需要自行修改!

oracle用户环境变量:

cat <<EOF>>/home/oracle/.bash_profile
################OracleBegin#########################
umask 022
export TMP=/tmp
export TMPDIR=\$TMP
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=\$ORACLE_BASE/product/19.3.0/db
export ORACLE_HOSTNAME=p19c02
export ORACLE_TERM=xterm
export TNS_ADMIN=\$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib
export ORACLE_SID=p19c02
export PATH=/usr/sbin:\$PATH
export PATH=\$ORACLE_HOME/bin:\$ORACLE_HOME/OPatch:\$PATH
alias sas='sqlplus / as sysdba'
export PS1="[\`whoami\`@\`hostname\`:"'\$PWD]\$ '
################OracleEnd#########################
EOF

img

📢 注意: 每个节点的 ORACLE_HOSTNAME(p19c01/p19c02)和 ORACLE_SID(p19c01/p19c02)不一样,需要自行修改!

15、安装介质上传解压(rac01)

安装包使用 XFTP 工具进行上传,只需要上传至一节点 /soft 目录下:

##创建安装介质存放目录
mkdir /soft
##上传安装介质到/soft目录
LINUX.X64_193000_db_home.zip
LINUX.X64_193000_grid_home.zip
p32545008_190000_Linux-x86-64.zip
p6880880_190000_Linux-x86-64.zip

📢 注意: 19C 的安装包需要解压到对应的 ORACLE_HOME 目录下!

静默解压grid安装包:

chown -R grid:oinstall /soft
su - grid -c "unzip -q /soft/LINUX.X64_193000_grid_home.zip -d /u01/app/19.3.0/grid/"

静默解压oracle安装包:

chown -R oracle:oinstall /soft
su - oracle -c "unzip -q /soft/LINUX.X64_193000_db_home.zip -d /u01/app/oracle/product/19.3.0/db/"

静默解压补丁安装包:

cd /soft
##解压RU补丁包
chown -R grid:oinstall /soft
su - grid -c "unzip -q -o /soft/p6880880_190000_Linux-x86-64.zip -d /u01/app/19.3.0/grid"
##解压OPatch补丁包
su - grid -c "unzip -q /soft/p33182768_190000_Linux-x86-64.zip -d /soft"
chown -R oracle:oinstall /soft
su - oracle -c "unzip -q -o /soft/p6880880_190000_Linux-x86-64.zip -d /u01/app/oracle/product/19.3.0/db"

img
img

📢 注意: 由于19C支持安装grid软件前打RU补丁,因此提前解压OPatch和RU补丁,为安装做准备!

root用户下,cvuqdisk安装(rac01&rac02):

img

rpm -ivh /u01/app/19.3.0/grid/cv/rpm/cvuqdisk-1.0.10-1.rpm 
##传输到节点二安装
scp cvuqdisk-1.0.10-1.rpm p19c02:/soft
rpm -ivh /soft/cvuqdisk-1.0.10-1.rpm 

img

📢 注意: 19C 版本的 cvu 包换位置了,目录为:$ORACLE_HOME/cv/rpm/,以上所有软件只需要在节点一上传解压即可。

至此,准备工作已经完成,安装前重启主机!

重启后,检查 selinux、numa 和透明大页:

img

三、安装Grid软件(rac01)

关于 VNC 配置具体可参考文章:

Linux 配置 VNC 远程桌面

配置 grid 用户 vnc 图形界面:

##root用户下切换到grid用户
chown -R grid:oinstall /soft
su - grid
##执行vncserver,按提示输入密码即可
vncserver

img

在 vnc 客户端界面输入 10.211.55.100:1,输入刚才输入的密码即可连接:

img
img

打开终端命令行:

img

开始安装:

##应用环境变量
source ~/.bash_profile
##进入安装目录
cd $ORACLE_HOME
##执行安装程序开始安装,通过-applyRU参数指向补丁解压位置,提前安装grid补丁
./gridSetup.sh -applyRU /soft/33182768

img

注意: 可以看到,已经开始对ORACLE_HOME进行补丁安装。

补丁打完,进入安装界面,选择集群安装:

选择 standlone 模式:

img

修改 scan 名称,与 hosts 文件配置 scan 名称保持一致:

img
img

添加节点二信息,进行互信:

img

输入 grid 用户密码,创建用户时两节点必须保持一致。先执行 setup,再执行 test,开始互信:

img

img

确保对应网卡和IP网段对应即可,19C 心跳网段需要选 ASM & Private,用于 ASM 实例的托管:

img

选择存储类型,19C 只有两个选项,ASM 只能选 Flex:

img

GIMR,这里不选择安装:

img

安装时填创建 OCR 盘,一块盘冗余 External,目录选择udev绑的路径:

img

img

填写 sys/system 密码,需要记住自己设置的密码:

img

默认即可:

img

EM 选择不开,比较占资源,后面安装好后可以配置:

img

默认即可:

img

img

img

img

安装预检查,由于我们只配了一个SCAN,所以关于 DNS 相关的都无视,继续:

img

开始安装 grid:

img

两节点顺序执行 root.sh,先节点一执行完,再节点二执行:

在这里插入图片描述

在这里插入图片描述

两个节点的 root.sh 都执行完之后,继续安装:

img

这个错误查过 MOS 可以忽略:

img

安装完成:

img检查集群状态:

su - grid
crsctl stat res -t

在这里插入图片描述
检查 grid 补丁:

su - grid
opatch lspatches
sqlplus -version

在这里插入图片描述

四、创建 ASM 数据盘 DATA

这里创建的 DATA 磁盘组主要用于存放数据文件、日志文件等数据库文件!

使用图形化方式添加 ASM DATA 数据盘:

asmca

img

img

img

检查 asm 磁盘:

asmcmd lsdg

在这里插入图片描述
建议重启两台主机,检查重启后 Grid 集群是否正常运行!

四、安装Oracle软件

配置 oracle 用户 vnc 图形界面:

chown -R oracle:oinstall /soft
##root用户下切换到grid用户
su - oracle
##执行vncserver,按提示输入密码即可
vncserver

在 vnc 客户端界面输入把你的ip,输入刚才输入的密码即可连接:

img

右键打开终端:

img

开始安装:

##应用环境变量
source ~/.bash_profile
##进入ORACLE_HOME目录
cd $ORACLE_HOME
##执行安装程序开始安装,加上jar包防止弹窗不显示问题
./runInstaller 

📢 注意: 可以看到,已经开始对 ORACLE_HOME 进行补丁安装!

补丁打完,进入安装界面,选择仅安装 Oracle 软件:

img

选择集群模式:

img

输入 oracle 用户密码,先执行 setup,再执行 test,开始互信:

在这里插入图片描述

img

选择企业版:

img

默认即可:

img

img

img

安装预检查,由于我们只配了一个 SCAN,所以关于 DNS 相关的都无视,继续:

img

开始安装:

img

root 用户下,两个节点顺序执行 root.sh:

img
在这里插入图片描述

安装完成:

img

检查补丁版本:

su - oracle
sqlplus -version

至此,Oracle 软件已成功安装!

在这里插入图片描述

五、创建数据库实例

这里建库还是在第四步安装 Oracle 软件的 vnc 界面中继续:

dbca

img

选择创建数据库实例:

img

选择自定义模式:

img

选择基础安装即可:

img

选择节点:

img

填写实例名 p19c0,由于默认添加为1,2,实例名规划为 p19c01/02,所以需要加个0;选择安装 CDB 模式,不创建PDB:

img

默认即可,使用 OMF 模式:

在这里插入图片描述

不开闪回,不开归档,可以建完实例后再配置:

img

配置内存,使用 ASMM 模式,数据库总内存占用物理内存 70%-90% 之间:

img

使用基础模式安装,block_size 是无法修改的,process 进程数修改为1500,根据实际情况修改:

img

配置数据库字符集,默认 AL32UTF8,国家字符集,默认 AL16UTF16;根据实际情况修改:

img

建议打开第一个:

img
在这里插入图片描述

填写sys/system密码:

img

默认即可:

img

安装预检查,DNS 相关忽略:

img

开始安装:

img

img

经过漫长的等待,数据库建完了:

接下来最重要的事情就是更新补丁,这个时间会很长的大家不用担心,等着就行,报错另说,我的是因为安装过程中失败了一次,所以实例名改掉了,然后正常安装实例名是对应的正确的

补丁更新操作(一节点操作完成后再进行下一个节点操作):
 
节点一:

1. 补丁冲突检测 (root用户)

export PERL5LIB=/u01/app/19.3.0/grid/perl/lib
export PATH=$PATH:/u01/app/19.3.0/grid/OPatch

opatchauto apply /soft/33182768 -analyze

2. 打补丁(root用户)

export PERL5LIB=/u01/app/19.3.0/grid/perl/lib
export PATH=$PATH:/u01/app/19.3.0/grid/OPatch

/u01/app/19.3.0/grid/OPatch/opatchauto apply /soft/33182768

节点二
安装包使用 XFTP 工具进行上传,只需要上传至一节点 /soft 目录下:

##创建安装介质存放目录
mkdir /soft
##上传安装介质到/soft目录
LINUX.X64_193000_db_home.zip
LINUX.X64_193000_grid_home.zip
p32545008_190000_Linux-x86-64.zip
p6880880_190000_Linux-x86-64.zip

📢 注意: 19C 的安装包需要解压到对应的 ORACLE_HOME 目录下!

静默解压grid安装包:

chown -R grid:oinstall /soft
su - grid -c "unzip -q /soft/LINUX.X64_193000_grid_home.zip -d /u01/app/19.3.0/grid/"

静默解压oracle安装包:

chown -R oracle:oinstall /soft
su - oracle -c "unzip -q /soft/LINUX.X64_193000_db_home.zip -d /u01/app/oracle/product/19.3.0/db/"

静默解压补丁安装包:

cd /soft
##解压RU补丁包
chown -R grid:oinstall /soft
su - grid -c "unzip -q -o /soft/p6880880_190000_Linux-x86-64.zip -d /u01/app/19.3.0/grid"
##解压OPatch补丁包
su - grid -c "unzip -q /soft/p33182768_190000_Linux-x86-64.zip -d /soft"
chown -R oracle:oinstall /soft
su - oracle -c "unzip -q -o /soft/p6880880_190000_Linux-x86-64.zip -d /u01/app/oracle/product/19.3.0/db"

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

在这里插入图片描述

至此,数据库实例创建完成!*
六、数据库优化配置(rac01)
1、开启数据库归档模式
关于开启归档模式,具体可参考文章:

Oracle 开启归档模式

##关闭数据库实例
srvctl stop database -d p19c0
##开启单个节点到mount模式
srvctl start instance -d p19c0 -i p19c01 -o mount
##开启归档
sqlplus / as sysdba
alter database archivelog;
##设置归档路径
ALTER SYSTEM SET LOG_ARCHIVE_DEST_1='LOCATION=+DATA';
exit;
##重启数据库实例
srvctl stop instance -d p19c0 -i p19c01
srvctl start database -d p19c0
##检查归档
sqlplus / as sysdba
archive log list

2、配置定期删除归档计划任务
关于归档日志删除,具体可参考文章:

Oracle RMAN删除归档日志脚本

##进入oracle用户
su - oracle
mkdir -p /home/oracle/scripts/
##写入脚本
{
	echo '#!/bin/bash'
    echo 'source ~/.bash_profile'
    echo 'deltime=`date +"20%y%m%d%H%M%S"`'
    echo "rman target / nocatalog msglog /home/oracle/scripts/del_arch_\${deltime}.log<<EOF"
    echo 'crosscheck archivelog all;'
    echo "delete noprompt archivelog until time 'sysdate-7';"
    echo "delete noprompt force archivelog until time 'SYSDATE-10';"
    echo 'EOF'
} >>/home/oracle/scripts/del_arch.sh
chmod +x /home/oracle/scripts/del_arch.sh

切换到 oracle 用户写入计划任务:

cat <<EOF>>/var/spool/cron/oracle
12 00 * * * /home/oracle/scripts/del_arch.sh
EOF
##手动执行测试
su - oracle
/home/oracle/scripts/del_arch.sh

3、配置数据库开机自启
配置数据库实例随集群服务自启动:

##root用户下执行

/u01/app/19.3.0/grid/bin/crsctl modify resource "ora.p19c0.db" -attr "AUTO_START=always" -unsupported

注意: ora.p19c0.db中的 p19c0 是指 db 名称;需要在 root 用户下执行!

所有都配置完成之后,关闭数据库,重启主机!
后续想要进行其他的优化可以去看看下面的文章
https://blog.csdn.net/OceanWaves1993/article/details/130232193

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/333830.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【论文简介】个性化真实人像生成方法(2024.01.15发布,即将开源)

零样本身份保留生成方法&#xff1a;声称效果好于PhotoMaker&#xff08;即将开源&#xff09; 2401.InstantID: Zero-shot Identity-Preserving Generation in Seconds &#xff1a; 项目主页&#xff1a;https://instantid.github.io/ 一、简介 本文的主要内容是介绍了一种…

【MATLAB】SVMD_LSTM神经网络时序预测算法

有意向获取代码&#xff0c;请转文末观看代码获取方式~也可转原文链接获取~ 1 基本定义 SVMD-LSTM神经网络时序预测算法是一种结合了单变量经验模态分解&#xff08;Singular Value Decomposition&#xff0c;SVD&#xff09;和长短期记忆神经网络&#xff08;LSTM&#xff09…

十年很短,编程很难

前天冲浪看到的一篇文章&#xff0c;深有感触&#xff0c;翻译给大家一起看看吧 许多年前&#xff0c;当我仍是一名主修计算机科学的高年级学生时&#xff0c;我整天浏览各种在线招聘信息&#xff0c;希望能找到适合程序员的实习职位 除了实习职位&#xff0c;我偶尔也会点击一…

统计学R语言实验8 :线性回归

统计学R语言实验8 &#xff1a;线性回归 一、实验目的 1. 掌握理解线性回归的相关概念。 2. 掌握理解线性回归的相关方法。 3. 熟悉R语言等语言的集成开发环境。 二、实验分析与内容 完成教材P132的第2题 散点图 将 shouru 向量作为 x 轴&#xff0c;zhichu 向量作为 y 轴…

各模块的实现

注册模块&#xff1a; 注册使用手机号发送验证码注册的方式&#xff0c;使用的是阿里云的短信发送服务&#xff0c;然后进行认证&#xff0c;有个60s的时间&#xff0c;可以存到redis中&#xff0c;key是手机号&#xff0c;value是验证码。 使用Spring自带的BCryptPasswordEn…

《亚太教育》期刊投稿方式

《亚太教育》杂志是国家新闻出版总署批准的正规教育类期刊&#xff0c;旨在传播教育文化信息和动态&#xff0c;展示教育实践模式和经验&#xff0c;搭建教育科研成果交流平台。杂志将致力于服务教育事业的创新发展&#xff0c;传播教育文化新信息&#xff0c;展示教育实践新模…

java基础:求数组的最值

方法一&#xff1a;顺序查找 先假设数组第一个元素为最值&#xff0c;然后和数组里的数按顺序进行比较得出最值&#xff0c;所以叫顺序查找。 代码如下 package idea;public class arr_int {public static void main(String[] args) { // 初始化一个数组int[] arr {12…

第十一章 请求响应

第十一章 请求响应 1.概述2.请求-postman工具3.请求-简单参数&实体参数4.请求-数组集合参数5.请求-日期参数&JSON参数6.请求-路径参数7.响应-ResponseBody&统一响应结果8.响应-案例 1.概述 将前端发送的请求封装为HttpServletRequest对象 在通过HttpServletRespo…

经典数据库练习题及答案

数据表介绍 --1.学生表 Student(SId,Sname,Sage,Ssex) --SId 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别 --2.课程表 Course(CId,Cname,TId) --CId 课程编号,Cname 课程名称,TId 教师编号 --3.教师表 Teacher(TId,Tname) --TId 教师编号,Tname 教师姓名 --4.成绩…

freeswitch on centos dockerfile模式

概述 freeswitch是一款简单好用的VOIP开源软交换平台。 centos7 docker上编译安装fs的流程记录&#xff0c;本文使用dockerfile模式。 环境 docker engine&#xff1a;Version 24.0.6 centos docker&#xff1a;7 freeswitch&#xff1a;v1.6.20 dockerfile 创建空目录…

基于springboot+vue的校园周边美食探索及分享平台系统(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目背景…

使用 MinIO 和 PostgreSQL 简化数据事件

本教程将教您如何使用 Docker 和 Docker Compose 在 MinIO 和 PostgreSQL 之间设置和管理数据事件&#xff0c;也称为存储桶或对象事件。 您可能已经在利用 MinIO 事件与外部服务进行通信&#xff0c;现在您将通过使用 PostgreSQL 自动化和简化数据事件管理来增强数据处理能力…

怎么处理vue项目中的错误详解

文章目录 一、错误类型二、如何处理后端接口错误代码逻辑问题全局设置错误处理生命周期钩子 三、源码分析小结参考文献 一、错误类型 任何一个框架&#xff0c;对于错误的处理都是一种必备的能力 在 Vue 中&#xff0c;则是定义了一套对应的错误处理规则给到使用者&#xff0…

一万六千字大章:Chrome 浏览器插件 V3 版本 Manifest.json 文件全字段解析

Chrome 浏览器插件 V3 版本 Manifest.json 文件全字段解析 Manifest.json 文件格式 每个扩展程序的根目录中都必须有一个 manifest.json 文件&#xff0c;其中列出了有关该扩展程序的结构和行为的重要信息。 1、Demo 展示 1. 最小文件 {"manifest_version": 3,&quo…

Git入门详细教程

一、Git概述&#x1f387; Git官网 Git是一个开源的分布式版本控制系统&#xff0c;用于跟踪文件的变化和协作开发。它允许多个开发者在同一项目中共同工作&#xff0c;并能够有效地管理代码的版本和历史记录。Git可以帮助开发团队更好地协作&#xff0c;追踪代码变更&#xf…

云轴科技ZStack 助力广西某地级市建设市级警务云视频系统

某市属于广西壮族自治区辖地级市&#xff0c;省域副中心城市&#xff0c;选择云轴科技ZStack 超融合解决方案支撑警务云视频监控联网管理系统&#xff08;警务云视频系统&#xff09;&#xff0c;实现了该市对各辖区视频资源统一管理&#xff1b;同时也满足了该市警务云视频系统…

技术分享 | App常见bug解析

在 app 产品测试过程中&#xff0c;可能会遇到很多不同类型的 Bug。知道了可能 Bug 的类型&#xff0c;有利于在测试过程中更好的预防这些问题的发生。 功能Bug 内容显示错误 前端页面展示的内容有误。 这种错误的产生有两种可能 前端代码写的文案错误接口返回值错误 功能…

windows安装mysql5.7

看了如何学习mysql后&#xff0c;就开始本地安装mysql&#xff0c;开始学习了。 1.官网下载 官网地址&#xff1a; https://dev.mysql.com/downloads/mysql/ 选择5.7版本 点击 “No thanks, just start my download”开始下载 下载64位的压缩包版 解压下载好的.zip文件&#xf…

游戏开发中的噪声算法

一、噪声 噪声是游戏编程的常见技术&#xff0c;广泛应用于地形生成&#xff0c;图形学等多方面。 那么为什么要引入噪声这个概念呢&#xff1f;在程序中&#xff0c;我们经常使用直接使用最简单的rand()生成随机值&#xff0c;但它的问题在于生成的随机值太“随机”了&#xf…

X-Bogus加密参数分析与jsvmp算法(仅供学习)

文章目录 1. 抓包分析2. X-Bogus参数分析 【作者主页】&#xff1a;吴秋霖 【作者介绍】&#xff1a;Python领域优质创作者、阿里云博客专家、华为云享专家。长期致力于Python与爬虫领域研究与开发工作&#xff01; 【作者推荐】&#xff1a;对JS逆向感兴趣的朋友可以关注《爬虫…