Oracle 19c Linux 图形化安装(OUI)详解

Oracle 19c Linux 图形化安装(OUI)详解

适用版本:Oracle Database 19c (19.3) for Linux x86-64 适用场景:有图形界面(或可使用 X11/VNC 转发)的服务器环境 文档版本:v1.0 / 2026-07


目录


1. 概述:何时选择图形化安装

Oracle Universal Installer(OUI)是 Oracle 官方的图形化安装工具[1][2],提供向导式安装体验。

适用场景

  • 服务器本机或可访问 X11/VNC 的环境
  • 初次学习 Oracle 安装
  • 需要在交互中确认每一步参数
  • 安装复杂场景(RAC、GI 等)

不适用场景

  • 生产环境无图形界面的服务器(建议用静默安装)
  • 需要批量自动化部署(建议用响应文件或 RPM)
  • CI/CD 流水线(建议用容器化)

与静默安装对比

维度图形化安装静默安装
交互方式鼠标点击响应文件
环境要求需要 X11/VNC
易学性入门友好需熟悉响应文件
自动化不支持支持
排错直观需看日志
生产适用不推荐(多数服务器无图形)推荐

2. 安装前置准备

2.1 硬件与系统要求

资源最低要求推荐
物理 memory2 GB8 GB+
Swap1.5×物理内存(≤16GB)与物理内存相同
/tmp 空间1 GB5 GB
ORACLE_HOME 空间8 GB15 GB
数据库文件空间2 GB视数据量
CPU2 核4 核+
操作系统Oracle Linux 7.4+ / RHEL 7.4+OL 7.9 或 OL 8

查看系统信息

# 查看操作系统版本
cat /etc/oracle-release
cat /etc/redhat-release
uname -r

# 查看内存
free -h

# 查看 Swap
swapon -s

# 查看磁盘空间
df -h /tmp /u01

2.2 创建用户和组

# 创建组(oinstall 用于软件所有权,dba 用于管理权限)
groupadd -g 1001 oinstall
groupadd -g 1300 dba
groupadd -g 1301 oper

# 创建 oracle 用户
useradd -u 1101 -g oinstall -G dba,oper -d /home/oracle -m oracle

# 设置密码
passwd oracle

验证

id oracle
# 应输出:uid=1101(oracle) gid=1001(oinstall) groups=1001(oinstall),1300(dba),1301(oper)

2.3 配置内核参数

编辑 /etc/sysctl.conf[3]:

# 追加以下内容
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912              # 物理内存一半(字节)
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576

使配置生效

sysctl -p

****** 验证
sysctl -a | grep -E "shmmax|sem|file-max"

坑 1kernel.shmmax 设过小会导致 SGA 无法分配大内存段,建议设为物理内存的 50%-75%。

2.4 配置资源限制

编辑 /etc/security/limits.conf[3]:

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768

PAM 配置(确保 /etc/pam.d/login 包含):

session required pam_limits.so

2.5 安装依赖包

Oracle Linux / RHEL 7

yum install -y bc binutils compat-libcap1 compat-libstdc++-33 \
    elfutils-libelf elfutils-libelf-devel fontconfig-devel glibc glibc-devel \
    ksh libaio libaio-devel libX11 libXau libXi libXtst libXrender libXrender-devel \
    libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel

Oracle Linux / RHEL 8

dnf install -y bc binutils elfutils-libelf elfutils-libelf-devel \
    fontconfig-devel glibc glibc-devel ksh libaio libaio-devel \
    libnsl libnsl.i686 libX11 libXau libXi libXtst libXrender libXrender-devel \
    libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel

# 创建 pdksh 符号链接(替代已被 ksh 替代的旧包)
ln -sf /usr/bin/ksh /bin/pdksh

推荐使用 preinstall 包自动配置[4]:

# Oracle Linux(从 ULN 或 yum 源)
yum install -y oracle-database-preinstall-19c

# RHEL 7(手动下载)
curl -o oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm \
    https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm
yum -y localinstall oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm

# RHEL 8
dnf install -y oracle-database-preinstall-19c-1.0-2.el8.x86_64.rpm

坑 2:RHEL 8 必须用 el8 版本的 preinstall 包,否则会缺失 fs.aio-max-nr 等内核参数[5]。

2.6 创建目录并配置环境变量

创建 OFA 目录

mkdir -p ******
mkdir -p ******
chown -R oracle:oinstall /u01
chmod -R 775 /u01

配置 oracle 用户环境变量/home/oracle/.bash_profile):

# Oracle 环境变量
umask 022
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/dbhome_1
export ORACLE_SID=orcl
export ORACLE_UNQNAME=orcl
export ORACLE_TERM=xterm

export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

# NLS 设置
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"

# 关闭 SELinux(如启用)
# setenforce 0

使配置生效

su - oracle
source ~/.bash_profile
echo $ORACLE_HOME
# 应输出:/u01/app/oracle/product/19.3.0/dbhome_1

3. 准备图形化环境

3.1 X11 转发

前提:本地有 X Server(Linux 桌面、macOS XQuartz、Windows MobaXterm/Xming)。

SSH 连接时启用 X11 转发

# 本地终端
ssh -X oracle@server_ip

# 或在 PuTTY/MobaXterm 中启用 X11 Forwarding

验证

# 在 oracle 用户下
xterm
# 如能弹出窗口则 X11 转发正常

坑 3:如果报 Can't open display,检查:

  1. /etc/ssh/sshd_configX11Forwarding yes
  2. 本地已启动 X Server
  3. oracle 用户 $DISPLAY 环境变量正确(通常 SSH 自动设置)

3.2 VNC 方式

安装 VNC Server

yum install -y tigervnc-server

# 设置 VNC 密码(oracle 用户)
su - oracle
vncpasswd

# 启动 VNC Server
vncserver :1 -geometry 1280x800

本地连接:使用 VNC Viewer 连接 server_ip:5901

坑 4:VNC 连接后中文界面可能出现乱码,需安装字体:

yum install -y wqy-zenhei-fonts wqy-microhei-fonts

4. 解压安装包并启动 OUI

上传安装包LINUX.X64_193000_db_home.zip)到服务器,例如 /tmp

# 切换到 oracle 用户
su - oracle

# 解压到 ORACLE_HOME
cd $ORACLE_HOME
unzip /tmp/LINUX.X64_193000_db_home.zip

# 启动 OUI
./runInstaller

RHEL 8 / OL 8 上的特殊处理[6]:

# Oracle 19c 基础版(19.3)未原生支持 Linux 8
# 需要设置 CV_ASSUME_DISTID 强制 CVU 按 OL7 兼容项校验
export CV_ASSUME_DISTID=OL7

# 然后启动 OUI
./runInstaller

关键参数

参数说明
-silent静默模式
-responseFile <file>指定响应文件
-ignorePrereq跳过先决条件检查
-ignoreSysPrereqs跳过系统先决条件
-applyRU <patch_dir>安装时同步打 RU 补丁

5. OUI 图形化安装步骤

启动后按以下向导步骤操作[1][3]:

步骤 1:配置安全更新

  • 取消勾选「我希望通过 My Oracle Support 接收安全更新」
  • 点击「Next」
  • 弹出警告,点击「Yes」确认

步骤 2:安装选项

选择「Set Up Software Only」(仅安装软件)

选择此选项的原因:先装软件,再单独用 DBCA 建库,便于精确控制数据库参数。

步骤 3:Grid Installation Options

选择「Single instance database installation」(单实例数据库安装)

步骤 4:选择安装类型

  • Enterprise Edition:企业版(全功能)
  • Standard Edition 2:标准版 2(轻量)

按需选择。

步骤 5:指定安装位置

字段
Oracle base/u01/app/oracle
Software location/u01/app/oracle/product/19.3.0/dbhome_1

步骤 6:指定 Inventory 目录

字段
Oracle Inventory Directory/u01/app/oraInventory
oraInventory Group Nameoinstall

步骤 7:操作系统组

角色
Database Administrator (OSDBA) Groupdba
Database Operator (OSOPER) Groupoper
Database Backup and Recovery (OSBACKUPDBA) Groupbackupdba
Data Guard administrative (OSDGDBA) Groupdgdba
Encryption Key Management (OSKMDBA) Groupkmdba
Real Application Cluster Administrative (OSRACDBA) Groupracdba

步骤 8:执行先决条件检查

OUI 自动检查系统环境。如果失败:

  • 失败项有「Fix & Check Again」按钮可自动修复(部分)
  • 或勾选「Ignore All」跳过(仅限确定无影响的项)
  • 建议按提示修复,而非忽略

步骤 9:Summary

点击「Install」开始安装。

步骤 10:安装产品

等待安装完成(约 20-40 分钟,视硬件)。


6. 执行 root 脚本

安装末尾弹出提示,要求以 root 身份执行脚本[3]:

# 切换到 root
su -

# 执行 Inventory 脚本(首次安装才需要)
/u01/app/oraInventory/orainstRoot.sh

# 执行 root.sh
/u01/app/oracle/product/19.3.0/dbhome_1/root.sh

root.sh 执行结果

Performing root user operation.

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/oracle/product/19.3.0/dbhome_1

Enter the full pathname of the local bin directory: [/usr/local/bin]: 
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...

Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.

坑 5:root.sh 执行中断或失败,需要:

  1. 查看 /u01/app/oracle/product/19.3.0/dbhome_1/install/root_<hostname>_<time>.log
  2. 修复问题后重新执行 root.sh

返回 OUI 点击「OK」完成安装。


7. 创建数据库(DBCA)

7.1 启动 DBCA

su - oracle
dbca

7.2 图形化向导

  1. 选择操作:Create a database
  2. 创建模式:Advanced configuration
  3. 部署类型:Oracle Single Instance database
  4. 模板:General Purpose or Transaction Processing
  5. 数据库标识
    • Global database name: orcl.example.com
    • SID: orcl
    • 取消「Create as Container database」选项(如不需 CDB 架构)
  6. 存储选项:Use following for the database storage attributes → File System
    • Database file location: {ORACLE_BASE}/oradata
  7. 快速恢复区:Specify Fast Recovery Area → {ORACLE_BASE}/fast_recovery_area,Size: 4096 MB
  8. 网络配置:Create new listener → Name: LISTENER,Port: 1521
  9. Data Vault 选项:跳过
  10. 内存配置
    • Memory Target: 40% 物理内存(或手动配 SGA + PGA)
    • 启用 Automatic Memory Management(如内存 ≤ 8GB)
  11. 字符集:Use Unicode (AL32UTF8)
  12. 示例模式:勾选「Sample schemas」(仅开发环境)
  13. 管理选项:不勾「Configure Enterprise Manager (EM) database express」(生产用 OEM Cloud Control)
  14. 密码:为 SYS 和 SYSTEM 设置密码(生产用强密码)
  15. 创建选项:Save as database template + Create database
  16. 点击「Finish」开始创建

7.3 静默方式建库(备选)

dbca -silent -createDatabase \
  -templateName General_Purpose.dbc \
  -gdbname orcl -sid orcl \
  -responseFile NO_VALUE \
  -characterSet AL32UTF8 \
  -nationalCharacterSet AL16UTF16 \
  -sysPassword Oracle_123 \
  -systemPassword Oracle_123 \
  -createAsContainerDatabase false \
  -storageType FS \
  -datafileDestination "{ORACLE_BASE}/oradata" \
  -recoveryAreaDestination "{ORACLE_BASE}/fast_recovery_area" \
  -recoveryAreaSize 4096 \
  -memoryPercentage 40 \
  -emConfiguration NONE \
  -sampleSchema true

8. 安装后验证

8.1 验证数据库实例

su - oracle

sqlplus / as sysdba
-- 实例状态
SELECT status FROM v$instance;
-- 应输出:OPEN

-- 数据库版本
SELECT banner FROM v$version WHERE banner LIKE 'Oracle%';
-- 应输出:Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production

-- 容器信息(CDB)
SELECT name, open_mode FROM v$pdbs;
-- 非 CDB 时无输出

8.2 验证监听器

lsnrctl status

应看到:

  • LISTENER 已启动
  • Services Summary 中包含 orcl 实例

8.3 验证环境变量

echo $ORACLE_HOME
echo $ORACLE_SID

# 验证 oraenv
. oraenv
# 输入 SID: orcl

8.4 远程连接测试

sqlplus system/Oracle_123@//server_ip:1521/orcl.example.com

9. 常见坑与排错

坑 1:OUI 启动报 “Could not execute auto check for display colors”

原因:DISPLAY 环境变量未正确设置或 X11 转发失败。

解决

# 检查 DISPLAY
echo $DISPLAY

# 设置 DISPLAY(X11 转发场景,IP 是本地)
export DISPLAY=localhost:10.0

# 测试
xterm

# 如仍失败,重新 ssh -X 登录

坑 2:先决条件检查失败 “Packages missing”

原因:依赖包未安装完整。

解决

# 查看具体缺失的包
cd $ORACLE_HOME
./runInstaller -executePrereqs

# 或查看日志
tail -100 /tmp/OraInstall<timestamp>/installActions<timestamp>.log

坑 3:报 INS-08101 Unexpected issue

原因:Oracle 19c 基础版未识别 RHEL 8 / OL 8。

解决[6]:

export CV_ASSUME_DISTID=OL7
./runInstaller

坑 4:报 INS-32012 INS-32018 等目录权限错误

原因:oracle 用户对 ORACLE_HOME 或 ORACLE_BASE 无写权限。

解决

chown -R oracle:oinstall /u01
chmod -R 775 /u01

坑 5:root.sh 报 “CRS-2676: Start of ‘ora.cssd’ failed”

原因:单实例安装误触发了 Oracle Restart 配置。

解决

# 重新配置为非 Oracle Restart
$ORACLE_HOME/perl/bin/perl $ORACLE_HOME/install/rootcrs.pl -deconfig
$ORACLE_HOME/root.sh

坑 6:DBCA 建库报 ORA-00845 MEMORY_TARGET

原因:/dev/shm 大小小于 MEMORY_TARGET 设置值。

解决

# 查看当前 /dev/shm 大小
df -h /dev/shm

# 修改 /etc/fstab
tmpfs /dev/shm tmpfs defaults,size=8G 0 0

# 重新挂载
mount -o remount /dev/shm

坑 7:监听器启动失败 ORA-12541 或 ORA-12514

原因:listener.ora 中 HOST 配置错误。

解决

# 检查 listener.ora
cat $ORACLE_HOME/network/admin/listener.ora

# HOST 应为服务器 IP 或 0.0.0.0,不能是 localhost
HOST = 192.168.1.100

# 重启监听
lsnrctl stop
lsnrctl start
lsnrctl status

坑 8:中文界面乱码

原因:缺少中文字体。

解决

yum install -y wqy-zenhei-fonts cjkuni-uming-fonts

# 或临时切英文
export LANG=en_US.UTF-8
./runInstaller

10. 最佳实践

  1. 优先用 preinstall 包:自动配置内核参数、用户、资源限制
  2. OFA 目录结构:遵循 /u01/app/oracle/product/<version>/dbhome_1
  3. 分离 ORACLE_HOME 与数据文件:数据放独立文件系统或 ASM
  4. 字符集 AL32UTF8:默认支持中文,未来扩展灵活
  5. CDB 架构:19c 推荐 CDB+PDB,方便后续管理
  6. 生产环境用静默安装:避免图形界面依赖
  7. 安装后立即打 RU 补丁:19.3 基础版有已知 bug
  8. 配置大页:内存 > 8GB 时启用 HugePages(参考 02 模块相关文章)
  9. 关闭 Transparent HugePages:与 Oracle 自动内存管理冲突
  10. 安装后做基本健康检查:alert log、AWR 基线

11. 参考资料

[1] Oracle Database 19c Installation Guide for Linux: https://docs.oracle.com/en/database/oracle/oracle-database/19/ladbi/

[2] Oracle Universal Installer and OPatch User’s Guide: https://docs.oracle.com/en/database/oracle/oracle-database/19/cwlin/

[3] CSDN,《Oracle 19c 详细安装步骤带图》: https://wenku.csdn.net/answer/590yazaezb

[4] Oracle Database 19c RPM 安装文档: https://docs.oracle.com/cd/F19136_01/ladbi/running-rpm-packages-to-install-oracle-database.html

[5] php.cn,《如何在 RHEL 8 上通过 RPM 包快速部署 Oracle 19c》: https://global.php.cn/zh/faq/1797073084.html

[6] php.cn,《Oracle 19c 在 Linux 8 上安装报错通过 CV_ASSUME_DISTID 解决》: https://m.php.cn/faq/2423125.html

[7] Oracle Database 19c for Linux x86-64 下载页: https://www.oracle.com/database/technologies/oracle19c-linux-downloads.html

[8] 阿里云,《Linux 服务器部署 Oracle 数据库生产级优化》: https://m.cn486.com/news/4232830/


相关文章