前言

Oracle 一键安装脚本,演示 openEuler 23.09 一键安装 Oracle 19C 单机 ASM 过程(全程无需人工干预)。

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

安装准备

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

环境信息

# 主机版本
[root@openEuler23 soft]# cat /etc/os-release
NAME="openEuler"
VERSION="23.09"
ID="openEuler"
VERSION_ID="23.09"
PRETTY_NAME="openEuler 23.09"
ANSI_COLOR="0;31"

# 网络信息
[root@openEuler23 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:a4:04:2b brd ff:ff:ff:ff:ff:ff
    inet 192.168.6.197/24 brd 192.168.6.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fea4:42b/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

# 挂载本地 ISO 镜像
[root@openEuler23 soft]# mount | grep iso9660 | grep -v "/run/media"
/dev/sr0 on /mnt type iso9660 (ro,relatime,nojoliet,check=s,map=n,blocksize=2048,iocharset=utf8)
[root@openEuler23 soft]# df -h|grep /mnt
/dev/sr0                     20G   20G     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@openEuler23 ~]# 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 19.3G  0 rom  /mnt

# 安装包存放在 /soft 目录下
[root@openEuler23 soft]# ll
-rwx------. 1 root root 3109225519 May  8 14:06 LINUX.X64_213000_db_home.zip
-rwx------. 1 root root 2422217613 May  8 14:20 LINUX.X64_213000_grid_home.zip
-rwxr-xr-x. 1 root root     207257 May  8 14:22 OracleShellInstall
-rwx------. 1 root root     321590 May  8 13:34 rlwrap-0.44.tar.gz

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

安装命令

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

# 根据脚本 README 或者 -h 命令提示,编辑好一键安装命令,进入 /soft 目录执行安装:
./OracleShellInstall -n openEuler23 `# hostname prefix`\
-gp oracle `# grid password`\
-op oracle `# oracle password`\
-lf ens33 `# local ip ifname`\
-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`\
-opd Y `# optimize db`

安装过程

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


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

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

数据库安装模式: standalone                                                                       

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

数据库版本:     19                                                                               

!!! 免责声明:当前操作系统版本是 [ openEuler 23.09 ] 不在 Oracle 官方支持列表,本脚本只负责安装,请确认是否继续安装 (Y/N): [Y] 

OracleShellInstall 开始安装,详细安装过程可查看日志: tail -2000f /soft/print_shell_install_20240508141405.log                                                                                  

正在去除密码复杂度配置......已完成 (耗时: 2 秒)
正在配置 YUM 源......已完成 (耗时: 0 秒)
正在获取操作系统信息......已完成 (耗时: 1 秒)
正在配置 Swap......已完成 (耗时: 0 秒)
正在配置防火墙......已完成 (耗时: 1 秒)
正在配置 selinux......已完成 (耗时: 1 秒)
正在配置 nsyctl......已完成 (耗时: 0 秒)
正在安装依赖包......已完成 (耗时: 32 秒)
正在配置主机名和 /etc/hosts......已完成 (耗时: 0 秒)
正在创建用户和组......已完成 (耗时: 2 秒)
正在创建安装目录......已完成 (耗时: 0 秒)
正在配置 Avahi-daemon 服务......已完成 (耗时: 4 秒)
正在配置透明大页 && NUMA && 磁盘 IO 调度器......已完成 (耗时: 1 秒)
正在配置操作系统参数 sysctl......已完成 (耗时: 0 秒)
正在配置 RemoveIPC......已完成 (耗时: 1 秒)
正在配置用户限制 limit......已完成 (耗时: 1 秒)
正在配置 shm 目录......已完成 (耗时: 0 秒)
正在安装 rlwrap 插件......已完成 (耗时: 16 秒)
正在配置用户环境变量......已完成 (耗时: 2 秒)
正在解压 Grid 安装包以及补丁......已完成 (耗时: 88 秒)
正在解压 Oracle 安装包以及补丁......已完成 (耗时: 179 秒)
正在安装 Grid 软件以及补丁......已完成 (耗时: 430 秒)
正在安装 Oracle 软件以及补丁......已完成 (耗时: 149 秒)
正在创建数据库......已完成 (耗时: 833 秒)
正在优化数据库......已完成 (耗时: 171 秒)

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

正在重启当前节点主机......

连接测试

查看系统版本:

[root@openEuler23 soft]# cat /etc/os-release
NAME="openEuler"
VERSION="23.09"
ID="openEuler"
VERSION_ID="23.09"
PRETTY_NAME="openEuler 23.09"
ANSI_COLOR="0;31"

查看 Grid 版本以及补丁:

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

SQL*Plus: Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

[grid@openEuler23:/home/grid]$ opatch lspatches
29585399;OCW RELEASE UPDATE 19.3.0.0.0 (29585399)
29517247;ACFS RELEASE UPDATE 19.3.0.0.0 (29517247)
29517242;Database Release Update : 19.3.0.0.190416 (29517242)
29401763;TOMCAT RELEASE UPDATE 19.0.0.0.0 (29401763)

OPatch succeeded.

查看集群:

[grid@openEuler23:/home/grid]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details       
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATA.dg
               ONLINE  ONLINE       openeuler23              STABLE
ora.LISTENER.lsnr
               ONLINE  ONLINE       openeuler23              STABLE
ora.asm
               ONLINE  ONLINE       openeuler23              Started,STABLE
ora.ons
               OFFLINE OFFLINE      openeuler23              STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.cssd
      1        ONLINE  ONLINE       openeuler23              STABLE
ora.diskmon
      1        OFFLINE OFFLINE                               STABLE
ora.evmd
      1        ONLINE  ONLINE       openeuler23              STABLE
ora.lucifer.db
      1        ONLINE  ONLINE       openeuler23              Open,HOME=/u01/app/o
                                                             racle/product/19.3.0
                                                             /db,STABLE
--------------------------------------------------------------------------------

查看 Oracle 版本以及补丁:

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

SQL*Plus: Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

[oracle@openEuler23:/home/oracle]$ opatch lspatches
29585399;OCW RELEASE UPDATE 19.3.0.0.0 (29585399)
29517242;Database Release Update : 19.3.0.0.190416 (29517242)

OPatch succeeded.

查看监听:

[oracle@openEuler23:/home/oracle]$ lsnrctl stat

LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 08-MAY-2024 14:57:11

Copyright (c) 1991, 2019, Oracle.  All rights reserved.

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date                08-MAY-2024 14:51:30
Uptime                    0 days 0 hr. 5 min. 41 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/19.3.0/grid/network/admin/listener.ora
Listener Log File         /u01/app/grid/diag/tnslsnr/openEuler23/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=openEuler23)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "+ASM" has 1 instance(s).
  Instance "+ASM", status READY, has 1 handler(s) for this service...
Service "+ASM_DATA" has 1 instance(s).
  Instance "+ASM", status READY, has 1 handler(s) for this service...
Service "lucifer" has 1 instance(s).
  Instance "lucifer", status READY, has 1 handler(s) for this service...
Service "luciferXDB" has 1 instance(s).
  Instance "lucifer", status READY, has 1 handler(s) for this service...
The command completed successfully

连接数据库:

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

SQL*Plus: Release 19.0.0.0.0 - Production on Wed May 8 14:57:12 2024
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.


Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

sys@LUCIFER 2024-05-08 14:57:12> 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      lucifer
lock_name_space                      string
log_file_name_convert                string
pdb_file_name_convert                string
processor_group_name                 string
service_names                        string      lucifer

数据库连接正常。