Centos7.9安装Oracle11.2.0.4 rac集群(超级详细)
基本信息:
vmware虚拟化环境,共享存储后续单独发一篇文章
操作系统版本Centos7.9 数据库版本11.2.0.4
一.操作系统配置
两节点hosts文件
# public ip
192.168.1.11 rac01
192.168.1.12 rac02
# VIP
192.168.1.13 rac01-vip
192.168.1.14 rac02-vip
# private
10.10.10.1 rac01-priv
10.10.10.2 rac02-priv
# scan ip
192.168.1.15 rac-scan
rac01节点网卡信息
ens32网卡内容
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME=ens32
DEVICE=ens32
ONBOOT=yes
IPADDR=192.168.1.161
PREFIX=24
GATEWAY=192.168.1.1
DNS1=114.114.114.114
ens33网卡内容
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=10.10.10.1
PREFIX=24
DNS1=114.114.114.114
rac02网卡信息
ens32网卡内容
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME=ens32
DEVICE=ens32
ONBOOT=yes
IPADDR=192.168.1.162
PREFIX=24
GATEWAY=192.168.1.1
DNS1=114.114.114.114
ens33网卡内容
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=10.10.10.2
PREFIX=24
DNS1=114.114.114.114
全部节点关闭selinux,防火墙,NetworkManager,NTP服务
systemctl stop firewalld
systemctl disable firewalld
systemctl stop NetworkManager
systemctl disable NetworkManager
systemctl stop ntpd
两节点时间进行同步 我这里测试环境就手动同步了
timedatectl set-ntp no
timedatectl set-time "11:59:50"
clock -w
二.存储配置
使用udev做裸设备绑定,红色部分记录下来
以下步骤,两个节点都要做
查看磁盘id,我这里是7块盘 sdb sdc sdd…
for i in b c d e f g h;
do
/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i
done
进行磁盘号设备绑定
vim /etc/udev/rules.d/55-udev.rules
KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36000c291f31eea171d41e8e151418505", SYMLINK+="asm-diskb", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36000c29461788130bb802cd397c09776", SYMLINK+="asm-diskc", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36000c29966d30836d7eb5f98347524cc", SYMLINK+="asm-diskd", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36000c29bc3dfcb6ec2d86c735938ff4e", SYMLINK+="asm-diske", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36000c29fc072ae3880dfce906d7d2e94", SYMLINK+="asm-diskf", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36000c29f8f24b24a31a9770e51515ac7", SYMLINK+="asm-diskg", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36000c291c168694eb09bc02e67a68773", SYMLINK+="asm-diskh", OWNER="grid", GROUP="asmadmin", MODE="0660"
进行裸设备绑定,将七块盘映射为裸设备
vim /etc/udev/rules.d/60-raw.rules
ACTION=="add", KERNEL=="sdb", RUN+="/usr/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="sdc", RUN+="/usr/bin/raw /dev/raw/raw2 %N"
ACTION=="add", KERNEL=="sdd", RUN+="/usr/bin/raw /dev/raw/raw3 %N"
ACTION=="add", KERNEL=="sde", RUN+="/usr/bin/raw /dev/raw/raw4 %N"
ACTION=="add", KERNEL=="sdf", RUN+="/usr/bin/raw /dev/raw/raw5 %N"
ACTION=="add", KERNEL=="sdg", RUN+="/usr/bin/raw /dev/raw/raw6 %N"
ACTION=="add", KERNEL=="sdh", RUN+="/usr/bin/raw /dev/raw/raw7 %N"
KERNEL=="raw[1-7]",OWNER="grid",GROUP="asmadmin",MODE="660"
vim /etc/rc.local
start_udev
/bin/raw /dev/raw/raw1 /dev/sdb
/bin/raw /dev/raw/raw2 /dev/sdc
/bin/raw /dev/raw/raw3 /dev/sdd
/bin/raw /dev/raw/raw4 /dev/sde
/bin/raw /dev/raw/raw5 /dev/sdf
/bin/raw /dev/raw/raw6 /dev/sdg
/bin/raw /dev/raw/raw7 /dev/sdh
重新加载启动项
source /etc/rc.local
start_udev
拷贝文件到2节点
cd /etc/udev/rules.d
scp 55-udev.rules 60-raw.rules rac02:${PWD}
scp /etc/rc.local rac02:/etc
rac02节点操作
start_udev
两个节点查看裸设备的挂载情况
ls /dev/raw*
配置网络yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache
执行创建oracle用户和组还有环境变量的脚本
执行grid用户创建脚本
执行oracle预安装脚本
创建用户,创建目录,安装依赖包,这里省略
解压安装包,安装cvuqdisk(两个节点都要做)
unzip p13390677_112040_Linux-x86-64_1of7.zip -d /usr/local/src
unzip p13390677_112040_Linux-x86-64_2of7.zip -d /usr/local/src
unzip p13390677_112040_Linux-x86-64_3of7.zip -d /usr/local/src
cd /usr/local/src/grid/rpm/
rpm -ivh cvuqdisk-1.0.9-1.rpm
手动配置ohas服务
由于RHEL7改变了init的管理方式,出现了兼容性上的问题,需要手动配置ohas服务
vim /usr/lib/systemd/system/ohas.service
[Unit]
Description=Oracle High Availability Services
After=syslog.target
[Service]
ExecStart=/etc/init.d/init.ohasd run >/dev/null 2>&1 Type=simple
Restart=always
[Install]
WantedBy=multi-user.target
chmod 777 /usr/lib/systemd/system/ohas.service
systemctl daemon-reload
systemctl enable ohas.service
systemctl start ohas.service
systemctl status ohas.service
现在ohas服务是启动失败的 在后面图形界面的时候会讲解
三.安装GI集群件+ASM:
进入GUI界面登录grid用户
cd /usr/local/src/grid/
执行GI安装程序
./runInstaller
root用户执行两个脚本注意执行顺序,如果两边同时执行的话在创建表决盘时会冲突报错。rac01先执行俩脚本 然后rac02执行
在各个节点执行root.sh脚本时 刷新/etc/init目录 发现下面出现init.ohasd文件 立马systemctl start ohas.service启动服务 服务就会正常启动
使用hosts分配scan-ip会有下面报错可以跳过,DNS分配scan-ip的方式不会有这个报错。如果两个节点
都能ping通scan-ip就可以忽略这个错误
四.配置ASM
在GUI界面切换到grid用户,打开命令行,执行asmca
五.安装数据库软件
使用GUI界面登录oracle用户
六.创建数据库
oracle用户执行dbca进行建库
七.检查集群资源状态
grid用户执行
crsctl stat res -t
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?