Oracle 19c Linux 图形化安装(OUI)详解
Oracle 19c Linux 图形化安装(OUI)详解
适用版本:Oracle Database 19c (19.3) for Linux x86-64 适用场景:有图形界面(或可使用 X11/VNC 转发)的服务器环境 文档版本:v1.0 / 2026-07
目录
- 1. 概述:何时选择图形化安装
- 2. 安装前置准备
- 3. 准备图形化环境
- 4. 解压安装包并启动 OUI
- 5. OUI 图形化安装步骤
- 6. 执行 root 脚本
- 7. 创建数据库(DBCA)
- 8. 安装后验证
- 9. 常见坑与排错
- 10. 最佳实践
- 11. 参考资料
1. 概述:何时选择图形化安装
Oracle Universal Installer(OUI)是 Oracle 官方的图形化安装工具[1][2],提供向导式安装体验。
适用场景:
- 服务器本机或可访问 X11/VNC 的环境
- 初次学习 Oracle 安装
- 需要在交互中确认每一步参数
- 安装复杂场景(RAC、GI 等)
不适用场景:
- 生产环境无图形界面的服务器(建议用静默安装)
- 需要批量自动化部署(建议用响应文件或 RPM)
- CI/CD 流水线(建议用容器化)
与静默安装对比:
| 维度 | 图形化安装 | 静默安装 |
|---|---|---|
| 交互方式 | 鼠标点击 | 响应文件 |
| 环境要求 | 需要 X11/VNC | 无 |
| 易学性 | 入门友好 | 需熟悉响应文件 |
| 自动化 | 不支持 | 支持 |
| 排错 | 直观 | 需看日志 |
| 生产适用 | 不推荐(多数服务器无图形) | 推荐 |
2. 安装前置准备
2.1 硬件与系统要求
| 资源 | 最低要求 | 推荐 |
|---|---|---|
| 物理 memory | 2 GB | 8 GB+ |
| Swap | 1.5×物理内存(≤16GB) | 与物理内存相同 |
| /tmp 空间 | 1 GB | 5 GB |
| ORACLE_HOME 空间 | 8 GB | 15 GB |
| 数据库文件空间 | 2 GB | 视数据量 |
| CPU | 2 核 | 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"
坑 1:kernel.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,检查:
/etc/ssh/sshd_config中X11Forwarding yes- 本地已启动 X Server
- 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 Name | oinstall |
步骤 7:操作系统组
| 角色 | 组 |
|---|---|
| Database Administrator (OSDBA) Group | dba |
| Database Operator (OSOPER) Group | oper |
| Database Backup and Recovery (OSBACKUPDBA) Group | backupdba |
| Data Guard administrative (OSDGDBA) Group | dgdba |
| Encryption Key Management (OSKMDBA) Group | kmdba |
| Real Application Cluster Administrative (OSRACDBA) Group | racdba |
步骤 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 执行中断或失败,需要:
- 查看
/u01/app/oracle/product/19.3.0/dbhome_1/install/root_<hostname>_<time>.log - 修复问题后重新执行 root.sh
返回 OUI 点击「OK」完成安装。
7. 创建数据库(DBCA)
7.1 启动 DBCA
su - oracle
dbca
7.2 图形化向导
- 选择操作:Create a database
- 创建模式:Advanced configuration
- 部署类型:Oracle Single Instance database
- 模板:General Purpose or Transaction Processing
- 数据库标识:
- Global database name:
orcl.example.com - SID:
orcl - 取消「Create as Container database」选项(如不需 CDB 架构)
- Global database name:
- 存储选项:Use following for the database storage attributes → File System
- Database file location:
{ORACLE_BASE}/oradata
- Database file location:
- 快速恢复区:Specify Fast Recovery Area →
{ORACLE_BASE}/fast_recovery_area,Size: 4096 MB - 网络配置:Create new listener → Name:
LISTENER,Port:1521 - Data Vault 选项:跳过
- 内存配置:
- Memory Target: 40% 物理内存(或手动配 SGA + PGA)
- 启用 Automatic Memory Management(如内存 ≤ 8GB)
- 字符集:Use Unicode (AL32UTF8)
- 示例模式:勾选「Sample schemas」(仅开发环境)
- 管理选项:不勾「Configure Enterprise Manager (EM) database express」(生产用 OEM Cloud Control)
- 密码:为 SYS 和 SYSTEM 设置密码(生产用强密码)
- 创建选项:Save as database template + Create database
- 点击「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. 最佳实践
- 优先用 preinstall 包:自动配置内核参数、用户、资源限制
- OFA 目录结构:遵循
/u01/app/oracle/product/<version>/dbhome_1 - 分离 ORACLE_HOME 与数据文件:数据放独立文件系统或 ASM
- 字符集 AL32UTF8:默认支持中文,未来扩展灵活
- CDB 架构:19c 推荐 CDB+PDB,方便后续管理
- 生产环境用静默安装:避免图形界面依赖
- 安装后立即打 RU 补丁:19.3 基础版有已知 bug
- 配置大页:内存 > 8GB 时启用 HugePages(参考 02 模块相关文章)
- 关闭 Transparent HugePages:与 Oracle 自动内存管理冲突
- 安装后做基本健康检查: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/
相关文章