Oracle 23ai RAC 部署竟然可以这么简单
《OracleShellInstall:一键部署Oracle RAC的智能工具》 摘要:OracleShellInstall是一款全自动化部署工具,可在30分钟内完成双节点Oracle RAC部署。该工具支持11g/12c/19c/21c/23ai全系列版本,具备MD5校验、系统参数自动调优、ASM磁盘组智能创建等特性。在RedHat 8.10系统实测中,1954秒即完成包含Grid安装、数据库创
工具亮点
-
🚀 全自动化部署:一键完成从系统配置到数据库创建的全流程;
-
⏱️ 极速安装:30分钟内完成双节点RAC部署;
-
🔧 智能优化:自动完成系统参数调优和数据库最佳实践配置;
-
📝 实时日志:详细的安装日志,便于问题排查;
-
🎯 多版本支持:支持Oracle 11g/12c/19c/21c/23ai全系列版本;
环境信息
本次部署采用VMware虚拟化平台,双节点RAC架构,充分验证了脚本在企业级环境下的稳定性和可靠性。
主机版本:
[root@orcl1:/root]# cat /etc/os-release
NAME="Red Hat Enterprise Linux"
VERSION="8.10 (Ootpa)"
ID="rhel"
ID_LIKE="fedora"
VERSION_ID="8.10"
PLATFORM_ID="platform:el8"
PRETTY_NAME="Red Hat Enterprise Linux 8.10 (Ootpa)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:redhat:enterprise_linux:8::baseos"
HOME_URL="https://www.redhat.com/"
DOCUMENTATION_URL="https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 8"
REDHAT_BUGZILLA_PRODUCT_VERSION=8.10
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="8.10"
IP 信息(脚本会自动识别并配置网络):
[root@orcl1:/root]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:31:0c:47 brd ff:ff:ff:ff:ff:ff
altname enp11s0
inet 10.168.1.160/24 brd 10.168.1.255 scope global noprefixroute ens192
valid_lft forever preferred_lft forever
inet 10.168.1.162/24 brd 10.168.1.255 scope global secondary ens192:1
valid_lft forever preferred_lft forever
inet6 fd97:cf9e:1fd5:0:20c:29ff:fe31:c47/64 scope global noprefixroute
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe31:c47/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: ens224: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:31:0c:51 brd ff:ff:ff:ff:ff:ff
altname enp19s0
inet 192.168.31.186/24 brd 192.168.31.255 scope global dynamic noprefixroute ens224
valid_lft 36956sec preferred_lft 36956sec
inet 169.254.24.108/19 brd 169.254.31.255 scope global ens224
valid_lft forever preferred_lft forever
inet6 fe80::b38e:62d8:58f:977a/64 scope link noprefixroute
valid_lft forever preferred_lft forever
磁盘信息(无需手动配置,脚本自动识别并创建ASM磁盘组):
[root@orcl1:/root]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 600M 0 part /boot/efi
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 98.4G 0 part
├─rhel-root 253:0 0 60.8G 0 lvm /
├─rhel-swap 253:1 0 7.9G 0 lvm [SWAP]
└─rhel-home 253:2 0 29.7G 0 lvm /home
sdb 8:16 0 10G 0 disk
sdc 8:32 0 10G 0 disk
sdd 8:48 0 10G 0 disk
sde 8:64 0 100G 0 disk
sr0 11:0 1 13.3G 0 rom
一键部署演示
准备工作
只需上传三个文件到服务器即可开始安装:
[root@orcl1:/soft]# ls
LINUX.X64_235000_db_home.zip # Oracle Database 23ai 安装包
LINUX.X64_235000_grid_home.zip # Grid Infrastructure 23ai 安装包
OracleShellInstall # 智能安装脚本
执行安装过程
在主节点执行一键安装,整个过程完全自动化,无需人工干预:
███████ ██ ████████ ██ ██ ██ ██ ██ ██ ██
██░░░░░██ ░██ ██░░░░░░ ░██ ░██ ░██░██ ░██ ░██ ░██
██ ░░██ ██████ ██████ █████ ░██ █████ ░██ ░██ █████ ░██ ░██░██ ███████ ██████ ██████ ██████ ░██ ░██
░██ ░██░░██░░█ ░░░░░░██ ██░░░██ ░██ ██░░░██░█████████░██████ ██░░░██ ░██ ░██░██░░██░░░██ ██░░░░ ░░░██░ ░░░░░░██ ░██ ░██
░██ ░██ ░██ ░ ███████ ░██ ░░ ░██░███████░░░░░░░░██░██░░░██░███████ ░██ ░██░██ ░██ ░██░░█████ ░██ ███████ ░██ ░██
░░██ ██ ░██ ██░░░░██ ░██ ██ ░██░██░░░░ ░██░██ ░██░██░░░░ ░██ ░██░██ ░██ ░██ ░░░░░██ ░██ ██░░░░██ ░██ ░██
░░███████ ░███ ░░████████░░█████ ███░░██████ ████████ ░██ ░██░░██████ ███ ███░██ ███ ░██ ██████ ░░██ ░░████████ ███ ███
░░░░░░░ ░░░ ░░░░░░░░ ░░░░░ ░░░ ░░░░░░ ░░░░░░░░ ░░ ░░ ░░░░░░ ░░░ ░░░ ░░ ░░░ ░░ ░░░░░░ ░░ ░░░░░░░░ ░░░ ░░░
注意:本脚本仅用于新服务器上实施部署数据库使用,严禁在已运行数据库的主机上执行,以免发生数据丢失或者损坏,造成不可挽回的损失!!!
请选择安装模式 [单机(si)/单机ASM(sa)/集群(rac)] : rac
数据库安装模式: rac
请选择数据库版本 [11|12|19|21|23] : 23
数据库版本: 23
OracleShellInstall 开始安装,详细安装过程可查看日志: tail -2000f /soft/print_shell_install_20250825213547.log
正在进行安装前检查,请稍等......
正在检测安装包 /soft/LINUX.X64_235000_grid_home.zip 的 MD5 值是否正确,请稍等......
正在检测安装包 /soft/LINUX.X64_235000_db_home.zip 的 MD5 值是否正确,请稍等......
正在配置本地软件源......已完成 (耗时: 1 秒)
配置 root 用户互信......已完成 (耗时: 1 秒)
正在检查并更新 RAC 主机时间......已完成 (耗时: 1 秒)
正在获取操作系统信息......已完成 (耗时: 1 秒)
正在安装依赖包......已完成 (耗时: 62 秒)
正在禁用防火墙......已完成 (耗时: 1 秒)
正在禁用 selinux......已完成 (耗时: 1 秒)
正在配置 nsyctl......已完成 (耗时: 1 秒)
正在配置主机名和 hosts 文件......已完成 (耗时: 1 秒)
正在创建用户和组......已完成 (耗时: 1 秒)
正在创建安装目录......已完成 (耗时: 1 秒)
正在配置 Avahi-daemon 服务......已完成 (耗时: 1 秒)
正在配置透明大页 && NUMA && 磁盘 IO 调度器......已完成 (耗时: 1 秒)
正在配置操作系统参数 sysctl......已完成 (耗时: 1 秒)
正在配置 RemoveIPC......已完成 (耗时: 1 秒)
正在配置用户限制 limit......已完成 (耗时: 1 秒)
正在配置 shm 目录......已完成 (耗时: 1 秒)
正在配置用户环境变量......已完成 (耗时: 1 秒)
正在配置 RAC 其他节点信息......已完成 (耗时: 87 秒)
正在配置 RAC 所有节点互信......已完成 (耗时: 11 秒)
正在解压 Grid 安装包以及补丁......已完成 (耗时: 22 秒)
正在解压 Oracle 软件以及补丁......已完成 (耗时: 43 秒)
正在安装 Grid 软件以及补丁......已完成 (耗时: 477 秒)
正在创建 ASM 磁盘组......已完成 (耗时: 11 秒)
正在安装 Oracle 软件以及补丁......已完成 (耗时: 366 秒)
正在创建数据库......已完成 (耗时: 666 秒)
正在优化数据库......已完成 (耗时: 154 秒)
恭喜!Oracle 一键安装执行完成 (耗时: 1954 秒),现在是否重启主机:[Y/N] Y
正在重启节点 10.168.1.161 主机......
正在重启当前节点主机......
安装过程解析
从上面的输出可以看到,OracleShellInstall 脚本自动完成了以下关键步骤:
系统层面配置(自动化率100%)
-
✅ MD5完整性校验,确保安装包安全
-
✅ 自动配置本地YUM源,解决依赖问题
-
✅ 智能配置节点间SSH互信
-
✅ 自动同步集群时间,避免时钟偏差
-
✅ 一键安装所有必需的系统依赖包
-
✅ 自动禁用防火墙和SELinux
-
✅ 优化系统内核参数(sysctl、limit等)
-
✅ 配置透明大页、NUMA、IO调度器等性能参数
Oracle组件安装(智能化部署)
-
✅ 自动创建oracle/grid用户和组
-
✅ 智能规划并创建目录结构
-
✅ 自动解压并安装Grid Infrastructure
-
✅ 智能创建ASM磁盘组(OCR/DATA)
-
✅ 自动安装Oracle Database软件
-
✅ 一键创建RAC数据库实例
-
✅ 应用Oracle最佳实践优化参数
部署验证
集群健康检查
重启后查看集群状态,所有组件运行正常:
[root@orcl1:/soft]# crsctl stat res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
ONLINE ONLINE orcl1 STABLE
ONLINE ONLINE orcl2 STABLE
ora.chad
ONLINE ONLINE orcl1 STABLE
ONLINE ONLINE orcl2 STABLE
ora.helper
OFFLINE OFFLINE orcl1 IDLE,STABLE
OFFLINE OFFLINE orcl2 IDLE,STABLE
ora.net1.network
ONLINE ONLINE orcl1 STABLE
ONLINE ONLINE orcl2 STABLE
ora.ons
ONLINE ONLINE orcl1 STABLE
ONLINE ONLINE orcl2 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
1 ONLINE ONLINE orcl1 STABLE
2 ONLINE ONLINE orcl2 STABLE
ora.DATA.dg(ora.asmgroup)
1 ONLINE ONLINE orcl1 STABLE
2 ONLINE ONLINE orcl2 STABLE
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE orcl2 STABLE
ora.OCR.dg(ora.asmgroup)
1 ONLINE ONLINE orcl1 STABLE
2 ONLINE ONLINE orcl2 STABLE
ora.asm(ora.asmgroup)
1 ONLINE ONLINE orcl1 Started,STABLE
2 ONLINE ONLINE orcl2 Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
1 ONLINE ONLINE orcl1 STABLE
2 ONLINE ONLINE orcl2 STABLE
ora.cdp1.cdp
1 ONLINE ONLINE orcl2 STABLE
ora.cvu
1 ONLINE ONLINE orcl2 STABLE
ora.orcl.db
1 ONLINE ONLINE orcl1 Open,HOME=/u01/app/o
racle/product/23.5.0
/db,STABLE
2 ONLINE ONLINE orcl2 Open,HOME=/u01/app/o
racle/product/23.5.0
/db,STABLE
ora.orcl.pdb01.pdb
1 ONLINE ONLINE orcl1 READ WRITE,STABLE
2 OFFLINE OFFLINE STABLE
ora.orcl1.vip
1 ONLINE ONLINE orcl1 STABLE
ora.orcl2.vip
1 ONLINE ONLINE orcl2 STABLE
ora.rhpserver
1 OFFLINE OFFLINE STABLE
ora.scan1.vip
1 ONLINE ONLINE orcl2 STABLE
--------------------------------------------------------------------------------
数据库实例状态
双节点实例运行状态良好:
[grid@orcl1:/home/grid]$ srvctl status database -d orcl
实例 orcl1 正在节点 orcl1 上运行
实例 orcl2 正在节点 orcl2 上运行
ASM存储状态
ASM磁盘组自动创建并优化配置:
[grid@orcl1:/home/grid]$ asmcmd lsdg
State Type Rebal Sector Logical_Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name
MOUNTED EXTERN N 512 512 4096 4194304 102400 68952 0 68952 0 N DATA/
MOUNTED NORMAL N 512 512 4096 4194304 30720 29684 10240 9722 0 Y OCR/
核心优势总结
🎯 为什么选择 OracleShellInstall?
1. 极致的效率提升
-
传统手工部署:4-8小时(经验丰富的DBA);
-
使用本脚本:30分钟(零基础也能操作);
-
效率提升:800%以上;
2. 降低技术门槛
-
无需深入了解Oracle RAC架构;
-
无需记忆复杂的配置参数;
-
无需手动处理各种依赖关系;
-
让初级DBA也能完成高级部署任务;
3. 规范化部署
-
遵循Oracle官方最佳实践;
-
统一的部署标准,避免配置差异;
-
内置性能优化参数;
-
确保每次部署的一致性和稳定性;
4. 智能容错机制
-
自动检测环境兼容性;
-
MD5校验确保安装包完整性;
-
实时日志记录,便于问题追踪;
-
大幅降低部署失败风险;
5. 全版本支持
-
Oracle 11gR2;
-
Oracle 12cR2;
-
Oracle 19c;
-
Oracle 21c;
-
Oracle 23ai;
-
一个脚本搞定所有版本;
📊 适用场景
-
✅ 开发测试环境快速搭建;
-
✅ POC项目验证;
-
✅ 培训环境批量部署;
-
✅ 生产环境标准化部署;
-
✅ 灾备环境快速重建;
⚠️ 使用建议
-
环境要求:建议在全新的操作系统上执行,避免与现有配置冲突;
-
资源配置:确保系统资源满足Oracle官方最低要求;
-
网络规划:提前规划好Public/Private/VIP等网络配置;
-
存储准备:确保ASM磁盘已经准备就绪;
写在最后
OracleShellInstall 不仅仅是一个安装脚本,更是Oracle DBA的得力助手。它将复杂的RAC部署过程标准化、自动化,让DBA能够将更多精力投入到数据库优化、架构设计等更有价值的工作中。
随着Oracle 23ai正式版的即将发布,这个工具将帮助更多企业快速拥抱新版本带来的创新特性。无论您是经验丰富的资深DBA,还是刚入门的初学者,OracleShellInstall 都能成为您的最佳部署伙伴。
更多推荐
所有评论(0)