在微服务和中间件架构日益普及的今天,数据库作为服务端的核心组件,其稳定部署至关重要。本文将基于生产环境的最佳实践,详细记录在 Oracle Linux 9.7 上通过 OUI 图形界面安装 Oracle Database 26ai 的完整过程,并配置 SID 为 DEVCDB,同时集成 rlwrap 工具提升命令行操作体验。
一、系统环境准备与内核调优
数据库安装前的系统准备是保证后续稳定运行的基础。在 Oracle Linux 9 上,首先需要关闭防火墙和 SELinux,以避免网络和权限问题干扰安装过程。
1.1 关闭防火墙与 SELinux
执行以下命令禁用防火墙和 SELinux:
# 停止防火墙
sudo systemctl stop firewalld
sudo systemctl disable firewalld
# 临时关闭SELinux
sudo setenforce 0
# 永久关闭SELinux
sudo sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
1.2 安装必要依赖包
Oracle Database 26ai 依赖于多个系统库和工具,使用 yum 批量安装:
sudo dnf install -y \
bc binutils compat-openssl11 elfutils-libelf \
fontconfig glibc glibc-devel glibc-headers ksh \
libaio libasan libX11 libXau libXi libXrender \
libXtst libxcrypt-compat libgcc libibverbs \
librdmacm libstdc++ libxcb libvirt-libs make \
policycoreutils policycoreutils-python-utils \
smartmontools sysstat nfs-utils
# 启用EPEL仓库
sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
dnf install -y rlwrap iftop htop glances
#
sudo dnf install -y xterm xclock
export DISPLAY=你本机的IP地址:0.0
# 然后可以测试一下
xclock &
1.3 配置内核参数
编辑 /etc/sysctl.conf,添加 Oracle 推荐参数以优化内存和信号量:
# Oracle Database 26ai 内核参数配置
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65535
应用配置:sudo sysctl -p
1.4 配置资源限制
编辑 /etc/security/limits.conf,为 oracle 用户设置进程和文件句柄限制:
# Oracle用户资源限制
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768
oracle soft core unlimited
oracle hard core unlimited
1.5 创建 Oracle 用户与目录
按照生产规范创建用户和组:
# 创建Oracle组
sudo groupadd -g 54321 oinstall
sudo groupadd -g 54322 dba
sudo groupadd -g 54323 oper
sudo groupadd -g 54324 backupdba
sudo groupadd -g 54325 dgdba
sudo groupadd -g 54326 kmdba
sudo groupadd -g 54327 asmdba
sudo groupadd -g 54330 racdba # 为未来扩展准备
# 创建Oracle用户
sudo useradd -u 54321 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,asmdba,racdba oracle
#使用prinstall rpm包之后给的如下:id oracle
uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),
54322(dba),54323(oper),54324(backupdba),54325(dgdba),54326(kmdba),54330(racdba)
# 3. 设置密码
echo "为oracle用户设置密码:"
sudo passwd oracle
Oracle@26ai
# 4. 创建目录
sudo mkdir -p /u01/app/oracle
sudo mkdir -p /u01/app/oraInventory
sudo mkdir -p /u01/app/oracle/product/26ai/dbhome_1
sudo mkdir -p /u01/app/oracle/oradata
sudo mkdir -p /u01/app/oracle/recovery_area
sudo mkdir -p /u01/app/software
# 5. 设置权限
sudo chown -R oracle:oinstall /u01/
sudo chmod -R 775 /u01/
二、Oracle 用户环境变量配置
切换到 oracle 用户,配置 .bash_profile 环境变量,确保 ORACLE_HOME、PATH 等指向正确路径:
# Oracle Database 26ai 环境变量
export PATH
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/26ai/dbhome_1
export ORACLE_SID=DEVCDB
export ORACLE_HOSTNAME=$(hostname)
export ORACLE_UNQNAME=DEVCDB
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export PATH=$ORACLE_HOME/bin:/usr/local/bin:$PATH
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export EDITOR=vi
# 设置umask
umask 022
# 命令行别名定义
alias alert='tail -100f $ORACLE_BASE/diag/rdbms/*/*/trace/alert_*.log'
alias cdalert='cd $ORACLE_BASE/diag/rdbms/*/*/trace'
alias cdhome='cd $ORACLE_HOME'
alias cdbase='cd $ORACLE_BASE'
alias lsnr='lsnrctl'
alias sas='sqlplus / as sysdba'
export PS1="[whoami@hostname:\$PWD]# "
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
alias lsnrctl='rlwrap lsnrctl'
alias asmcmd='rlwrap asmcmd'
alias adrci='rlwrap adrci'
# SQL*Plus优化设置
export SQLPATH=$ORACLE_HOME/sqlplus/admin
执行 source .bash_profile 生效。
三、OUI 图形界面安装详细步骤
OUI(Oracle Universal Installer)提供了直观的图形界面,适合单机单实例的快速部署。启动安装程序:
#上传zip文件至/u01/app/software目录下
unzip -d /u01/app/oracle/product/26ai/dbhome_1/ LINUX.X64_2326100_db_home.zip
#由于xterm远程安装
xhost +
su - oracle
export DISPLAY=172.2.24.111:0.0
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
#指定数据库实例的变量与值,假设要建立的数据实例的SID是DEVCDB
export ORACLE_SID=DEVCDB
cd /u01/app/oracle/product/26ai/dbhome_1
./runInstaller
3.1 安装模式选择
在 OUI 向导中,选择“创建并配置单实例数据库”(第一项),这将自动创建 CDB 和 PDB,省去后续 DBCA 步骤。若选择第二项,则需在安装后手动执行 DBCA 建库。
3.2 图形界面配置流程
按照以下截图顺序依次配置:
- 选择数据库版本与语言
- 指定 ORACLE_HOME 与 oraInventory 路径
- 配置 SID 为 DEVCDB
- 设置字符集为 AL32UTF8
- 选择安装组件(如 Oracle Text、OLAP 等)





⚠️ 如果 /u01/app/oraInventory 目录下有残留文件,OUI 会提示清理:














配置完成后,确认摘要信息:
[root@ol26ai bin]# /u01/app/oraInventory/orainstRoot.sh
Changing permissions of /u01/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.
Changing groupname of /u01/app/oraInventory to oinstall.
The execution of the script is complete.
[root@ol26ai bin]# /u01/app/oracle/product/26ai/dbhome_1/root.sh
Performing root user operation.
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /u01/app/oracle/product/26ai/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 ...
Creating /etc/oratab file...
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.

3.3 执行安装与 root 脚本
安装过程中,OUI 会提示以 root 权限运行两个脚本:
- 保持安装界面打开
- 在新终端中执行:
sudo /u01/app/oraInventory/orainstRoot.sh - 执行:
sudo /u01/app/oracle/product/26ai/dbhome_1/root.sh - 返回 OUI 点击“确定”继续

[oracle@ol26ai software]$ ./runInstaller
Launching Oracle AI Database Setup Wizard...
The response file for this session can be found at:
/u01/app/software/install/response/db_2026-02-01_05-16-40PM.rsp
You can find the log of this install session at:
/tmp/InstallActions2026-02-01_05-16-40PM/installActions2026-02-01_05-16-40PM.log
Moved the install session logs to:
/u01/app/oraInventory/logs/InstallActions2026-02-01_05-16-40PM
四、安装后验证与优化
安装完成后,进行基本验证以确保数据库正常运行。
4.1 验证数据库状态
使用 sqlplus 连接并检查实例状态:
# 使用rlwrap增强的sqlplus连接
sqlplus / as sysdba
# 检查数据库状态
SQL> SELECT name, open_mode, database_role FROM v$database;
SQL> SELECT instance_name, status, version FROM v$instance;
SQL> exit
SQL> alter pluggable database all save state;
4.2 启动监听器
配置并启动监听器,使客户端能够连接:
# 启动监听器
lsnrctl start
# 查看监听器状态
lsnrctl status
4.3 优化 SQL*Plus 体验
创建 glogin.sql 文件,设置行宽、页面大小等,提升交互友好性:
-- SQL*Plus 全局登录配置文件,常用格式
SET SERVEROUTPUT ON SIZE UNLIMITED
SET LINESIZE 200
SET PAGESIZE 100
SET TRIMSPOOL ON
SET NUMWIDTH 10
SET FEEDBACK ON
SET TIMING ON
SET TIME ON
SET SQLPROMPT "_USER'@'_CONNECT_IDENTIFIER> "
最终效果:

[AFFILIATE_SLOT_1]
五、常见问题与最佳实践
在微服务和 API 网关架构中,数据库作为服务端核心,安装后的稳定性至关重要。以下是一些常见问题和建议:
- 问题1: OUI 图形界面无法启动。✅ 检查 DISPLAY 环境变量和 X11 转发是否开启。
- 问题2: root.sh 执行失败。✅ 确保 /etc/oratab 权限正确,且相关目录已创建。
- 最佳实践: 安装完成后,建议配置归档日志和自动备份脚本,保障数据安全。
总结
本文从系统准备、内核调优、OUI 图形界面安装到验证优化,完整记录了 Oracle Database 26ai 在 Oracle Linux 9 上的部署过程。通过本指南,您可以快速搭建一个符合生产标准的数据库环境,为后续的微服务、中间件应用提供稳定可靠的数据支撑。
浙公网安备 33010602011771号