OpenEuler 22.03 一键安装 Oracle 12CR2 RAC
程小虎2025-12-31 14:49:13
✨ 前言
Oracle 一键安装脚本,演示 openEuler 22.03 LTS SP4 一键安装 Oracle 12CR2 RAC(231017)过程(全程无需人工干预)。
本教程支持系统版本如下:
- openEuler-22.03-LTS
- openEuler-22.03-LTS-SP1
- openEuler-22.03-LTS-SP2
- openEuler-22.03-LTS-SP3
- openEuler-22.03-LTS-SP4
- openEuler-22.09
安装包下载:Oracle一键安装包
系统镜像下载:OpenEuler系统镜像
🔧 安装准备
- 系统组安装好操作系统(支持最小化安装)
- 网络组配置好主机网络,通常只需要一个公网 IP 地址
- DBA 创建软件目录:
mkdir /soft - DBA 上传 Oracle 安装介质(基础包,补丁包)到 /soft 目录下
- DBA 上传 Oracle 一键安装脚本到 /soft 目录下,授予脚本执行权限:
chmod +x OracleShellInstall - 根据脚本安装脚本以及实际情况,配置好脚本的安装参数,在 /soft 目录下执行一键安装即可。
需要上传的文件:
提示
- OracleShellInstall # Oracle 一键安装脚本
- LINUX.X64_122010_db_home.zip # Oracle 安装包
- LINUX.X64_122010_grid_home.zip # Grid 安装包
- p6880880_112000_Linux-x86-64.zip # OPatch 补丁包
- p35745595_122010_Linux-x86-64.zip # Grid PSU/RU 补丁包
- p35926712_122010_Linux-x86-64.zip # OJVM PSU/RU 补丁包
- p35966787_122010_Linux-x86-64.zip # Oracle PSU/RU 补丁包
- compat-glibc-2.12-4.el7.centos.x86_64.rpm # compat-glibc 包
- rlwrap-0.44.tar.gz # rlwrap 工具
📄 挂载本地 yum 源
所有节点以及共享存储服务器都要配置
各镜像名称 (需要挂载 Everything 镜像) :
- openEuler-22.03-LTS-everything-x86_64-dvd.iso
- openEuler-22.03-LTS-SP1-everything-x86_64-dvd.iso
- openEuler-22.03-LTS-SP2-everything-x86_64-dvd.iso
- openEuler-22.03-LTS-SP3-everything-x86_64-dvd.iso
- openEuler-22.03-LTS-SP4-everything-x86_64-dvd.iso
- openEuler-22.09-everything-x86_64-dvd.iso
上传系统镜像 openEuler-22.03-LTS-SP4-everything-x86_64-dvd.iso 到 /mnt 路径下 ,然后执行下面命令
images="openEuler-22.03-LTS-SP4-everything-x86_64-dvd.iso"
mkdir /yum
mount -o loop /mnt/$images /yum
echo "mount -o loop /mnt/$images /yum" >> /etc/rc.local
chmod +x /etc/rc.local
mkdir /etc/yum.repos.d/bk
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bk/
cat > /etc/yum.repos.d/local.repo << EOF
[local]
name=local
baseurl=file:///yum
enabled=1
gpgcheck=0
EOF
yum clean all
yum makecache
📄 共享存储配置
若已配置可忽略
📄 服务端配置
上传 storage_server.sh 脚本到共享存储服务器,修改参数执行脚本
# 修改磁盘组列表和RAC节点数量参数,然后执行脚本,其中磁盘组名称根据实际修改,RAC节点数量默认2通常不用修改
bash storage_server.sh \
-rac_node_qty=2 `# RAC节点数量,默认为2`\
-disk_group=/dev/sdb,/dev/sdc,/dev/sdd `# 磁盘组列表`
📄 客户端配置
上传 storage_client.sh 脚本到 各个 rac 节点,修改共享存储服务器 IP,以及对应的节点
## 修改存储服务器IP为实际的,当前的RAC节点(节点1就写rac1,节点2就写rac2,以此类推)
bash storage_client.sh \
-storage_server_ip="192.168.80.79" `# 存储服务器IP`\
-curr_node=rac1 `# 当前RAC节点`
📄 环境信息
# 主机版本
## 节点一
[root@rac01 soft]# cat /etc/os-release
NAME="openEuler"
VERSION="22.03 (LTS-SP4)"
ID="openEuler"
VERSION_ID="22.03"
PRETTY_NAME="openEuler 22.03 (LTS-SP4)"
ANSI_COLOR="0;31"
## 节点二
[root@rac02 soft]# cat /etc/os-release
NAME="openEuler"
VERSION="22.03 (LTS-SP4)"
ID="openEuler"
VERSION_ID="22.03"
PRETTY_NAME="openEuler 22.03 (LTS-SP4)"
ANSI_COLOR="0;31"
# 网络信息
## 节点一
[root@rac01 soft]# ip a
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:0c:29:08:b5:f8 brd ff:ff:ff:ff:ff:ff
inet 192.168.80.71/24 brd 192.168.80.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe08:b5f8/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:0c:29:08:b5:02 brd ff:ff:ff:ff:ff:ff
inet 192.168.10.11/24 brd 192.168.10.255 scope global noprefixroute ens37
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe08:b502/64 scope link noprefixroute
valid_lft forever preferred_lft forever
## 节点二
[root@rac02 ~]# ip a
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:0c:29:97:4f:c9 brd ff:ff:ff:ff:ff:ff
inet 192.168.80.72/24 brd 192.168.80.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe97:4fc9/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:0c:29:97:4f:d3 brd ff:ff:ff:ff:ff:ff
inet 192.168.10.12/24 brd 192.168.10.255 scope global noprefixroute ens37
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe97:4fd3/64 scope link noprefixroute
valid_lft forever preferred_lft forever
# 挂载本地 ISO 镜像
## 节点一
[root@rac01 ~]# ll /yum
总用量 3270
dr-xr-xr-x 2 root root 2048 6月 28 2024 docs
dr-xr-xr-x 3 root root 2048 6月 28 2024 EFI
dr-xr-xr-x 3 root root 2048 6月 28 2024 images
dr-xr-xr-x 2 root root 2048 6月 28 2024 isolinux
dr-xr-xr-x 2 root root 2048 6月 28 2024 ks
dr-xr-xr-x 2 root root 3328000 6月 28 2024 Packages
dr-xr-xr-x 2 root root 4096 6月 28 2024 repodata
-r--r--r-- 1 root root 3033 6月 28 2024 RPM-GPG-KEY-openEuler
-r--r--r-- 1 root root 2198 6月 28 2024 TRANS.TBL
## 节点二
[root@rac02 ~]# ll /yum
总用量 3270
dr-xr-xr-x 2 root root 2048 6月 28 2024 docs
dr-xr-xr-x 3 root root 2048 6月 28 2024 EFI
dr-xr-xr-x 3 root root 2048 6月 28 2024 images
dr-xr-xr-x 2 root root 2048 6月 28 2024 isolinux
dr-xr-xr-x 2 root root 2048 6月 28 2024 ks
dr-xr-xr-x 2 root root 3328000 6月 28 2024 Packages
dr-xr-xr-x 2 root root 4096 6月 28 2024 repodata
-r--r--r-- 1 root root 3033 6月 28 2024 RPM-GPG-KEY-openEuler
-r--r--r-- 1 root root 2198 6月 28 2024 TRANS.TBL
## 共享存储
## 节点一
[root@rac01 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 18.4G 0 loop /yum
sda 8:0 0 200G 0 disk
├─sda1 8:1 0 2G 0 part /boot
└─sda2 8:2 0 198G 0 part
├─openeuler-root 253:0 0 190G 0 lvm /
└─openeuler-swap 253:1 0 8G 0 lvm [SWAP]
sdb 8:16 0 50G 0 disk
sdc 8:32 0 50G 0 disk
sdd 8:48 0 50G 0 disk
sr0 11:0 1 1024M 0 rom
## 节点二
[root@rac02 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 18.4G 0 loop /yum
sda 8:0 0 200G 0 disk
├─sda1 8:1 0 2G 0 part /boot
└─sda2 8:2 0 198G 0 part
├─openeuler-root 253:0 0 190G 0 lvm /
└─openeuler-swap 253:1 0 8G 0 lvm [SWAP]
sdb 8:16 0 50G 0 disk
sdc 8:32 0 50G 0 disk
sdd 8:48 0 50G 0 disk
sr0 11:0 1 1024M 0 rom
# 安装包存放在 /soft 目录下
[root@rac01 soft]# ll
总用量 10147768
-rw-r--r-- 1 root root 1307484 6月 27 08:38 compat-glibc-2.12-4.el7.centos.x86_64.rpm
-rw-r--r-- 1 root root 3453696911 6月 27 08:39 LINUX.X64_122010_db_home.zip
-rw-r--r-- 1 root root 2994687209 6月 27 08:38 LINUX.X64_122010_grid_home.zip
-rw-r--r-- 1 root root 245190 6月 27 08:38 OracleShellInstall
-rw-r--r-- 1 root root 2526745297 6月 27 08:38 p35745595_122010_Linux-x86-64.zip
-rw-r--r-- 1 root root 138325588 6月 27 08:38 p35926712_122010_Linux-x86-64.zip
-rw-r--r-- 1 root root 1148325873 6月 27 08:38 p35966787_122010_Linux-x86-64.zip
-rw-r--r-- 1 root root 127629034 6月 27 08:38 p6880880_122010_Linux-x86-64.zip
-rw-r--r-- 1 root root 321590 6月 27 08:38 rlwrap-0.44.tar.gz
确保安装环境准备完成后,即可执行一键安装。
🛠️ 安装命令
使用标准生产环境安装参数(安装过程若失败,脚本支持重复执行安装):
# 根据脚本 README 或者 -h 命令提示,编辑好一键安装命令,进入 /soft 目录执行安装:
chmod +x /soft/OracleShellInstall
/soft/OracleShellInstall \
-n rac `# RAC 主机名前缀`\
-hn rac01,rac02 `# RAC 主机名`\
-cn rac-cls `# RAC 集群名称`\
-rp admin `# 主机 root 用户密码`\
-gp grid `# 主机 grid 用户密码`\
-op oracle `# 主机 oracle 用户密码`\
-lf ens33 `# 主机网卡名称`\
-pf ens37 `# 主机心跳网卡名称`\
-ri 192.168.80.71,192.168.80.72 `# RAC 公网 IP`\
-vi 192.168.80.73,192.168.80.74 `# RAC 虚拟 IP`\
-si 192.168.80.75 `# RAC SCAN IP`\
-od /dev/sdb `# OCR 磁盘盘符名称`\
-dd /dev/sdc `# DATA 磁盘盘符名称`\
-ad /dev/sdd `# ARCH 磁盘盘符名称`\
-o orcl `# 数据库名称`\
-ds AL32UTF8 `# 数据库字符集`\
-ns AL16UTF16 `# 国家字符集`\
-redo 100 `# 在线重做日志大小(M)`\
-dp oracle123 `# sys/system 用户密码`\
-gpa 35745595 `# Grid PSU/RU 补丁编号`\
-opa 35966787 `# Oracle PSU/RU 补丁编号`\
-jpa 35926712 `# OJVM PSU/RU 补丁编号`\
-opd Y `# 是否优化数据库`
🛠️ 安装过程
███████ ██ ████████ ██ ██ ██ ██ ██ ██ ██
██░░░░░██ ░██ ██░░░░░░ ░██ ░██ ░██░██ ░██ ░██ ░██
██ ░░██ ██████ ██████ █████ ░██ █████ ░██ ░██ █████ ░██ ░██░██ ███████ ██████ ██████ ██████ ░██ ░██
░██ ░██░░██░░█ ░░░░░░██ ██░░░██ ░██ ██░░░██░█████████░██████ ██░░░██ ░██ ░██░██░░██░░░██ ██░░░░ ░░░██░ ░░░░░░██ ░██ ░██
░██ ░██ ░██ ░ ███████ ░██ ░░ ░██░███████░░░░░░░░██░██░░░██░███████ ░██ ░██░██ ░██ ░██░░█████ ░██ ███████ ░██ ░██
░░██ ██ ░██ ██░░░░██ ░██ ██ ░██░██░░░░ ░██░██ ░██░██░░░░ ░██ ░██░██ ░██ ░██ ░░░░░██ ░██ ██░░░░██ ░██ ░██
░░███████ ░███ ░░████████░░█████ ███░░██████ ████████ ░██ ░██░░██████ ███ ███░██ ███ ░██ ██████ ░░██ ░░████████ ███ ███
░░░░░░░ ░░░ ░░░░░░░░ ░░░░░ ░░░ ░░░░░░ ░░░░░░░░ ░░ ░░ ░░░░░░ ░░░ ░░░ ░░ ░░░ ░░ ░░░░░░ ░░ ░░░░░░░░ ░░░ ░░░
注意:本脚本仅用于新服务器上实施部署数据库使用,严禁在已运行数据库的主机上执行,以免发生数据丢失或者损坏,造成不可挽回的损失!!!
请选择安装模式 [单机(si)/单机ASM(sa)/集群(rac)] : rac
数据库安装模式: rac
请选择数据库版本 [11|12|19|21|23] : 12
数据库版本: 12
!!! 免责声明:当前操作系统版本是 [ openEuler 22.03 (LTS-SP4) ] 不在 Oracle 官方支持列表,本脚本只负责安装,请确认是否继续安装 (Y/N): [Y]
OracleShellInstall 开始安装,详细安装过程可查看日志: tail -2000f /soft/print_shell_install_20250627083959.log
正在进行安装前检查,请稍等......
正在检测安装包 /soft/LINUX.X64_122010_grid_home.zip 的 MD5 值是否正确,请稍等......
正在检测安装包 /soft/LINUX.X64_122010_db_home.zip 的 MD5 值是否正确,请稍等......
正在配置本地软件源......已完成 (耗时: 0 秒)
配置 root 用户互信......已完成 (耗时: 5 秒)
正在检查并更新 RAC 主机时间......已完成 (耗时: 1 秒)
正在获取操作系统信息......已完成 (耗时: 1 秒)
正在安装依赖包......已完成 (耗时: 29 秒)
正在禁用防火墙......已完成 (耗时: 1 秒)
正在禁用 selinux......已完成 (耗时: 0 秒)
正在配置 nsyctl......已完成 (耗时: 0 秒)
正在配置主机名和 hosts 文件......已完成 (耗时: 1 秒)
正在创建用户和组......已完成 (耗时: 1 秒)
正在创建安装目录......已完成 (耗时: 1 秒)
正在配置透明大页 && NUMA && 磁盘 IO 调度器......已完成 (耗时: 1 秒)
正在配置操作系统参数 sysctl......已完成 (耗时: 1 秒)
正在配置 RemoveIPC......已完成 (耗时: 1 秒)
正在配置用户限制 limit......已完成 (耗时: 1 秒)
正在配置 shm 目录......已完成 (耗时: 1 秒)
正在安装 rlwrap 插件......已完成 (耗时: 13 秒)
正在配置用户环境变量......已完成 (耗时: 1 秒)
正在配置 RAC 其他节点信息......已完成 (耗时: 50 秒)
正在配置 RAC 所有节点互信......已完成 (耗时: 10 秒)
正在解压 Grid 安装包以及补丁......已完成 (耗时: 122 秒)
正在解压 Oracle 软件以及补丁......已完成 (耗时: 53 秒)
正在安装 Grid 软件以及补丁......已完成 (耗时: 1590 秒)
正在创建 ASM 磁盘组......已完成 (耗时: 41 秒)
正在安装 Oracle 软件以及补丁......已完成 (耗时: 783 秒)
正在创建数据库......已完成 (耗时: 614 秒)
正在优化数据库......已完成 (耗时: 22 秒)
恭喜!Oracle 一键安装执行完成 (耗时: 3372 秒),现在是否重启主机:[Y/N] Y
正在重启节点 192.168.80.72 主机......
正在重启当前节点主机......
✅ 连接测试
查看系统版本:
[root@rac01:/root]# cat /etc/os-release
NAME="openEuler"
VERSION="22.03 (LTS-SP4)"
ID="openEuler"
VERSION_ID="22.03"
PRETTY_NAME="openEuler 22.03 (LTS-SP4)"
ANSI_COLOR="0;31"
查看 Oracle 版本以及补丁:
[grid@rac01:/home/grid]$ sqlplus -v
SQL*Plus: Release 12.2.0.1.0 Production
[grid@rac01:/home/grid]$ opatch lspatches
33116894;ACFS JUL 2021 RELEASE UPDATE 12.2.0.1.210720 (33116894)
35755935;OCW OCT 2023 RELEASE UPDATE 12.2.0.1.231017 (35755935)
35549460;TOMCAT RELEASE UPDATE 12.2.0.1.0(ID:230628) (35549460)
26839277;DBWLM RELEASE UPDATE 12.2.0.1.0(ID:170913) (26839277)
35746058;Database Oct 2023 Release Update : 12.2.0.1.231017 (35746058)
OPatch succeeded.
连接数据库:
[oracle@openeuler:/home/oracle]$ sas
SQL*Plus: Release 11.2.0.4.0 Production on Wed Apr 10 10:45:43 2024
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
sys@orcl 2024-04-10 10:45:43> show parameter name
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
cell_offloadgroup_name string
db_file_name_convert string
db_name string orcl
db_unique_name string orcl
global_names boolean FALSE
instance_name string orcl
lock_name_space string
log_file_name_convert string
processor_group_name string
service_names string orcl
sys@LUCIFER 2024-04-10 10:45:49> select instance_name,status from gv$instance;
INSTANCE_NAME STATUS
---------------- ------------
orcl OPEN
数据库连接正常。
