OpenEuler 20.03 一键安装 Oracle 21C 单机

程小虎2025-12-31 14:46:05

✨ 前言

Oracle 一键安装脚本,演示 openEuler 20.03 LTS SP3 一键安装 Oracle 21C 单机(21.15)过程(全程无需人工干预)。

本教程支持系统版本如下:

  • openEuler-20.03-LTS
  • openEuler-20.03-LTS-SP1
  • openEuler-20.03-LTS-SP2
  • openEuler-20.03-LTS-SP3
  • openEuler-20.03-LTS-SP4
  • openEuler-20.09

安装包下载:Oracle一键安装包open in new window

系统镜像下载:OpenEuler系统镜像open in new window

🔧 安装准备

  1. 系统组安装好操作系统(支持最小化安装)
  2. 网络组配置好主机网络,通常只需要一个公网 IP 地址
  3. DBA 创建软件目录:mkdir /soft
  4. DBA 上传 Oracle 安装介质(基础包,补丁包)到 /soft 目录下
  5. DBA 上传 Oracle 一键安装脚本到 /soft 目录下,授予脚本执行权限:chmod +x OracleshellInstall
  6. 根据脚本安装脚本以及实际情况,配置好脚本的安装参数,在 /soft 目录下执行一键安装即可。

需要上传的文件:

提示

  • OracleShellInstall # Oracle 一键安装脚本
  • LINUX.X64_213000_db_home.zip # 数据库安装包
  • p6880880_210000_Linux-x86-64.zip # OPatch 补丁包
  • p36696242_210000_Linux-x86-64.zip # Oracle PSU/RU 补丁包
  • rlwrap-0.44.tar.gz # rlwrap 工具

📄 挂载本地 yum 源

各镜像名称 (需要挂载 Everything 镜像) :

  • openEuler-20.03-LTS-everything-x86_64-dvd.iso
  • openEuler-20.03-LTS-SP1-everything-x86_64-dvd.iso
  • openEuler-20.03-LTS-SP2-everything-x86_64-dvd.iso
  • openEuler-20.03-LTS-SP3-everything-x86_64-dvd.iso
  • openEuler-20.03-LTS-SP4-everything-x86_64-dvd.iso
  • openEuler-20.09-everything-x86_64-dvd.iso

上传系统镜像 openEuler-20.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

📄 环境信息

# 主机版本
[root@openeuler20 ~]# cat /etc/os-release
NAME="openEuler"
VERSION="20.03 (LTS-SP4)"
ID="openEuler"
VERSION_ID="20.03"
PRETTY_NAME="openEuler 20.03 (LTS-SP4)"
ANSI_COLOR="0;31"

# 网络信息
[root@openeuler20 ~]# 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:1d:3e:06 brd ff:ff:ff:ff:ff:ff
    inet 192.168.80.14/24 brd 192.168.80.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::ac49:1485:2ba7:6061/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

# 挂载本地 ISO 镜像
[root@openeuler20 ~]# ll /yum
总用量 3020
dr-xr-xr-x. 2 root root    2048 1212  2023 docs
dr-xr-xr-x. 3 root root    2048 1212  2023 EFI
dr-xr-xr-x. 3 root root    2048 1212  2023 images
dr-xr-xr-x. 2 root root    2048 1212  2023 isolinux
dr-xr-xr-x. 2 root root    2048 1212  2023 ks
dr-xr-xr-x. 2 root root 3072000 1212  2023 Packages
dr-xr-xr-x. 2 root root    4096 1212  2023 repodata
-r--r--r--. 1 root root    3033 1212  2023 RPM-GPG-KEY-openEuler
-r--r--r--. 1 root root    2198 1212  2023 TRANS.TBL

# 安装包存放在 /soft 目录下
[root@openEuler20 soft]# ll
总用量 4594476
-rw-r--r--. 1 root root 3109225519  626 10:54 LINUX.X64_213000_db_home.zip
-rw-r--r--. 1 root root     245190  626 10:54 OracleShellInstall
-rw-r--r--. 1 root root 1460461944  626 10:54 p36696242_210000_Linux-x86-64.zip
-rw-r--r--. 1 root root  134471443  626 10:54 p6880880_210000_Linux-x86-64.zip
-rw-r--r--. 1 root root     321590  626 10:54 rlwrap-0.44.tar.gz

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

🛠️ 安装命令

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

# 根据脚本 README 或者 -h 命令提示,编辑好一键安装命令,进入 /soft 目录执行安装:
chmod +x /soft/OracleShellInstall
/soft/OracleShellInstall \
  -lf ens33 `# 主机网卡名称`\
  -n oracle21c `# 主机名`\
  -op oracle `# 主机 oracle 用户密码`\
  -d /u01 `# Oracle 软件安装基础目录`\
  -ord /oradata `# 数据库文件存放目录`\
  -o orcl `# 数据库名称`\
  -dp oracle123 `# sys/system 用户密码`\
  -ds AL32UTF8 `# 数据库字符集`\
  -ns AL16UTF16 `# 国家字符集`\
  -opa 36696242 `# Oracle PSU/RU 补丁编号`\
  -redo 100 `# 在线重做日志大小(M)`\
  -opd Y `# 是否优化数据库`

🛠️ 安装过程

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


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

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

数据库安装模式: single                                                                           

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

数据库版本:     21                                                                               

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

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

正在进行安装前检查,请稍等......                                                                                  

正在检测安装包 /soft/LINUX.X64_213000_db_home.zip 的 MD5 值是否正确,请稍等......                                                                                  

正在配置本地软件源......已完成 (耗时: 1)
正在获取操作系统信息......已完成 (耗时: 1)
正在安装依赖包......已完成 (耗时: 27)
正在禁用防火墙......已完成 (耗时: 5)
正在禁用 selinux......已完成 (耗时: 1)
正在配置 nsyctl......已完成 (耗时: 1)
正在配置主机名和 hosts 文件......已完成 (耗时: 1)
正在创建用户和组......已完成 (耗时: 1)
正在创建安装目录......已完成 (耗时: 1)
正在配置透明大页 && NUMA && 磁盘 IO 调度器......已完成 (耗时: 1)
正在配置操作系统参数 sysctl......已完成 (耗时: 1)
正在配置 RemoveIPC......已完成 (耗时: 1)
正在配置用户限制 limit......已完成 (耗时: 1)
正在配置 shm 目录......已完成 (耗时: 1)
正在安装 rlwrap 插件......已完成 (耗时: 5)
正在配置用户环境变量......已完成 (耗时: 2)
正在解压 Oracle 安装包以及补丁......已完成 (耗时: 66)
正在安装 Oracle 软件以及补丁......已完成 (耗时: 261)
正在创建监听......已完成 (耗时: 1)
正在创建数据库......已完成 (耗时: 466)
正在优化数据库......已完成 (耗时: 9)

恭喜!Oracle 一键安装执行完成 (耗时: 858),现在是否重启主机:[Y/N] Y

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

✅ 连接测试

查看系统版本:

[root@oracle21c:/root]# cat /etc/os-release
NAME="openEuler"
VERSION="20.03 (LTS-SP4)"
ID="openEuler"
VERSION_ID="20.03"
PRETTY_NAME="openEuler 20.03 (LTS-SP4)"
ANSI_COLOR="0;31"

查看 Oracle 版本以及补丁:

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

SQL*Plus: Release 21.0.0.0.0 - Production
Version 21.15.0.0.0

[oracle@oracle21c:/home/oracle]$ opatch lspatches
36696242;Database Release Update : 21.15.0.0.240716 (36696242)

OPatch succeeded.

查看监听:

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

LSNRCTL for Linux: Version 21.0.0.0.0 - Production on 25-JUN-2025 11:56:25

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

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle21c)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 21.0.0.0.0 - Production
Start Date                25-JUN-2025 11:52:38
Uptime                    0 days 0 hr. 3 min. 46 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/21.3.0/db/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/oracle21c/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle21c)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "385e515906aa51a8e0630c50a8c060a3" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
Service "c8209f27c6b16005e053362ee80ae60e" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orcl" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
Service "pdb01" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully

连接数据库:

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

SQL*Plus: Release 19.0.0.0.0 - Production on Wed Apr 10 16:06:08 2024
Version 19.24.0.0.0

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

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

idle 2024-04-10 16:06:08> show parameter name

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
cdb_cluster_name                     string
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
pdb_file_name_convert                string
processor_group_name                 string
service_names                        string      orcl

数据库连接正常。

最近更新 3/19/2026, 9:06:05 AM