第一部分 说明
1.1 系统需求
- Oracle Linux 8.1 with the Unbreakable Enterprise Kernel 6: 5.4.17-2011.0.7.el8uek.x86_64 or later
Oracle Linux 8 with the Red Hat Compatible kernel: 4.18.0-80.el8.x86_64 or later - Oracle Linux 7.4 with the Unbreakable Enterprise Kernel 4: 4.1.12-124.19.2.el7uek.x86_64 or later
Oracle Linux 7.4 with the Unbreakable Enterprise Kernel 5: 4.14.35-1818.1.6.el7uek.x86_64 or later
Oracle Linux 7.5 with the Red Hat Compatible kernel: 3.10.0-862.11.6.el7.x86_64 or later - Red Hat Enterprise Linux 8: 4.18.0-80.el8.x86_64 or later
- Red Hat Enterprise Linux 7.5: 3.10.0-862.11.6.el7.x86_64 or later
- SUSE Linux Enterprise Server 12 SP3: 4.4.162-94.72-default or later
SUSE Linux Enterprise Server 15: 4.12.14-23-default or later
1.2 硬件环境需求
| 服务器品牌和架构 | 确认支持服务器品牌,型号,核心体系结构和主机总线适配器(HBA)以便与Oracle Grid Infrastructure和Oracle RAC一起运行。 |
| 服务器显示卡 | Oracle Universal Installer的显示分辨率至少为1024 x 768。确认显示监视器。 |
| 最小RAM | 用于Oracle Grid Infrastructure安装的至少8 GB RAM。 |
| 分配给临时文件系统的磁盘空间 | 临时磁盘空间( |
| 相对于RAM的交换空间分配 | 在4 GB到16 GB之间:等于RAM |
对于一套RAC的实施,我们需要确保基本的硬件环境已经达到要求,具体如下:
- 主机操作系统安装,版本在RHEL 7.5以上(本文档针对的版本)
- 存储已经挂载,并且所有的存储LUN已经两两映射到对应的两台主机
- LUN要求:需要2G LUN 3块(ocr用) 500G LUN若干(具体视数据库空间而定),1块MGMT盘可选(建议不使用mgmt) 并且互相映射
- 网线已经正常接驳,心跳建议采用交换机模式连接
- 本地盘,至少100G,使用逻辑卷管理
1.3 介质需求
Oracle:19.3.0.0.0
LINUX.X64_193000_db_home.zip
LINUX.X64_193000_grid_home.zip
最新版本的opatch和PSU
pxxxxxxxxx_190000_Linux-x86-64.zip
p6880880_190000_Linux-x86-64.zip
额外需要的操作系统包
compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
第二部分 操作系统基础配置(以下操作双节点进行)
2.1 检查服务器硬件和内存配置
使用以下命令确定服务器上的物理RAM大小至少8G以上
# grep MemTotal /proc/meminfo
确定配置的交换空间的大小
# grep SwapTotal /proc/meminfo
确定tmp目录空间足够1G
# df -h /tmp
注意(如果/tmp空间不足,则清理/tmp目录以满足磁盘空间要求。
或设置Oracle用户环境时,还要设置TMP和TMPDIR环境变量到要使用的目录中,而不是/tmp)
确定系统版本能够支持19c数据库
# uname -a
2.2关闭NetworkManager
NetworkManager管理主机网络配置信息,该服务如果出现down的话会影响系统网络运行,建议关闭:
关闭运行中的服务
# systemctl stop NetworkManager
关闭操作系统自启动
# systemctl disable NetworkManager
# systemctl status NetworkManager
2.3 关闭防火墙
关闭运行中的服务
#systemctl stop firewalld
关闭操作系统自启动
#systemctl disable firewalld
检查关闭情况
systemctl status firewalld
如下,dead表示未开启开机启动;inactive表示现在的状态是关闭

关闭selinux:
编辑/etc/selinux/config 文件
[root@DBServer1 ~]# vi /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully disabled.
SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
SELINUXTYPE=targeted
2.4 关闭Chrony服务
关闭运行中的服务
#systemctl stop chronyd.service
关闭操作系统自启动
#systemctl disable chronyd.service
检查关闭情况
#systemctl status chronyd.service
如下,dead表示未开启开机启动;inactive表示现在的状态是关闭

2.5 关闭NUMA:
根据MOS Doc ID: 1962100.1 的描述,需要关闭NUMA
It is observed there are hang issues in RHEL 7 with many CPU cores and more RAM, due NUMA was enabled. As a work around it is recommended to turn off NUMA.
#查看default 的grub 的entry
[root@dusadbs01 ~]# grubby --default-kernel
/boot/vmlinuz-3.10.0-862.el7.x86_64
#查看default grub的具体信息
[root@dusadbs01 ~]# grubby --info /boot/vmlinuz-3.10.0-862.el7.x86_64
index=0
kernel=/boot/vmlinuz-3.10.0-862.el7.x86_64
args="ro rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=en_US.UTF-8 "
root=/dev/mapper/centos-root
initrd=/boot/initramfs-3.10.0-862.el7.x86_64.img
title=CentOS Linux (3.10.0-862.el7.x86_64) 7 (Core)
#更新args , 添加numa=off的参数
[root@dusadbs01 ~]# grubby --args=numa=off --update-kernel /boot/vmlinuz-3.10.0-862.el7.x86_64
# 确认numa=off加入default grub中
[root@dusadbs01 ~]# grubby --info /boot/vmlinuz-3.10.0-862.el7.x86_64
index=0
kernel=/boot/vmlinuz-3.10.0-862.el7.x86_64
args="ro rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=en_US.UTF-8 numa=off"
root=/dev/mapper/centos-root
initrd=/boot/initramfs-3.10.0-862.el7.x86_64.img
title=CentOS Linux (3.10.0-862.el7.x86_64) 7 (Core)
#重启服务器
reboot
确认numa已经被禁用了
[root@utsdbs02 etc]# grubby --info /boot/vmlinuz-3.10.0-862.el7.x86_64
index=0
kernel=/boot/vmlinuz-3.10.0-862.el7.x86_64
args="ro rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=en_US.UTF-8 numa=off"
root=/dev/mapper/centos-root
initrd=/boot/initramfs-3.10.0-862.el7.x86_64.img
title=CentOS Linux (3.10.0-862.el7.x86_64) 7 (Core)
[root@utsdbs02 etc]# grep -i numa /var/log/dmesg
[ 0.000000] Command line: BOOT_IMAGE=/vmlinuz-3.10.0-862.el7.x86_64 root=/dev/mapper/centos-root ro rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=en_US.UTF-8 numa=off
[ 0.000000] NUMA turned off
[ 0.000000] Kernel command line: BOOT_IMAGE=/vmlinuz-3.10.0-862.el7.x86_64 root=/dev/mapper/centos-root ro rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=en_US.UTF-8 numa=off
2.6 RPM包安装
安装数据库依赖包
yum install -y bc binutils gcc gcc-c++ compat-libcap1 compat-libstdc++33 elfutils-libelf elfutils-libelf-devel fontconfig-devel glibc glibc-devel ksh libaio libaio-devel libXrender libXrender-devel libX11 libXau libXi libXtst libgcc libstdc++ libstdc++-devel libxcb make smartmontools sysstat
安装自己上传的依赖
rpm -ivh compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
rpm预安装需求包
yum install -y libaio-devel-0.3.109-13.el7.x86_64.rpm
yum install -y ksh-20120801-139.el7.x86_64.rpm
2.7 安装用户创建
双节点创建grid用户及oracle用户:
/usr/sbin/groupadd oinstall
/usr/sbin/groupadd dba
/usr/sbin/useradd -g oinstall -G oinstall,dba oracle
/usr/sbin/useradd -g oinstall -G dba grid
修改用户密码(根据客户需求修改指定密码):
passwd grid ----修改grid用户密码
passwd oracle ----修改oracle用户密码
2.8 关闭透明大页
在/etc/rc.local中加入如下两行--先备份,修改后重启系统
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
重启系统
reboot
2.9 内核参数设置
vi /etc/sysctl.conf
kernel.shmall = 1073741824 physical RAM size / pagesize
kernel.shmmax = 4398046511104 1/2 of physical RAM
fs.file-max = 6815744
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.aio-max-nr = 1048576
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2
net.ipv4.ip_local_port_range = 9000 65500
kernel.panic_on_oops = 1
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
执行sysctl -p 命令使以上设置生效
一般设置按照如上规则设置,如果文件中已经设置的值比计算结果大,以文件中本身的值为准
编辑/etc/pam.d/login 添加如下内容:
vi /etc/pam.d/login
session required pam_limits.so
编辑vi /etc/profile添加如下内容: #系统环境变量
if [ /$USER = "oracle" ] || [ /$USER = "grid" ]; then
if [ /$SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
编辑/etc/security/limits.conf 添加如下内容:
vi /etc/security/limits.conf
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
grid soft stack 10240
oracle soft stack 10240
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle hard memlock 3145728
oracle soft memlock 3145728
2.10 环境变量设置
vi ~/.bash_profile #当前用户环境变量
在两个节点创建相应的目录(记得赋予权限,哪个用户的路径就用哪个用户创建)
一节点:
grid 用户:
export ORACLE_BASE=/oracle/gridbase
export ORACLE_HOME=/oracle/grid/crs_1
export ORACLE_SID=+ASM1
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
oracle用户:
export ORACLE_BASE=/oracle/app
export ORACLE_HOME=/oracle/app/product/19.3.0/db_1
export ORACLE_SID=orcl1
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
二节点:
grid 用户:
export ORACLE_BASE=/oracle/gridbase
export ORACLE_HOME=/oracle/grid/crs_1
export ORACLE_SID=+ASM2
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
oracle用户:
export ORACLE_BASE=/oracle/app
export ORACLE_HOME=/oracle/app/product/19.3.0/db_1
export ORACLE_SID=orcl2
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
2.11 /etc/hosts写入
Root用户
vi /etc/hosts
#公网
192.168.126.211 rac1
192.168.126.212 rac2
#虚拟IP
192.168.126.213 rac1-vip
192.168.126.214 rac2-vip
#私有网络
10.10.10.211 rac1-priv
10.10.10.212 rac2-priv
#scanIP
192.168.126.215 rac-scan
2.12 基本检查
1.检查双节点时区 时间是否一致:
date -R
第三部分 多路径软件安装
共享盘步骤略
第四部分 介质安装前准备
上传介质
LINUX.X64_193000_grid_home.zip
LINUX.X64_193000_db_home.zip
将gi介质设置好属组,设好权限
chown grid:oinstall LINUX.X64_193000_grid_home.zip
chmod 775 LINUX.X64_193000_grid_home.zip
将db介质设置好属组,设好权限
chown oracle:oinstall LINUX.X64_193000_db_home.zip
chmod 775 LINUX.X64_193000_db_home.zip
用grid用户解压介质
unzip LINUX.X64_193000_grid_home.zip -d $ORACLE_HOME
用oracle用户解压介质
unzip LINUX.X64_193000_db_home.zip -d $ORACLE_HOME
第五部分 19c安装GI
安装之前,重启两台数据库主机
要保证两个节点都开着,在一节点上做即可
开始安装集群:
打开Xmanager-passive
在解压gi介质的路径下运行gridSetup.sh:
./gridSetup.sh
安装截图如下:
选择为新集群配置gi

配置独立集群

将scan name更换为/etc/hosts中的一样的名字,下一步

Add添加2节点hostname以及vip name

选SSH connectivity… 输入grid用户密码,选test-setup-下一步(test以下报错可忽略)


将私网 Use for设为ASM &Private(若和11g一样选private后续会报错)

若选择private

下一步时会报错

选择好网络后,选择oracle flex asm存储

这个GIMR在12c和18c中是固定选项,在19c中回归可以自己选择是和11g一样还是选择GIMR(默认为不选择GIMR) ,如果选yes,下一步,是否要单独磁盘放gimr,选yes

创建ocr盘

创建mgmt盘

回到前面选择是否要mgmt,如果选NO,为以下状态

选择好OCR盘,disk group name为ocr盘的名,redundancy的选择按照ocr盘是否做冗余来区分,盘数5,3,1对应redundancy的High,Normal,External。change discovery用来选择磁盘的位置,flex模式可以自己选择数据文件的冗余模式

下图为选择好的ocr盘选项设置

设置asm密码,一下报错可yes跳过

选择不使用IPMI

下一步

下一步

yes,下一步

查看是否为环境变量中设置好的gi的oracle base路径,下一步

下一步

下一步

正在检测

检测出的错误,可以修复

2个脚本分别在1和2节点上用root用户跑,先跑完1节点的2个脚本再跑2节点,不要换顺序,不要在跑的过程中跑下一个脚本,不要心急

如果root运行脚本失败,执行以下代码清除root.sh脚本执行信息(与11g有区别从12.1.0.2开始rootcrs.sh改为rootcrs.pl)
Step 1: As root, run "$GRID_HOME/crs/install/rootcrs.sh -verbose -deconfig -force"
以上$GRID_HOME即为grid用户的$ORACLE_HOME
crsctl status res -t 查看集群状态

第六部分 19C安装DB
要一直保证两个节点都开着,在一节点上做就可以
开始安装RDBMS软件
oracle用户执行安装:
打开Xmanager-passice
在解压db介质的路径下运行runInstaller
./runInstaller
安装截图如下:
set up software only,选择下一步

oracle real application clusters database installation,选择下一步

select all,点击SSH connectivity,输入oracle的密码,test-setup-next

选择enterprise edition,点击下一步

查看oracle的base路径是否正确,下一步

下一步

下一步

预检查

在节点2端用root用户跑以下命令,记住一边跑完再跑另一边,2边跑完后点击ok

完成db安装

oracle用户下sqlplus -v 查看db版本确认db安装完成

第七部分 19c安装补丁
打补丁
第八部分 19C创建数据磁盘组
单个节点上执行就可。
grid用户执行:
打开Xmanager-passive
grid用户运行asmca
asmca

添加asm盘组名,选择好redundancy,选择好要加入组的磁盘,Hide advanced options
兼容性写上19.0.0.0 点ok

mount all,exit

第九部分 19c创建实例
Oracle用户执行dbca命令:
dbca
创建一个数据库

advanced configuration,next

选择好database类别、模板,下一步,默认按照图上选择

select all,next

输入oracle的sid,选择是否需求CDB,PDB,PDB的名字,个数

选择数据文件存放位置,是否使用OMF

下一步

下一步

选择好sga、pga大小

选择好最大进程连接数

选择好字符集,next

按照需求是否勾选EM,本文档不勾选,cvu跑出来的日志在grid用户下$ORACLE_BASE/crsdata/hostname/cvu/cvulog下

输入密码

创建数据库

finish

本文详细描述了在不同Linux版本上部署Oracle19cRAC环境的需求,包括系统和硬件要求、操作系统基础配置、RPM包安装、用户创建、透明大页设置、内核参数调整、环境变量设置以及19c安装和数据库配置等关键步骤。

1986

被折叠的 条评论
为什么被折叠?



