前言

Oracle 一键安装脚本,演示 龙蜥 Anolis 7.9 一键安装 Oracle 11GR2 RAC(231017)过程(全程无需人工干预)。

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

安装准备

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

环境信息

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

# 主机版本
## 节点一
[root@anolis701 soft]# cat /etc/os-release 
NAME="Anolis OS"
VERSION="7.9"
ID="anolis"
ID_LIKE="rhel fedora centos"
VERSION_ID="7.9"
PRETTY_NAME="Anolis OS 7.9"
ANSI_COLOR="0;31"
HOME_URL="https://openanolis.cn/"
BUG_REPORT_URL="https://bugs.openanolis.cn/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

## 节点二
[root@anolis702:/root]$ cat /etc/os-release 
NAME="Anolis OS"
VERSION="7.9"
ID="anolis"
ID_LIKE="rhel fedora centos"
VERSION_ID="7.9"
PRETTY_NAME="Anolis OS 7.9"
ANSI_COLOR="0;31"
HOME_URL="https://openanolis.cn/"
BUG_REPORT_URL="https://bugs.openanolis.cn/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

# 网络信息
## 节点一
[root@anolis701 ~]# ip a
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:20:2b:85 brd ff:ff:ff:ff:ff:ff
    inet 192.168.6.130/24 brd 192.168.6.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::b567:60f9:d91b:b3c1/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:20:2b:99 brd ff:ff:ff:ff:ff:ff
    inet 1.1.1.1/24 brd 1.1.1.255 scope global noprefixroute ens37
       valid_lft forever preferred_lft forever
    inet6 fe80::d3dd:ebac:e841:5294/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

## 节点二
[root@anolis702:/root]$ ip a
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:5b:85:68 brd ff:ff:ff:ff:ff:ff
    inet 192.168.6.131/24 brd 192.168.6.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::f290:8431:1635:7e53/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:5b:85:7c brd ff:ff:ff:ff:ff:ff
    inet 1.1.1.2/24 brd 1.1.1.255 scope global noprefixroute ens37
       valid_lft forever preferred_lft forever
    inet6 fe80::a64a:2be6:4c23:49ce/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

# 挂载本地 ISO 镜像
## 节点一
[root@anolis701 soft]# mount | grep iso9660 | grep -v "/run/media"
/dev/sr0 on /mnt type iso9660 (ro,relatime)
[root@anolis701 soft]# df -h|grep /mnt
/dev/sr0             8.7G  8.7G     0 100% /mnt

## 节点二
[root@anolis702:/root]$ mount | grep iso9660 | grep -v "/run/media"
/dev/sr0 on /mnt type iso9660 (ro,relatime)
[root@anolis702:/root]$ df -h|grep /mnt
/dev/sr0             8.7G  8.7G     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@anolis701 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 
  ├─ao-root 253:0    0   91G  0 lvm  /
  └─ao-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  8.6G  0 rom  /mnt

## 节点二
[root@anolis702:/root]$ 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 
  ├─ao-root 253:0    0   91G  0 lvm  /
  └─ao-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  8.6G  0 rom  /mnt

# 安装包存放在 /soft 目录下
[root@anolis701 soft]# ll
-rwxr-xr-x 1 root root     201829 May  9 09:41 OracleShellInstall
-rwx------ 1 root root 1395582860 May  9 09:42 p13390677_112040_Linux-x86-64_1of7.zip
-rwx------ 1 root root 1151304589 May  9 09:42 p13390677_112040_Linux-x86-64_2of7.zip
-rwx------ 1 root root 1205251894 May  9 09:42 p13390677_112040_Linux-x86-64_3of7.zip
-rwx------ 1 root root  174911877 May  9 09:41 p18370031_112040_Linux-x86-64.zip
-rwx------ 1 root root   86183099 May  9 09:41 p35685663_112040_Linux-x86-64.zip
-rwx------ 1 root root 1491006593 May  9 09:42 p35685688_112040_Linux-x86-64.zip
-rwx------ 1 root root  128433424 May  9 09:41 p6880880_112000_Linux-x86-64.zip
-rwx------ 1 root root     321590 Mar 25 10:22 rlwrap-0.44.tar.gz

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

安装命令

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

# 根据脚本 README 或者 -h 命令提示,编辑好一键安装命令,进入 /soft 目录执行安装:
./OracleShellInstall -n anolis7 `# hostname prefix`\
-hn anolis701,anolis702 `# rac node hostname`\
-cn anolis7-cls `# cluster_name`\
-rp oracle `# root password`\
-gp oracle `# grid password`\
-op oracle `# oracle password`\
-lf ens33 `# local ip ifname`\
-pf ens37 `# rac private ip ifname`\
-ri 192.168.6.130,192.168.6.131 `# rac node public ip`\
-vi 192.168.6.132,192.168.6.133 `# rac virtual ip`\
-si 192.168.6.134 `# 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 35685688 `# grid PSU/RU`\
-jpa 35685663 `# OJVM PSU/RU`\
-opd Y `# optimize db`

安装过程

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

注意:本脚本仅用于新服务器上实施部署数据库使用,严禁在已运行数据库的主机上执行,以免发生数据丢失或者损坏,造成不可挽回的损失!!!                                                                                  

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

数据库安装模式: rac                                                                              

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

数据库版本:     11                                                                               

OracleShellInstall 开始安装,详细安装过程可查看日志: tail -2000f /soft/print_ora_install_20240509130643.log                                                                                  
正在检查操作系统是否符合安装条件......已完成 (耗时: 0 秒)
正在去除密码复杂度配置......已完成 (耗时: 1 秒)
正在配置 YUM 源......已完成 (耗时: 1 秒)
配置 root 用户互信......已完成 (耗时: 41 秒)
正在获取操作系统信息......已完成 (耗时: 1 秒)
正在配置 Swap......已完成 (耗时: 0 秒)
正在配置防火墙......已完成 (耗时: 2 秒)
正在配置 selinux......已完成 (耗时: 1 秒)
正在配置 nsyctl......已完成 (耗时: 1 秒)
正在安装依赖包......已完成 (耗时: 37 秒)
正在配置主机名和 /etc/hosts......已完成 (耗时: 0 秒)
正在创建用户和组......已完成 (耗时: 1 秒)
正在创建安装目录......已完成 (耗时: 1 秒)
正在配置 Avahi-daemon 服务......已完成 (耗时: 1 秒)
正在配置透明大页 && NUMA && 磁盘 IO 调度器......已完成 (耗时: 1 秒)
正在配置操作系统参数 sysctl......已完成 (耗时: 1 秒)
正在配置 RemoveIPC......已完成 (耗时: 1 秒)
正在配置用户限制 limit......已完成 (耗时: 1 秒)
正在配置 shm 目录......已完成 (耗时: 1 秒)
正在安装 rlwrap 插件......已完成 (耗时: 12 秒)
正在配置用户环境变量......已完成 (耗时: 1 秒)
正在配置 RAC 其他节点信息......已完成 (耗时: 42 秒)
正在配置 RAC 所有节点互信......已完成 (耗时: 7 秒)
正在解压 Grid 安装包以及补丁......已完成 (耗时: 180 秒)
正在解压 Oracle 软件以及补丁......已完成 (耗时: 143 秒)
正在安装 Grid 软件以及补丁......已完成 (耗时: 3176 秒)
正在创建 ASM 磁盘组......已完成 (耗时: 23 秒)
正在安装 Oracle 软件以及补丁......已完成 (耗时: 2151 秒)
正在创建数据库......已完成 (耗时: 877 秒)
正在优化数据库......已完成 (耗时: 124 秒)

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

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

连接测试

查看系统版本:

[root@anolis701 soft]# cat /etc/os-release 
NAME="Anolis OS"
VERSION="7.9"
ID="anolis"
ID_LIKE="rhel fedora centos"
VERSION_ID="7.9"
PRETTY_NAME="Anolis OS 7.9"
ANSI_COLOR="0;31"
HOME_URL="https://openanolis.cn/"
BUG_REPORT_URL="https://bugs.openanolis.cn/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

查看 Grid 版本以及补丁:

[grid@anolis701:/home/grid]$ sqlplus -v

SQL*Plus: Release 11.2.0.4.0 Production

[grid@anolis701:/home/grid]$ opatch lspatches
33112794;ACFS PATCH SET UPDATE 11.2.0.4.210720 (33112794)
35574075;Database Patch Set Update : 11.2.0.4.231017 (35574075)
32758914;OCW PATCH SET UPDATE 11.2.0.4.210720 (32758914)

OPatch succeeded.

查看集群:

[grid@anolis701:/home/grid]$ crsctl stat res -t
--------------------------------------------------------------------------------
NAME           TARGET  STATE        SERVER                   STATE_DETAILS       
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATA.dg
               ONLINE  ONLINE       anolis701                                    
               ONLINE  ONLINE       anolis702                                    
ora.LISTENER.lsnr
               ONLINE  ONLINE       anolis701                                    
               ONLINE  ONLINE       anolis702                                    
ora.OCR.dg
               ONLINE  ONLINE       anolis701                                    
               ONLINE  ONLINE       anolis702                                    
ora.asm
               ONLINE  ONLINE       anolis701                Started             
               ONLINE  ONLINE       anolis702                Started             
ora.gsd
               OFFLINE OFFLINE      anolis701                                    
               OFFLINE OFFLINE      anolis702                                    
ora.net1.network
               ONLINE  ONLINE       anolis701                                    
               ONLINE  ONLINE       anolis702                                    
ora.ons
               ONLINE  ONLINE       anolis701                                    
               ONLINE  ONLINE       anolis702                                    
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       anolis701                                    
ora.anolis701.vip
      1        ONLINE  ONLINE       anolis701                                    
ora.anolis702.vip
      1        ONLINE  ONLINE       anolis702                                    
ora.cvu
      1        ONLINE  ONLINE       anolis702                                    
ora.lucifer.db
      1        ONLINE  ONLINE       anolis701                Open                
      2        ONLINE  ONLINE       anolis702                Open                
ora.oc4j
      1        ONLINE  OFFLINE                                                   
ora.scan1.vip
      1        ONLINE  ONLINE       anolis701

查看 Oracle 版本以及补丁:

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

SQL*Plus: Release 11.2.0.4.0 Production

[oracle@anolis701:/home/oracle]$ opatch lspatches
35685663;OJVM PATCH SET UPDATE 11.2.0.4.231017
35574075;Database Patch Set Update : 11.2.0.4.231017 (35574075)
32758914;OCW PATCH SET UPDATE 11.2.0.4.210720 (32758914)

OPatch succeeded.

连接数据库:

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

SQL*Plus: Release 11.2.0.4.0 Production on Thu May 9 15:14:16 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-05-09 15:14:16> show parameter name

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
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
processor_group_name                 string
service_names                        string      lucifer
sys@LUCIFER 2024-05-09 15:14:26> select instance_name,status from gv$instance;

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

数据库连接正常。