Oracle 19c 静默安装
Oracle 19c 静默安装
适用版本:Oracle Database 19c 文档版本:v1.0 / 2026-07
1. 概述
静默安装适用于无 GUI 环境[1]:
优势:
- 服务器无 GUI
- 自动化部署
- 可重复
2. 安装前准备
2.1 系统
# OL 8
dnf install -y oracle-database-preinstall-19c
2.2 用户
groupadd -g 54321 oinstall
groupadd -g 54322 dba
useradd -u 54321 -g oinstall -G dba oracle
passwd oracle
2.3 目录
mkdir -p ******
chown -R oracle:oinstall /u01
chmod -R 775 /u01
2.4 环境变量
# oracle .bash_profile
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1
ORACLE_SID=orcl
PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH
详细见:Oracle Linux 安装与配置。
3. 解压软件
su - oracle
cd $ORACLE_HOME
unzip /tmp/LINUX.X64_193000_db_home.zip
4. 响应文件
4.1 db_install.rsp
# /u01/app/oracle/product/19.0.0/dbhome_1/install/response/db_install.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v19.0.0
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory
ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSOPER_GROUP=dba
oracle.install.db.OSBACKUPDBA_GROUP=dba
oracle.install.db.OSDGDBA_GROUP=dba
oracle.install.db.OSKMDBA_GROUP=dba
oracle.install.db.OSRACDBA_GROUP=dba
oracle.install.db.rootconfig.executeRootScript=false
5. 静默安装
5.1 安装软件
cd $ORACLE_HOME
./runInstaller -silent -responseFile /u01/app/oracle/product/19.0.0/dbhome_1/install/response/db_install.rsp
5.2 执行 root 脚本
# root 用户
/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/19.0.0/dbhome_1/root.sh
6. 创建数据库
6.1 dbca.rsp
# /u01/app/oracle/product/19.0.0/dbhome_1/assistants/dbca/dbca.rsp
gdbName=orcl.example.com
sid=orcl
databaseConfigType=SI
createAsContainerDatabase=true
numberOfPDBs=1
pdbName=orclpdb
useLocalUndoForPDBs=true
pdbAdminPassword=******
templateName=/u01/app/oracle/product/19.0.0/dbhome_1/assistants/dbca/templates/General_Purpose.dbc
sysPassword=******
systemPassword=******
emConfiguration=NONE
storageType=FS
datafileDestination=/u01/app/oracle/oradata
recoveryAreaDestination=/u01/app/oracle/fast_recovery_area
recoveryAreaSize=10240
characterSet=AL32UTF8
nationalCharacterSet=AL16UTF16
listeners=LISTENER
variables=ORACLE_BASE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
initParams=memory_target=4G,processes=500,open_cursors=1000
6.2 创建
dbca -silent -createDatabase -responseFile /u01/app/oracle/product/19.0.0/dbhome_1/assistants/dbca/dbca.rsp
7. 配置监听
7.1 netca.rsp
# 静默创建监听
netca -silent -responseFile /u01/app/oracle/product/19.0.0/dbhome_1/assistants/netca/netca.rsp
7.2 启动
lsnrctl start
lsnrctl status
8. 验证
8.1 软件
$ORACLE_HOME/OPatch/opatch lsinventory
8.2 数据库
sqlplus / as sysdba
SQL> SELECT * FROM v$version;
SQL> SELECT name, open_mode FROM v$database;
SQL> SELECT name, open_mode FROM v$pdbs;
8.3 监听
lsnrctl status
9. 补丁应用
9.1 OPatch
# 下载补丁
unzip pXXXXXX_Linux-x86-64.zip -d /tmp
# 应用
cd $ORACLE_HOME
$ORACLE_HOME/OPatch/opatch apply -silent /tmp/XXXXXX
9.2 验证
$ORACLE_HOME/OPatch/opatch lsinventory
10. 自动化脚本
#!/bin/bash
# install_oracle.sh
# 1. 安装软件
su - oracle -c "
cd \$ORACLE_HOME
./runInstaller -silent -responseFile \$ORACLE_HOME/install/response/db_install.rsp
"
# 2. root 脚本
/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/19.0.0/dbhome_1/root.sh
# 3. 监听
su - oracle -c "netca -silent -responseFile \$ORACLE_HOME/assistants/netca/netca.rsp"
# 4. 创建数据库
su - oracle -c "dbca -silent -createDatabase -responseFile \$ORACLE_HOME/assistants/dbca/dbca.rsp"
echo "Oracle 19c 安装完成"
11. 常见坑与排错
11.1 安装失败
# 1. 查日志
cat /u01/app/oraInventory/logs/installActions*.log
# 2. 检查响应文件
# 3. 检查依赖
11.2 创建数据库失败
# 查日志
$ORACLE_BASE/cfgtoollogs/dbca/orcl/
11.3 内存不足
# 调整 memory_target
# 增大物理内存
12. 最佳实践
- 响应文件准备:完整
- 预安装包:依赖
- 路径正确:避免错误
- root 脚本:执行
- 日志检查:问题
- 自动化脚本:可重复
- 补丁更新:及时
- 验证:完整性
- 文档化:流程
- 备份:保护
13. 参考资料
[1] Oracle Database Installation Guide 19c for Linux, “Silent Installation” https://docs.oracle.com/en/database/oracle/oracle-database/19/ladbi/silent-installation.html