前言
Oracle 一键安装脚本,演示 RedHat 7.9 一键安装 Oracle 21C RAC(21.14)过程(全程无需人工干预)。
⭐️ 脚本下载地址:Shell脚本安装Oracle数据库
安装准备
- 1、安装好操作系统,建议安装图形化
- 2、配置好网络
- 3、挂载本地 ISO 镜像源
- 4、上传软件安装包(安装基础包,补丁包)
- 5、上传一键安装脚本:OracleShellInstall
环境信息
# 主机版本
## 节点一
[root@rac01 soft]# cat /etc/os-release
NAME="Red Hat Enterprise Linux Server"
VERSION="7.9 (Maipo)"
ID="rhel"
ID_LIKE="fedora"
VARIANT="Server"
VARIANT_ID="server"
VERSION_ID="7.9"
PRETTY_NAME="Red Hat Enterprise Linux Server 7.9 (Maipo)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:redhat:enterprise_linux:7.9:GA:server"
HOME_URL="https://www.redhat.com/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 7"
REDHAT_BUGZILLA_PRODUCT_VERSION=7.9
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="7.9"
## 节点二
[root@rac02 ~]# cat /etc/os-release
NAME="Red Hat Enterprise Linux Server"
VERSION="7.9 (Maipo)"
ID="rhel"
ID_LIKE="fedora"
VARIANT="Server"
VARIANT_ID="server"
VERSION_ID="7.9"
PRETTY_NAME="Red Hat Enterprise Linux Server 7.9 (Maipo)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:redhat:enterprise_linux:7.9:GA:server"
HOME_URL="https://www.redhat.com/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 7"
REDHAT_BUGZILLA_PRODUCT_VERSION=7.9
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="7.9"
# 网络信息
## 节点一
[root@rac01 soft]# ip a
2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:96:ac:51 brd ff:ff:ff:ff:ff:ff
inet 192.168.6.151/24 brd 192.168.6.255 scope global noprefixroute ens192
valid_lft forever preferred_lft forever
inet6 fe80::f5b9:ca65:dba2:bf0/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:96:ac:5b brd ff:ff:ff:ff:ff:ff
inet 1.1.1.1/24 brd 1.1.1.255 scope global noprefixroute ens224
valid_lft forever preferred_lft forever
inet6 fe80::a8ce:7574:2cec:a98e/64 scope link noprefixroute
valid_lft forever preferred_lft forever
## 节点二
[root@rac02 ~]# ip a
2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:f2:87:1f brd ff:ff:ff:ff:ff:ff
inet 192.168.6.152/24 brd 192.168.6.255 scope global noprefixroute ens192
valid_lft forever preferred_lft forever
inet6 fe80::add5:391e:a5cb:6547/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:f2:87:29 brd ff:ff:ff:ff:ff:ff
inet 1.1.1.2/24 brd 1.1.1.255 scope global noprefixroute ens224
valid_lft forever preferred_lft forever
inet6 fe80::3044:e992:319f:95a2/64 scope link noprefixroute
valid_lft forever preferred_lft forever
# 挂载本地 ISO 镜像
## 节点一
[root@rac01 soft]# mount | grep iso9660 | grep -v "/run/media"
/dev/sr0 on /mnt type iso9660 (ro,relatime)
[root@rac01 soft]# df -h|grep /mnt
/dev/sr0 4.3G 4.3G 0 100% /mnt
## 节点二
[root@rac02 ~]# mount | grep iso9660 | grep -v "/run/media"
/dev/sr0 on /mnt type iso9660 (ro,relatime)
[root@rac02 ~]# df -h|grep /mnt
/dev/sr0 4.3G 4.3G 0 100% /mnt
# starwind 共享磁盘挂载(有存储就不需要使用 starwind,直接存储上划盘挂载就可)
yum install -y iscsi-initiator-utils*
systemctl start iscsid.service
systemctl enable iscsid.service
iscsiadm -m discovery -t st -p 192.168.6.188
## 挂载 ASM 磁盘
iscsiadm -m node -T iqn.2008-08.com.starwindsoftware:192.168.6.188-lucifer -p 192.168.6.188 -l
## 配置开机自动挂载
iscsiadm -m node -T iqn.2008-08.com.starwindsoftware:192.168.6.188-lucifer -p 192.168.6.188 --op update -n node.startup -v automatic
## 节点一
[root@rac01 soft]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 99G 0 part
├─rhel-root 253:0 0 91G 0 lvm /
└─rhel-swap 253:1 0 8G 0 lvm [SWAP]
sdb 8:16 0 10G 0 disk
sdc 8:32 0 50G 0 disk
sr0 11:0 1 4.2G 0 rom /mnt
## 节点二
[root@rac02 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 99G 0 part
├─rhel-root 253:0 0 91G 0 lvm /
└─rhel-swap 253:1 0 8G 0 lvm [SWAP]
sdb 8:16 0 10G 0 disk
sdc 8:32 0 50G 0 disk
sr0 11:0 1 4.2G 0 rom /mnt
# 安装包存放在 /soft 目录下
[root@rac01 soft]# ll
-rwx------. 1 root root 3109225519 Apr 25 13:47 LINUX.X64_213000_db_home.zip
-rwx------. 1 root root 2422217613 Apr 25 13:46 LINUX.X64_213000_grid_home.zip
-rwxr-xr-x. 1 root root 197418 Apr 26 10:40 OracleShellInstall
-rwx------. 1 root root 2044000163 Apr 25 13:46 p36352207_210000_Linux-x86-64.zip
-rwx------. 1 root root 127629034 Apr 25 13:46 p6880880_210000_Linux-x86-64.zip
-rwx------. 1 root root 321590 Mar 11 14:12 rlwrap-0.44.tar.gz
确保安装环境准备完成后,即可执行一键安装。
安装命令
使用标准生产环境安装参数(安装过程若失败,脚本支持重复执行安装):
# 根据脚本 README 或者 -h 命令提示,编辑好一键安装命令,进入 /soft 目录执行安装:
./OracleShellInstall -n rac `# hostname prefix`\
-hn rac01,rac02 `# rac node hostname`\
-cn rac-cls `# cluster_name`\
-rp oracle `# root password`\
-gp oracle `# grid password`\
-op oracle `# oracle password`\
-lf ens192 `# local ip ifname`\
-pf ens224 `# rac private ip ifname`\
-ri 192.168.6.151,192.168.6.152 `# rac node public ip`\
-vi 192.168.6.153,192.168.6.154 `# rac virtual ip`\
-si 192.168.6.155 `# rac scan ip`\
-od /dev/sdb `# rac ocr asm disk`\
-dd /dev/sdc `# rac data asm disk`\
-o lucifer `# dbname`\
-pdb oliver `# pdbname`\
-ds AL32UTF8 `# database character`\
-ns AL16UTF16 `# national character`\
-redo 100 `# redo size`\
-dp oracle `# sys/system password`\
-gpa 36352207 `# grid PSU/RU`\
-opd Y `# optimize db`
安装过程
███████ ██ ████████ ██ ██ ██ ██ ██ ██ ██
██░░░░░██ ░██ ██░░░░░░ ░██ ░██ ░██░██ ░██ ░██ ░██
██ ░░██ ██████ ██████ █████ ░██ █████ ░██ ░██ █████ ░██ ░██░██ ███████ ██████ ██████ ██████ ░██ ░██
░██ ░██░░██░░█ ░░░░░░██ ██░░░██ ░██ ██░░░██░█████████░██████ ██░░░██ ░██ ░██░██░░██░░░██ ██░░░░ ░░░██░ ░░░░░░██ ░██ ░██
░██ ░██ ░██ ░ ███████ ░██ ░░ ░██░███████░░░░░░░░██░██░░░██░███████ ░██ ░██░██ ░██ ░██░░█████ ░██ ███████ ░██ ░██
░░██ ██ ░██ ██░░░░██ ░██ ██ ░██░██░░░░ ░██░██ ░██░██░░░░ ░██ ░██░██ ░██ ░██ ░░░░░██ ░██ ██░░░░██ ░██ ░██
░░███████ ░███ ░░████████░░█████ ███░░██████ ████████ ░██ ░██░░██████ ███ ███░██ ███ ░██ ██████ ░░██ ░░████████ ███ ███
░░░░░░░ ░░░ ░░░░░░░░ ░░░░░ ░░░ ░░░░░░ ░░░░░░░░ ░░ ░░ ░░░░░░ ░░░ ░░░ ░░ ░░░ ░░ ░░░░░░ ░░ ░░░░░░░░ ░░░ ░░░
注意:本脚本仅用于新服务器上实施部署数据使用,严禁在已运行数据库的主机上执行,以免发生数据丢失或者损坏,造成不可挽回的损失!!!
请选择安装模式 [单机(si)/单机ASM(sa)/集群(rac)] : rac
数据库安装模式: rac
请选择数据库版本 [11/12/19/21] : 21
数据库版本: 21
OracleShellInstall 开始安装,安装过程可查看日志: /soft/print_ora_install_20240426130641.log
正在检查操作系统是否符合安装条件......已完成 (耗时: 0 秒)
正在去除密码复杂度配置......已完成 (耗时: 0 秒)
正在配置 YUM 源......已完成 (耗时: 1 秒)
配置 root 用户互信......已完成 (耗时: 2 秒)
正在获取操作系统信息......已完成 (耗时: 0 秒)
正在配置 Swap......已完成 (耗时: 30 秒)
正在配置防火墙......已完成 (耗时: 2 秒)
正在配置 selinux......已完成 (耗时: 1 秒)
正在配置 nsyctl......已完成 (耗时: 1 秒)
正在安装依赖包......已完成 (耗时: 42 秒)
正在配置主机名和 /etc/hosts......已完成 (耗时: 0 秒)
正在创建用户和组......已完成 (耗时: 1 秒)
正在创建安装目录......已完成 (耗时: 1 秒)
正在配置 Avahi-daemon 服务......已完成 (耗时: 1 秒)
正在配置透明大页 && NUMA && 磁盘 IO 调度器......已完成 (耗时: 1 秒)
正在配置操作系统参数 sysctl......已完成 (耗时: 1 秒)
正在配置 RemoveIPC......已完成 (耗时: 1 秒)
正在配置用户限制 limit......已完成 (耗时: 1 秒)
正在配置 shm 目录......已完成 (耗时: 1 秒)
正在安装 rlwrap 插件......已完成 (耗时: 11 秒)
正在配置用户环境变量......已完成 (耗时: 1 秒)
正在配置 RAC 其他节点信息......已完成 (耗时: 117 秒)
正在配置 RAC 所有节点互信......已完成 (耗时: 12 秒)
正在解压 Grid 安装包以及补丁......已完成 (耗时: 165 秒)
正在解压 Oracle 软件以及补丁......已完成 (耗时: 130 秒)
正在安装 Grid 软件以及补丁......已完成 (耗时: 2015 秒)
正在创建 ASM 磁盘组......已完成 (耗时: 26 秒)
正在安装 Oracle 软件以及补丁......已完成 (耗时: 1840 秒)
正在创建数据库......已完成 (耗时: 1762 秒)
正在优化数据库......已完成 (耗时: 127 秒)
恭喜!Oracle RAC 安装成功 (耗时: 6318 秒),现在是否重启主机:[Y/N] Y
正在重启主机......
连接测试
查看系统版本:
[root@rac01 soft]# cat /etc/os-release
NAME="Red Hat Enterprise Linux Server"
VERSION="7.9 (Maipo)"
ID="rhel"
ID_LIKE="fedora"
VARIANT="Server"
VARIANT_ID="server"
VERSION_ID="7.9"
PRETTY_NAME="Red Hat Enterprise Linux Server 7.9 (Maipo)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:redhat:enterprise_linux:7.9:GA:server"
HOME_URL="https://www.redhat.com/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 7"
REDHAT_BUGZILLA_PRODUCT_VERSION=7.9
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="7.9"
查看 Grid 版本以及补丁:
[grid@rac01:/home/grid]$ sqlplus -v
SQL*Plus: Release 21.0.0.0.0 - Production
Version 21.14.0.0.0
[grid@rac01:/home/grid]$ opatch lspatches
36460255;TOMCAT RELEASE UPDATE 21.0.0.0.0 (36460255)
36360767;RHP RELEASE UPDATE 21.14.0.0.0 (36360767)
36360764;ACFS RELEASE UPDATE 21.14.0.0.0 (36360764)
36360754;OCW RELEASE UPDATE 21.14.0.0.0 (36360754)
36352352;Database Release Update : 21.14.0.0.240416 (36352352)
36115667;DBWLM RELEASE UPDATE 21.0.0.0.0 (36115667)
OPatch succeeded.
查看集群:
[grid@rac01:/home/grid]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
ONLINE ONLINE rac01 STABLE
ONLINE ONLINE rac02 STABLE
ora.chad
ONLINE ONLINE rac01 STABLE
ONLINE ONLINE rac02 STABLE
ora.net1.network
ONLINE ONLINE rac01 STABLE
ONLINE ONLINE rac02 STABLE
ora.ons
ONLINE ONLINE rac01 STABLE
ONLINE ONLINE rac02 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
1 ONLINE ONLINE rac01 STABLE
2 ONLINE ONLINE rac02 STABLE
ora.DATA.dg(ora.asmgroup)
1 ONLINE ONLINE rac01 STABLE
2 ONLINE ONLINE rac02 STABLE
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE rac02 STABLE
ora.OCR.dg(ora.asmgroup)
1 ONLINE ONLINE rac01 STABLE
2 ONLINE ONLINE rac02 STABLE
ora.asm(ora.asmgroup)
1 ONLINE ONLINE rac01 Started,STABLE
2 ONLINE ONLINE rac02 Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
1 ONLINE ONLINE rac01 STABLE
2 ONLINE ONLINE rac02 STABLE
ora.cdp1.cdp
1 ONLINE ONLINE rac02 STABLE
ora.cvu
1 ONLINE ONLINE rac02 STABLE
ora.lucifer.db
1 ONLINE ONLINE rac01 Open,HOME=/u01/app/o
racle/product/21.3.0
/db,STABLE
2 ONLINE ONLINE rac02 Open,HOME=/u01/app/o
racle/product/21.3.0
/db,STABLE
ora.lucifer.oliver.pdb
1 ONLINE ONLINE rac01 STABLE
2 OFFLINE OFFLINE STABLE
ora.qosmserver
1 ONLINE ONLINE rac02 STABLE
ora.rac01.vip
1 ONLINE ONLINE rac01 STABLE
ora.rac02.vip
1 ONLINE ONLINE rac02 STABLE
ora.scan1.vip
1 ONLINE ONLINE rac02 STABLE
--------------------------------------------------------------------------------
查看 Oracle 版本以及补丁:
[oracle@rac01:/home/oracle]$ sqlplus -v
SQL*Plus: Release 21.0.0.0.0 - Production
Version 21.14.0.0.0
[oracle@rac01:/home/oracle]$ opatch lspatches
36360767;RHP RELEASE UPDATE 21.14.0.0.0 (36360767)
36360754;OCW RELEASE UPDATE 21.14.0.0.0 (36360754)
36352352;Database Release Update : 21.14.0.0.240416 (36352352)
OPatch succeeded.
连接数据库:
[oracle@rac01:/home/oracle]$ sas
SQL*Plus: Release 21.0.0.0.0 - Production on Fri Apr 26 15:05:26 2024
Version 21.14.0.0.0
Copyright (c) 1982, 2021, Oracle. All rights reserved.
Connected to:
Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production
Version 21.14.0.0.0
sys@LUCIFER 2024-04-26 15:05:26> show parameter name
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
cdb_cluster_name string
cell_offloadgroup_name string
db_file_name_convert string
db_name string lucifer
db_unique_name string lucifer
global_names boolean FALSE
instance_name string lucifer1
lock_name_space string
log_file_name_convert string
pdb_file_name_convert string
processor_group_name string
service_names string lucifer
sys@LUCIFER 2024-04-26 15:05:32> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 OLIVER READ WRITE NO
sys@LUCIFER 2024-04-26 15:05:34> select instance_name,status from gv$instance;
INSTANCE_NAME STATUS
---------------- ------------
lucifer1 OPEN
lucifer2 OPEN
数据库连接正常。