实战篇:SUSE 15 SP3 安装 Oracle 19C RAC 数据库
前言
这两天看到交流群里有朋友咨询 SUSE 15 SP3 安装 Oracle 19C RAC 遇到点问题,趁着周末有时间,抱着学习的心态,研究了一下如何安装,接下来就分享一下从零开始部署的流程!
总体来说,和 RHEL 部署流程上大同小异,主要是有一些命令不一样,废话不多说直接开始了~
目录
- 前言
- 一、安装 SUSE 15 SP3
- 二、安装前配置
- 三、主机配置
-
- 1、配置 zypper 源并安装依赖包(rac01&rac02)
- 2、用户及组、目录创建(rac01&rac02)
- 3、创建软件目录:
- 4、存储配置(rac01&rac02)
- 5、UDEV 配置共享存储:
- 6、hosts文件配置(rac01&rac02)
- 7、防火墙配置(rac01&rac02)
- 8、时间同步配置(rac01&rac02)
- 9、关闭透明大页和NUMA(rac01&rac02)
- 10、avahi-daemon 配置(rac01&rac02)
- 11、removeIPC
- 12、系统参数配置(rac01&rac02)
- 13、系统资源限制配置(rac01&rac02)
- 14、安装 rlwrap
- 15、环境变量配置(rac01&rac02)
- 16、安装介质上传解压(rac01)
- 四、安装Grid软件(rac01)
- 五、创建 ASM 数据盘 DATA
- 六、安装Oracle软件
- 七、创建数据库实例
- 八、数据库优化配置(rac01)
一、安装 SUSE 15 SP3
首先,我们去官网下载 15 SP3 的安装镜像:SUSE Linux Enterprise Server
镜像比较大,大概 12G 左右,开始安装系统!
本次演示的是 Parallel Desktop 虚拟机安装,其他虚拟机一样:
选取下载好的安装介质后,虚拟机名字为 SUSE01
:
由于是 19C RAC,因此配置物理内存为 8G:
至少需要2张网卡,因此添加一个网卡作为心跳:
挂载官网下载好的镜像源:
继续:
上面的步骤,其他的虚拟机或许不一样,下面的正式开始安装流程都是一致的:
选择语言环境和版本:
跳过注册:
建议安装过程中直接配置网络:
两张网卡,一张 eth0 用于公网,一张 eth1 用于心跳:
eth0:
eth1:
已配置好两张网卡:
配置主机名:
继续安装:
手工配置系统分区:
首先创建一个 /boot 分区:
将剩余磁盘空间创建为 LVM,用于系统安装:
创建 rootvg 分区:
创建 swaplv 分区:
创建根分区 rootlv:
选择时区:
不创建用户:
输入 root 密码:
关闭防火墙和kdump:
开始安装:
安装完成:
以同样的步骤安装第二个节点!
二、安装前配置
安装RAC前,当然要先做好规划。具体包含以下几方面:
节点 | 系统 | Oracle版本 | 主机名 | 实例名 | PublicIP | PirvateIP | VirtualIP | SCANIP |
---|---|---|---|---|---|---|---|---|
1 | SLSE 15 SP3 | 19C | suse01 | orcl1 | 10.211.55.100 | 10.10.10.1 | 10.211.55.102 | 10.211.55.105 |
2 | SLSE 15 SP3 | 19C | suse02 | orcl2 | 10.211.55.101 | 10.10.10.2 | 10.211.55.103 | 10.211.55.105 |
1、系统规划
- 主机名: 需要英文字母开头,建议小写,suse01/suse02
- 集群名称: 长度不超过15位,suse-cluster
- Linux系统版本: SLSE 15 SP3
- 磁盘: 本地磁盘 64G,用于安装 OS,存放 grid 和 oracle 安装软件,用于 oracle 和 grid 安装目录
- ASM共享盘:
裁决盘OCR:OCR+VOTING=10G、冗余模式:EXTERNAL
数据盘DATA:DATA=20G、冗余模式:EXTERNAL(数据文件,归档日志文件,spfile 文件等) - RU升级路径: 19C 的补丁已经不叫PSU,改为 RU
本次是从 19.3.0 升级到 19.13.0,Oracle 官网下载的基础版是 19.3.0!
⭐️ 如果想要使用脚本安装,可以使用博主编写的 Oracle 一键安装脚本,同时支持单机和 RAC 集群模式!
更多更详细的脚本使用方式可以订阅专栏:Oracle一键安装脚本。
2、网络规划
Public IP(公司内部访问,非外网)
10.211.55.100 suse01
10.211.55.101 suse02
Private IP(用于节点间心跳网络)
10.10.10.1 suse01-priv
10.10.10.2 suse02-priv
Virtual IP(提供客户端访问,漂移)
10.211.55.102 suse01-vip
10.211.55.103 suse02-vip
SCAN IP(提供客户端访问,均衡)
10.211.55.105 suse-scan
3、存储规划
Oracle RAC 使用 ASM 存储来存放数据,通常使用 OCR 和 DATA 两个磁盘组!
磁盘名称 | 磁盘用途 | 磁盘大小 |
---|---|---|
asm-ocr | OCR/Voting File | 10G |
asm-data | Data Files | 20G |
三、主机配置
注意: 以下标题中(rac01&rac02)代表节点一和节点二都需要执行,(rac01)代表只需要节点一执行。
1、配置 zypper 源并安装依赖包(rac01&rac02)
Linux远程连接工具:
- 本文将使用XShell和Xftp工具,安装包可以在官网下载,也可私信博主获取。
- 其他工具也可以,比如:putty,SecureCRT 等等工具。
Parallels Desktop挂载Linux主机镜像:
挂载镜像:
mount /dev/cdrom /mnt
df -Th /mnt
配置 zypper 源:
zypper ar -f /mnt/Module-Basesystem sle15
zypper ar -f /mnt/Module-Legacy sle15-Legacy
zypper ar -f /mnt/Module-Development-Tools sle15-Tools
安装依赖包:
zypper in -y gcc bc binutils glibc glibc-devel insserv-compat libaio-devel libaio1 libX11-6 libXau6 libXext-devel libXext6 libXi-devel libXi6 libXrender-devel libXrender1 libXtst6 libcap-ng-utils libcap-ng0 libcap-progs libcap1 libcap2 libelf1 libgcc_s1 libjpeg8 libpcap1 libpcre1 libpcre16-0 libpng16-16 libstdc++6 libtiff5 libgfortran4 mksh make pixz rdma-core rdma-core-devel smartmontools sysstat xorg-x11-libs xz compat-libpthread-nonshared readline-devel
检查依赖包安装情况:
rpm -q gcc bc binutils glibc glibc-devel insserv-compat libaio-devel libaio1 libX11-6 libXau6 libXext-devel libXext6 libXi-devel libXi6 libXrender-devel libXrender1 libXtst6 libcap-ng-utils libcap-ng0 libcap-progs libcap1 libcap2 libelf1 libgcc_s1 libjpeg8 libpcap1 libpcre1 libpcre16-0 libpng16-16 libstdc++6 libtiff5 libgfortran4 mksh make pixz rdma-core rdma-core-devel smartmontools sysstat xorg-x11-libs xz compat-libpthread-nonshared readline-devel --qf '%{name}.%{arch}\n' | grep "未安装软件包" | wc -l
注意: 依赖一定要安装成功,否则可能导致安装失败!
2、用户及组、目录创建(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 54330 racdba
/usr/sbin/groupadd -g 54327 asmdba
/usr/sbin/groupadd -g 54328 asmoper
/usr/sbin/groupadd -g 54329 asmadmin
grid/oracle 用户创建并修改密码:
/usr/sbin/useradd -m -u 11012 -g oinstall -G asmadmin,asmdba,asmoper,dba,racdba,oper grid
passwd grid
/usr/sbin/useradd -m -u 54321 -g oinstall -G asmdba,dba,backupdba,dgdba,kmdba,racdba,oper oracle
passwd oracle
查看用户组
id grid
id oracle
3、创建软件目录:
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
4、存储配置(rac01&rac02)
Windows 下配置 ISCSI 共享存储可参考:
配置好共享存储后,在 Linux 主机连接共享存储:
##iscsi识别共享存储
##输出targetname,10.211.55.61 为iscsi共享存储设备 IP地址
iscsiadm -m discovery -t st -p 10.211.55.61
##连接共享存储
iscsiadm -m node -T iqn.2008-08.com.starwindsoftware:10.211.55.61-lucifer -p 10.211.55.61 -l
lsblk
## 设置开机自启动
iscsiadm -m node -T iqn.2008-08.com.starwindsoftware:10.211.55.61-lucifer -p 10.211.55.61 -o update -n node.startup -v automatic
5、UDEV 配置共享存储:
设置 multipath 开机自启:
systemctl start multipathd
systemctl enable multipathd
systemctl status multipathd
配置 multipath 文件:
cat <<EOF >/etc/multipath.conf defaults { user_friendly_names yes } blacklist { devnode "^sda" } multipaths { multipath { wwid "$(/usr/lib/udev/scsi_id -g -u /dev/sdb)" alias ocr_1 } multipath { wwid "$(/usr/lib/udev/scsi_id -g -u /dev/sdc)" alias data_1 } } EOF
激活 multipath:
multipath -v2
multipath -ll
绑定 UDEV:
cd /dev/mapper
for i in ocr_* data_*; do
printf "%s %s\n" "$i" "$(udevadm info --query=all --name=/dev/mapper/"$i" | grep -i dm_uuid)" >>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+=\"asm_${disk_name}\",OWNER=\"grid\",GROUP=\"asmadmin\",MODE=\"0660\"" >>/etc/udev/rules.d/99-oracle-asmdevices.rules
done </dev/mapper/udev_info
cat /etc/udev/rules.d/99-oracle-asmdevices.rules
生效 UDEV:
udevadm control --reload-rules
udevadm trigger --type=devices
ll /dev/asm_*
6、hosts文件配置(rac01&rac02)
配置hostname:
hostnamectl set-hostname suse01
hostnamectl set-hostname suse02
配置hosts文件:
cat <<EOF>>/etc/hosts
#Public IP
10.211.55.100 suse01
10.211.55.101 suse02
#Private IP
10.10.10.1 suse01-priv
10.10.10.2 suse02-priv
#Vip IP
10.211.55.102 suse01-vip
10.211.55.103 suse02-vip
#Scan IP
10.211.55.105 suse-scan
EOF
7、防火墙配置(rac01&rac02)
systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl status firewalld.service
8、时间同步配置(rac01&rac02)
禁用 chronyd:
zypper in -y chrony
timedatectl set-timezone Asia/Shanghai
systemctl stop chronyd.service
systemctl disable chronyd.service
systemctl status chronyd.service
配置ntpdate时间同步计划任务:
zypper in -y ntp
##10.211.55.61 为时间服务器IP,每天12点同步系统时间
cat <<EOF>>/var/spool/cron/root
00 12 * * * /usr/sbin/ntpdate -u 10.211.55.61 && /usr/sbin/hwclock -w
EOF
##查看计划任务
crontab -l
##手动执行
/usr/sbin/ntpdate -u 10.211.55.61 && /usr/sbin/hwclock -w
9、关闭透明大页和NUMA(rac01&rac02)
SUSE 15 SP3 配置内核文件,关闭透明大页和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 功能,建议安装之后禁用,防止以后误操作导致出问题:
zypper in -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.service
systemctl disable avahi-daemon.socket
systemctl status avahi-daemon.service
systemctl status avahi-daemon.socket
11、removeIPC
sed -i 's/#RemoveIPC=no/RemoveIPC=no/g' /etc/systemd/logind.conf
systemctl daemon-reload
systemctl restart systemd-logind
12、系统参数配置(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 #OracleBegin ##shmmal's Calculation formula: physical memory 8G:(8*1024*1024*1024)/4096=2097152 ##shmmax's Calculation formula: physical memory 8G:(8/2)*1024*1024*1024 -1=4294967295 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 #OracleEnd EOF
生效系统参数:
sysctl -p
13、系统资源限制配置(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
配置 shm:
memTotal=$(grep MemTotal /proc/meminfo | awk '{print $2}')
cat <<EOF >>/etc/fstab tmpfs /dev/shm tmpfs size=${memTotal}k 0 0 EOF
mount -o remount /dev/shm
df -Th /dev/shm
14、安装 rlwrap
cd /soft
tar -xf rlwrap-0.42.tar.gz
cd rlwrap-0.42
./configure && make && make install
cd /soft
rm -rf rlwrap-0.42*
15、环境变量配置(rac01&rac02)
root 用户环境变量:
cat <<EOF >>/root/.profile ################OracleBegin######################### alias so='su - oracle' export PS1="[\`whoami\`@\`hostname\`:"'\$PWD]\$ ' alias crsctl='/u01/app/19.3.0/grid/bin/crsctl' alias sg='su - grid' ################OracleEnd########################### EOF
grid 用户环境变量:
cat <<EOF >>/home/grid/.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=+ASM1 export PATH=/usr/sbin:\$PATH export PATH=\$ORACLE_HOME/bin:\$ORACLE_HOME/OPatch:\$PATH alias sas='sqlplus / as sysasm' export PS1="[\`whoami\`@\`hostname\`:"'\$PWD]\$ ' alias sqlplus='rlwrap sqlplus' alias rman='rlwrap rman' alias lsnrctl='rlwrap lsnrctl' alias asmcmd='rlwrap asmcmd' alias adrci='rlwrap adrci' ################OracleEnd########################### EOF
注意: 每个节点的 ORACLE_SID 不一样(+ASM1/+ASM2),需要自行修改!
oracle用户环境变量:
cat <<EOF >>/home/oracle/.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=/u01/app/oracle/product/19.3.0/db export ORACLE_HOSTNAME=suse01 export ORACLE_TERM=xterm export TNS_ADMIN=\$ORACLE_HOME/network/admin export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib export ORACLE_SID=orcl1 export PATH=/usr/sbin:\$PATH export PATH=\$ORACLE_HOME/bin:\$ORACLE_HOME/OPatch:\$PATH alias sas='sqlplus / as sysdba' alias alert='tail -500f \$ORACLE_BASE/diag/rdbms/\$ORACLE_SID/\$ORACLE_SID/trace/alert_\$ORACLE_SID.log|more' export PS1="[\`whoami\`@\`hostname\`:"'\$PWD]\$ ' alias sqlplus='rlwrap sqlplus' alias rman='rlwrap rman' alias lsnrctl='rlwrap lsnrctl' alias asmcmd='rlwrap asmcmd' alias adrci='rlwrap adrci' alias ggsci='rlwrap ggsci' alias dgmgrl='rlwrap dgmgrl' ################OracleEnd########################### EOF
注意: 每个节点的 ORACLE_HOSTNAME(suse01/suse02)和 ORACLE_SID(orcl1/orcl2)不一样,需要自行修改!
16、安装介质上传解压(rac01)
安装包使用 XFTP 工具进行上传,只需要上传至一节点 /soft 目录下:
##上传安装介质到/soft目录
LINUX.X64_193000_db_home.zip
LINUX.X64_193000_grid_home.zip
p33182768_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/"
静默解压 RU 补丁安装包:
cd /soft
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"
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"
chown -R grid:oinstall /soft/33182768
注意: 由于19C支持安装grid软件前打RU补丁,因此提前解压OPatch和RU补丁,为安装做准备!
root用户下,cvuqdisk安装(rac01&rac02):
rpm -ivh /u01/app/19.3.0/grid/cv/rpm/cvuqdisk-1.0.10-1.rpm
##传输到节点二安装
scp /u01/app/19.3.0/grid/cv/rpm/cvuqdisk-1.0.10-1.rpm suse02:/soft
rpm -ivh /soft/cvuqdisk-1.0.10-1.rpm
注意: 19C 版本的 cvu 包换位置了,目录为:$ORACLE_HOME/cv/rpm/
,以上所有软件只需要在节点一上传解压即可。
至此,准备工作已经完成,安装前重启主机!
重启后,检查 numa 和透明大页:
注意: 重启后别忘记两个节点 ISCSI 连接共享存储:
iscsiadm -m node -T iqn.2008-08.com.starwindsoftware:10.211.55.61-lucifer -p 10.211.55.61 -l
四、安装Grid软件(rac01)
关于 VNC
配置具体可参考文章:
配置 grid 用户 vnc 图形界面:
##root用户下切换到grid用户
chown -R grid:oinstall /soft
su - grid
##执行vncserver,按提示输入密码即可
vncserver
在 vnc 客户端界面输入 10.211.55.100:2,输入刚才输入的密码即可连接:
打开终端命令行:
开始安装:
source ~/.profile
cd $ORACLE_HOME
##执行安装程序开始安装,通过-applyRU参数指向补丁解压位置,提前安装grid补丁
./gridSetup.sh -applyRU /soft/33182768
注意: 可以看到,已经开始对 ORACLE_HOME 进行补丁安装。
补丁打完,进入安装界面,选择集群安装:
选择 standlone 模式:
修改 scan 名称,与 hosts 文件配置 scan 名称保持一致:
添加节点二信息,进行互信:
输入 grid 用户密码,创建用户时两节点必须保持一致。先执行 setup,再执行 test,开始互信:
确保对应网卡和IP网段对应即可,19C 心跳网段需要选 ASM & Private,用于 ASM 实例的托管:
选择存储类型,19C 只有两个选项,ASM 只能选 Flex:
GIMR,这里不选择安装:
安装时填创建 OCR 盘,一块盘冗余 External,目录选择 udev 绑的路径:
填写 sys/system 密码,需要记住自己设置的密码:
默认即可:
EM 选择不开,比较占资源,后面安装好后可以配置:
默认即可:
安装预检查:
两个节点执行依赖安装:
zypper in -y libcap-ng0-32bit libcap1-32bit libcap2-32bit libgcc_s1-32bit libXtst6-32bit nfs-kernel-server libXi6-32bit libXrender1-32bit libpcre1-32bit libpng16-16-32bit libstdc++6-32bit libaio1-32bit
重新检查后,剩下的报错都是 DNS 相关的,可直接忽略:
开始安装 grid:
两节点顺序执行 root.sh,先节点一执行完,再节点二执行:
两个节点的 root.sh 都执行完之后,继续安装:
这个错误查过 MOS 可以忽略:
安装完成:
检查集群状态:
crsctl stat res -t
检查 grid 补丁:
su - grid
opatch lspatches
sqlplus -version
五、创建 ASM 数据盘 DATA
这里创建的 DATA 磁盘组主要用于存放数据文件、日志文件等数据库文件!
使用图形化方式添加 ASM DATA 数据盘:
asmca
检查 asm 磁盘:
asmcmd lsdg
建议重启两台主机,检查重启后 Grid 集群是否正常运行!
六、安装Oracle软件
配置 oracle 用户 vnc 图形界面:
chown -R oracle:oinstall /soft
##root用户下切换到grid用户
su - oracle
##执行vncserver,按提示输入密码即可
vncserver
##在vnc客户端界面输入10.211.55.100:1,输入刚才输入的密码即可连接。
在 vnc 客户端界面输入 10.211.55.100:1,输入刚才输入的密码即可连接:
右键打开终端:
开始安装:
##应用环境变量
source ~/.profile
##进入ORACLE_HOME目录
cd $ORACLE_HOME
##执行安装程序开始安装,加上jar包防止弹窗不显示问题
./runInstaller -applyRU /soft/33182768
注意: 可以看到,已经开始对 ORACLE_HOME 进行补丁安装!
补丁打完,进入安装界面,选择仅安装 Oracle 软件:
选择集群模式:
输入 oracle 用户密码,先执行 setup,再执行 test,开始互信:
选择企业版:
默认即可:
安装预检查,由于我们只配了一个 SCAN,所以关于 DNS 相关的都无视,继续:
开始安装:
root 用户下,两个节点顺序执行 root.sh:
安装完成:
检查补丁版本:
su - oracle
opatch lspatches
sqlplus -version
七、创建数据库实例
这里建库还是在第四步安装 Oracle 软件的 vnc 界面中继续:
dbca
选择创建数据库实例:
选择自定义模式:
选择基础安装即可:
选择节点:
填写实例名orcl,由于默认添加为1,2,实例名规划为orcl1/2;选择安装 CDB 模式,不创建PDB:
默认即可,使用 OMF 模式:
不开闪回,不开归档,可以建完实例后再配置:
配置内存,使用 ASMM 模式,数据库总内存占用物理内存 70%-90% 之间:
使用基础模式安装,block_size 是无法修改的,process 进程数修改为1500,根据实际情况修改:
配置数据库字符集,默认 AL32UTF8,国家字符集,默认 AL16UTF16;根据实际情况修改:
建议全关掉,有可能导致 bug:
填写sys/system密码:
默认即可:
安装预检查,DNS 相关忽略:
开始安装:
经过漫长的等待,数据库建完了:
至此,数据库实例创建完成!
八、数据库优化配置(rac01)
1、开启数据库归档模式
关于开启归档模式,具体可参考文章:
##关闭数据库实例
srvctl stop database -d orcl
##开启单个节点到mount模式
srvctl start instance -d orcl -i orcl1 -o mount
##开启归档
sqlplus / as sysdba
alter database archivelog;
##设置归档路径
ALTER SYSTEM SET LOG_ARCHIVE_DEST_1='LOCATION=+DATA';
exit;
##重启数据库实例
srvctl stop instance -d orcl -i orcl1
srvctl start database -d orcl
##检查归档
sqlplus / as sysdba
archive log list
2、配置定期删除归档计划任务
关于归档日志删除,具体可参考文章:
##进入oracle用户
su - oracle
mkdir -p /home/oracle/scripts/
##写入脚本
{
echo '#!/bin/bash'
echo 'source ~/.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.orcl.db" -attr "AUTO_START=always" -unsupported
注意: ora.orcl.db
中的 orcl 是指 db 名称;需要在 root 用户下执行!
所有都配置完成之后,关闭数据库,重启主机!
目录 返回
首页