前言

Oracle 一键安装脚本,演示 Oracle Linux 8.8 一键安装 Oracle 11GR2 RAC(231017)过程(全程无需人工干预):(脚本包括 ORALCE PSU/OJVM 等补丁自动安装)

⭐️ 脚本下载地址:Shell脚本安装Oracle数据库

脚本第三代支持 N 节点一键安装,不限制节点数!

Oracle Linux 8.8 一键安装 Oracle 11GR2 RAC(231017)_一键安装

安装准备

  • 1、安装好操作系统,建议安装图形化
  • 2、配置好网络
  • 3、挂载本地 ISO 镜像源
  • 4、上传软件安装包(安装基础包,补丁包:33991024,35574075,35685663,35940989、6880880)
  • 5、上传一键安装脚本:OracleShellInstall

参考:

在 Oracle Linux 8.8 安装 11GR2 RAC 数据库,需要安装 19.14 版本之后的 Grid 软件补丁,然后再安装 11GR2 数据:

Oracle Linux 8.8 一键安装 Oracle 11GR2 RAC(231017)_数据库_02

✨ 偷懒可以直接下载本文安装包合集:Oracle Linux 8.8 一键安装 Oracle 11GR2 RAC(231017)安装包合集(包含补丁!!!)

演示环境信息

++📢注意:Oracle 11GR2 RAC 安装主机名不能有大写字符,否则安装失败!++

# 主机版本
[root@oel01 ~]# cat /etc/os-release 
NAME="Oracle Linux Server"
VERSION="8.8"
ID="ol"
ID_LIKE="fedora"
VARIANT="Server"
VARIANT_ID="server"
VERSION_ID="8.8"
PLATFORM_ID="platform:el8"
PRETTY_NAME="Oracle Linux Server 8.8"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:oracle:linux:8:8:server"
HOME_URL="https://linux.oracle.com/"
BUG_REPORT_URL="https://bugzilla.oracle.com/"

ORACLE_BUGZILLA_PRODUCT="Oracle Linux 8"
ORACLE_BUGZILLA_PRODUCT_VERSION=8.8
ORACLE_SUPPORT_PRODUCT="Oracle Linux"
ORACLE_SUPPORT_PRODUCT_VERSION=8.8

# 网络信息
## 节点一
[root@oel01 ~]# ip a
2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:29:31:1e:07 brd ff:ff:ff:ff:ff:ff
    altname enp11s0
    inet 192.168.6.180/24 brd 192.168.6.255 scope global noprefixroute ens192
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe31:1e07/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:1e:11 brd ff:ff:ff:ff:ff:ff
    altname enp19s0
    inet 2.2.2.1/24 brd 2.2.2.255 scope global noprefixroute ens224
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe31:1e11/64 scope link tentative noprefixroute 
       valid_lft forever preferred_lft forever

## 节点二
[root@oel02 ~]# ip a
2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:29:6f:8e:70 brd ff:ff:ff:ff:ff:ff
    altname enp11s0
    inet 192.168.6.181/24 brd 192.168.6.255 scope global noprefixroute ens192
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe6f:8e70/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:6f:8e:7a brd ff:ff:ff:ff:ff:ff
    altname enp19s0
    inet 2.2.2.2/24 brd 2.2.2.255 scope global noprefixroute ens224
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe6f:8e7a/64 scope link tentative noprefixroute 
       valid_lft forever preferred_lft forever

# 挂载本地 ISO 镜像
## 节点一
[root@oel01 ~]# mount | grep iso9660 | grep -v "/run/media"
/dev/sr0 on /mnt type iso9660 (ro,relatime,nojoliet,check=s,map=n,blocksize=2048,uid=0,gid=0,dmode=500,fmode=400,iocharset=utf8)
[root@oel01 ~]# df -h|grep /mnt
/dev/sr0              12G   12G     0 100% /mnt

## 节点二
[root@oel02 ~]# mount | grep iso9660 | grep -v "/run/media"
/dev/sr0 on /mnt type iso9660 (ro,relatime,nojoliet,check=s,map=n,blocksize=2048,uid=0,gid=0,dmode=500,fmode=400,iocharset=utf8)
[root@oel02 ~]# df -h|grep /mnt
/dev/sr0              12G   12G     0 100% /mnt

# starwind 共享磁盘挂载(有存储就不需要使用 starwind,直接存储上划盘挂载就可)
## 两个节点均执行
yum install -y iscsi-initiator-utils*
systemctl start iscsid.service
systemctl enable iscsid.service
systemctl status iscsid.service
## 查找服务端
[root@oel01 ~]# iscsiadm -m discovery -t st -p 192.168.6.188
192.168.6.188:3260,-1 iqn.2008-08.com.starwindsoftware:192.168.6.188-lucifer
[root@oel02 ~]# iscsiadm -m discovery -t st -p 192.168.6.188
192.168.6.188:3260,-1 iqn.2008-08.com.starwindsoftware:192.168.6.188-lucifer
## 挂载 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@oel01 ~]# lsblk 
NAME               MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda                  8:0    0  100G  0 disk 
├─sda1               8:1    0    1G  0 part /boot
└─sda2               8:2    0   99G  0 part 
  ├─openeuler-root 253:0    0   91G  0 lvm  /
  └─openeuler-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 17.1G  0 rom  /mnt

## 节点二
[root@oel02 ~]# lsblk 
NAME               MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda                  8:0    0  100G  0 disk 
├─sda1               8:1    0    1G  0 part /boot
└─sda2               8:2    0   99G  0 part 
  ├─openeuler-root 253:0    0   91G  0 lvm  /
  └─openeuler-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 17.1G  0 rom  /mnt

# 安装包存放在 /soft 目录下
[root@oel01 soft]# ll
-rwx------. 1 root root 2889184573 Apr  3 16:22 LINUX.X64_193000_grid_home.zip
-rwxr-xr-x. 1 root root     182159 Apr  3 16:20 OracleShellInstall
-rwx------. 1 root root 1395582860 Apr  3 16:21 p13390677_112040_Linux-x86-64_1of7.zip
-rwx------. 1 root root 1151304589 Apr  3 16:21 p13390677_112040_Linux-x86-64_2of7.zip
-rwx------. 1 root root       8684 Apr  3 16:20 p33991024_11204220118_Generic.zip
-rwx------. 1 root root  562188912 Apr  3 16:20 p35574075_112040_Linux-x86-64.zip
-rwx------. 1 root root   86183099 Apr  3 16:20 p35685663_112040_Linux-x86-64.zip
-rwx------. 1 root root 3153297056 Apr  3 16:22 p35940989_190000_Linux-x86-64.zip
-rwx------. 1 root root  128433424 Apr  3 16:20 p6880880_112000_Linux-x86-64.zip
-rwx------. 1 root root  127774864 Apr  3 16:21 p6880880_190000_Linux-x86-64.zip
-rwx------. 1 root root     321590 Apr  3 16:20 rlwrap-0.44.tar.gz

确保安装环境准备完成后,即可执行一键安装。

安装命令

使用标准生产环境安装参数(安装过程若失败,脚本支持重复执行安装):

# 根据脚本 README 或者 -h 命令提示,编辑好一键安装命令,进入 /soft 目录执行安装:
./OracleShellInstall -n oel `# hostname prefix`\
-hn oel01,oel02 `# rac node hostname`\
-cn oel-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.180,192.168.6.181 `# rac node public ip`\
-vi 192.168.6.182,192.168.6.183 `# rac virtual ip`\
-si 192.168.6.184 `# rac scan ip`\
-od /dev/sdb `# rac ocr asm disk`\
-dd /dev/sdc `# rac data asm disk`\
-o lucifer `# dbname`\
-ds AL32UTF8 `# database character`\
-ns AL16UTF16 `# national character`\
-redo 100 `# redo size`\
-dp oracle `# sys/system password`\
-gpa 35940989 `# grid PSU/RU`\
-opa 35574075 `# db PSU/RU`\
-jpa 35685663 `# OJVM PSU/RU`\
-opd Y `# optimize db`\
-giv 19 `# grid version`

安装过程

███████                             ██          ████████ ██               ██  ██ ██                    ██              ██  ██
  ██░░░░░██                           ░██         ██░░░░░░ ░██              ░██ ░██░██                   ░██             ░██ ░██
 ██     ░░██ ██████  ██████    █████  ░██  █████ ░██       ░██       █████  ░██ ░██░██ ███████   ██████ ██████  ██████   ░██ ░██
░██      ░██░░██░░█ ░░░░░░██  ██░░░██ ░██ ██░░░██░█████████░██████  ██░░░██ ░██ ░██░██░░██░░░██ ██░░░░ ░░░██░  ░░░░░░██  ░██ ░██
░██      ░██ ░██ ░   ███████ ░██  ░░  ░██░███████░░░░░░░░██░██░░░██░███████ ░██ ░██░██ ░██  ░██░░█████   ░██    ███████  ░██ ░██
░░██     ██  ░██    ██░░░░██ ░██   ██ ░██░██░░░░        ░██░██  ░██░██░░░░  ░██ ░██░██ ░██  ░██ ░░░░░██  ░██   ██░░░░██  ░██ ░██
 ░░███████  ░███   ░░████████░░█████  ███░░██████ ████████ ░██  ░██░░██████ ███ ███░██ ███  ░██ ██████   ░░██ ░░████████ ███ ███
  ░░░░░░░   ░░░     ░░░░░░░░  ░░░░░  ░░░  ░░░░░░ ░░░░░░░░  ░░   ░░  ░░░░░░ ░░░ ░░░ ░░ ░░░   ░░ ░░░░░░     ░░   ░░░░░░░░ ░░░ ░░░

请选择安装模式 [单机(si)/单机ASM(sa)/集群(rac)] : rac

数据库安装模式: rac

请选择数据库版本 [11/12/19/21] : 11

数据库版本:     11

OracleShellInstall 开始安装(安装过程可查看日志:/soft/print_ora_install_20240411111601.log)                            

正在检查操作系统是否符合安装条件......已完成 (耗时: 0 秒)
正在去除密码复杂度配置......已完成 (耗时: 0 秒)
正在配置 YUM 源......已完成 (耗时: 1 秒)
配置 root 用户互信......已完成 (耗时: 4 秒)
正在获取操作系统信息......已完成 (耗时: 1 秒)
正在配置 Swap......已完成 (耗时: 0 秒)
正在配置防火墙......已完成 (耗时: 2 秒)
正在配置 selinux......已完成 (耗时: 1 秒)
正在配置 nsyctl......已完成 (耗时: 1 秒)
正在安装依赖包......已完成 (耗时: 59 秒)
正在配置主机名和 /etc/hosts......已完成 (耗时: 0 秒)
正在创建用户和组......已完成 (耗时: 2 秒)
正在创建安装目录......已完成 (耗时: 1 秒)
正在配置 Avahi-daemon 服务......已完成 (耗时: 5 秒)
正在配置透明大页 && NUMA && 磁盘 IO 调度器......已完成 (耗时: 2 秒)
正在配置操作系统参数 sysctl......已完成 (耗时: 1 秒)
正在配置 RemoveIPC......已完成 (耗时: 1 秒)
正在配置用户限制 limit......已完成 (耗时: 2 秒)
正在配置 shm 目录......已完成 (耗时: 0 秒)
正在安装 rlwrap 插件......已完成 (耗时: 13 秒)
正在配置用户环境变量......已完成 (耗时: 1 秒)
正在配置 RAC 其他节点信息......已完成 (耗时: 110 秒)
正在配置 RAC 所有节点互信......已完成 (耗时: 11 秒)
正在解压 Grid 安装包以及补丁......已完成 (耗时: 173 秒)
正在解压 Oracle 软件以及补丁......已完成 (耗时: 109 秒)
正在安装 Grid 软件以及补丁......已完成 (耗时: 2873 秒)
正在创建 ASM 磁盘组......已完成 (耗时: 25 秒)
正在安装 Oracle 软件以及补丁......已完成 (耗时: 2502 秒)
正在创建数据库......已完成 (耗时: 921 秒)
正在优化数据库......已完成 (耗时: 104 秒)

恭喜!Oracle RAC 安装成功 (耗时: 6947 秒),现在是否重启主机:[Y/N] Y

正在重启主机......

连接测试

查看系统版本:

[root@oel01 soft]# cat /etc/os-release
NAME="Oracle Linux Server"
VERSION="8.9"
ID="ol"
ID_LIKE="fedora"
VARIANT="Server"
VARIANT_ID="server"
VERSION_ID="8.9"
PLATFORM_ID="platform:el8"
PRETTY_NAME="Oracle Linux Server 8.9"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:oracle:linux:8:9:server"
HOME_URL="https://linux.oracle.com/"
BUG_REPORT_URL="https://bugzilla.oracle.com/"

ORACLE_BUGZILLA_PRODUCT="Oracle Linux 8"
ORACLE_BUGZILLA_PRODUCT_VERSION=8.9
ORACLE_SUPPORT_PRODUCT="Oracle Linux"
ORACLE_SUPPORT_PRODUCT_VERSION=8.9

查看 Grid 版本以及补丁:

[root@oel01:/root]$ so
[oracle@oel01:/home/oracle]$ exit
logout
[root@oel01:/root]$ sg
[grid@oel01:/home/grid]$ sqlplus -v

SQL*Plus: Release 19.0.0.0.0 - Production
Version 19.22.0.0.0

[grid@oel01:/home/grid]$ opatch lspatches
36115038;TOMCAT RELEASE UPDATE 19.0.0.0.0 (36115038)
35967489;OCW RELEASE UPDATE 19.22.0.0.0 (35967489)
35956421;ACFS RELEASE UPDATE 19.22.0.0.0 (35956421)
35943157;Database Release Update : 19.22.0.0.240116 (35943157)
33575402;DBWLM RELEASE UPDATE 19.0.0.0.0 (33575402)

OPatch succeeded.

查看集群:

[grid@oel01:/home/grid]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
               ONLINE  ONLINE       oel01                    STABLE
               ONLINE  ONLINE       oel02                    STABLE
ora.chad
               ONLINE  ONLINE       oel01                    STABLE
               ONLINE  ONLINE       oel02                    STABLE
ora.net1.network
               ONLINE  ONLINE       oel01                    STABLE
               ONLINE  ONLINE       oel02                    STABLE
ora.ons
               ONLINE  ONLINE       oel01                    STABLE
               ONLINE  ONLINE       oel02                    STABLE
ora.proxy_advm
               OFFLINE OFFLINE      oel01                    STABLE
               OFFLINE OFFLINE      oel02                    STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
      1        ONLINE  ONLINE       oel01                    STABLE
      2        ONLINE  ONLINE       oel02                    STABLE
ora.DATA.dg(ora.asmgroup)
      1        ONLINE  ONLINE       oel01                    STABLE
      2        ONLINE  ONLINE       oel02                    STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       oel02                    STABLE
ora.OCR.dg(ora.asmgroup)
      1        ONLINE  ONLINE       oel01                    STABLE
      2        ONLINE  ONLINE       oel02                    STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  ONLINE       oel01                    Started,STABLE
      2        ONLINE  ONLINE       oel02                    Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE  ONLINE       oel01                    STABLE
      2        ONLINE  ONLINE       oel02                    STABLE
ora.cvu
      1        ONLINE  ONLINE       oel02                    STABLE
ora.lucifer.db
      1        ONLINE  ONLINE       oel01                    Open,HOME=/u01/app/o
                                                             racle/product/11.2.0
                                                             /db,STABLE
      2        ONLINE  ONLINE       oel02                    Open,HOME=/u01/app/o
                                                             racle/product/11.2.0
                                                             /db,STABLE
ora.oel01.vip
      1        ONLINE  ONLINE       oel01                    STABLE
ora.oel02.vip
      1        ONLINE  ONLINE       oel02                    STABLE
ora.qosmserver
      1        ONLINE  ONLINE       oel02                    STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       oel02                    STABLE
--------------------------------------------------------------------------------

查看 Oracle 版本以及补丁:

[oracle@oel01:/home/oracle]$ sqlplus -v

SQL*Plus: Release 11.2.0.4.0 Production

[oracle@oel01:/home/oracle]$ opatch lspatches
35685663;OJVM PATCH SET UPDATE 11.2.0.4.231017
33991024;11204CERT ON OL8: LINKING ERRORS DURING 11204 FOR DB INSTALL ON OL8.2
35574075;Database Patch Set Update : 11.2.0.4.231017 (35574075)

OPatch succeeded.

连接数据库:

[oracle@oel01:/home/oracle]$ sas

SQL*Plus: Release 11.2.0.4.0 Production on Thu Apr 11 17:30: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, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options

sys@LUCIFER 2024-04-11 17:30:44> select instance_name,status from gv$instance;

INSTANCE_NAME    STATUS
---------------- ------------
lucifer1         OPEN
lucifer2         OPEN

数据库连接正常。