Oracle 数据库静默安装详解
Oracle 数据库静默安装详解
适用版本:Oracle Database 19c / 23ai 文档版本:v1.0 / 2026-07
1. 概述
静默安装适用于自动化[1]:
优势:
- 无 GUI
- 自动化
- 重复
- CI/CD
详细见:Oracle Linux 安装与配置。
2. 准备
2.1 软件
# DB 软件
ls -l LINUX.X64_193000_db_home.zip
# GI 软件
ls -l LINUX.X64_193000_grid_home.zip
2.2 用户
# 预安装
dnf install -y oracle-database-preinstall-19c
# 已创建 oracle / grid 用户
id oracle
id grid
2.3 目录
mkdir -p ******
chown -R oracle:oinstall /u01
chmod -R 775 /u01
3. 解压
su - oracle
cd $ORACLE_HOME
unzip /tmp/LINUX.X64_193000_db_home.zip
4. 响应文件
4.1 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=oper
oracle.install.db.OSBACKUPDBA_GROUP=backupdba
oracle.install.db.OSDGDBA_GROUP=dgdba
oracle.install.db.OSKMDBA_GROUP=kmdba
oracle.install.db.OSRACDBA_GROUP=racdba
oracle.install.db.root.config.executeRootScript=false
4.2 关键参数
oracle.install.option:
- INSTALL_DB_SWONLY:仅软件
- INSTALL_DB_AND_CONFIG:软件 + 建库
- CONFIGURE_DB:仅配置
oracle.install.db.InstallEdition:
- EE:企业版
- SE2:标准版
5. 仅软件安装
5.1 安装
cd $ORACLE_HOME
./runInstaller -silent -responseFile /tmp/db_install.rsp
5.2 root 脚本
su -
/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/19.0.0/dbhome_1/root.sh
5.3 应用 RU
cd $ORACLE_HOME
./runInstaller -silent -responseFile /tmp/db_install.rsp -applyRU /tmp/ru/32545008
详细见:Oracle 补丁应用与 PSU。
6. 软件 + 建库
6.1 响应文件
oracle.install.option=INSTALL_DB_AND_CONFIG
oracle.install.db.DBConfigType=SI
oracle.install.db.config.starterdb.globalDBName=orcl
oracle.install.db.config.starterdb.SID=orcl
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.memoryOption=true
oracle.install.db.config.starterdb.memoryLimit=4096
oracle.install.db.config.starterdb.installExampleSchemas=false
oracle.install.db.config.starterdb.password.SYS=Oracle123
oracle.install.db.config.starterdb.password.SYSTEM=Oracle123
oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=/u01/app/oracle/oradata
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=/u01/app/oracle/fast_recovery_area
oracle.install.db.config.starterdb.automatedBackup.enable=false
oracle.install.db.config.starterdb.managementOption=DEFAULT
oracle.install.db.config.starterdb.omsPort=0
oracle.install.db.config.starterdb.enableRecovery=true
6.2 安装
./runInstaller -silent -responseFile /tmp/db_install.rsp
7. DBCA 建库
7.1 响应
# DBCA 静默
dbca -silent -createDatabase \
-templateName General_Purpose.dbc \
-gdbName orcl \
-sid orcl \
-createAsContainerDatabase true \
-numberOfPDBs 1 \
-pdbName orclpdb \
-pdbAdminPassword Oracle123 \
-sysPassword Oracle123 \
-systemPassword Oracle123 \
-storageType FS \
-datafileDestination /u01/app/oracle/oradata \
-recoveryAreaDestination /u01/app/oracle/fast_recovery_area \
-recoveryAreaSize 10240 \
-characterSet AL32UTF8 \
-nationalCharacterSet AL16UTF16 \
-listeners LISTENER \
-totalMemory 4096 \
-databaseType OLTP \
-emConfiguration NONE
详细见:Oracle 数据库创建 DBCA。
7.2 响应文件
# dbca.rsp
templateName=General_Purpose.dbc
gdbName=orcl
sid=orcl
createAsContainerDatabase=true
numberOfPDBs=1
pdbName=orclpdb
pdbAdminPassword=******
sysPassword=******
systemPassword=******
storageType=FS
datafileDestination=/u01/app/oracle/oradata
recoveryAreaDestination=/u01/app/oracle/fast_recovery_area
characterSet=AL32UTF8
totalMemory=4096
databaseType=OLTP
dbca -silent -createDatabase -responseFile /tmp/dbca.rsp
8. NetCA 配置
8.1 静默
netca -silent -responseFile /u01/app/oracle/product/19.0.0/dbhome_1/assistants/netca/netca.rsp
8.2 手动
# listener.ora
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oradb1)(PORT = 1521))
)
)
# tnsnames.ora
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oradb1)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
详细见:Oracle 网络配置与监听器。
9. RAC 安装
9.1 GI 静默
./gridSetup.sh -silent -responseFile /tmp/grid_install.rsp
详细见:Oracle GI 19c 安装详解。
9.2 RAC DB
./runInstaller -silent -responseFile /tmp/db_install.rsp
dbca -silent -createDatabase \
-templateName General_Purpose.dbc \
-gdbName orcl \
-sid orcl \
-databaseConfigType RAC \
-nodelist rac1,rac2 \
-createAsContainerDatabase true \
-numberOfPDBs 1 \
-pdbName orclpdb \
-pdbAdminPassword Oracle123 \
-sysPassword Oracle123 \
-systemPassword Oracle123 \
-storageType ASM \
-diskGroupName +DATA \
-recoveryGroupName +FRA \
-characterSet AL32UTF8 \
-totalMemory 4096
详细见:Oracle RAC 部署实战。
10. 验证
10.1 软件
$ORACLE_HOME/OPatch/opatch lsinventory
$ORACLE_HOME/bin/sqlplus -V
10.2 数据库
sqlplus / as sysdba
SQL> SELECT name, open_mode FROM v$database;
SQL> SELECT name, open_mode FROM v$pdbs;
11. 日志
11.1 安装日志
ls -lt /u01/app/oraInventory/logs/
# InstallAction*.log
11.2 DBCA 日志
ls -lt $ORACLE_BASE/cfgtoollogs/dbca/
11.3 查看
tail -f /u01/app/oraInventory/logs/InstallActions*.log
12. 卸载
12.1 deinstall
cd $ORACLE_HOME/deinstall
./deinstall -silent -checkonly /tmp/deinstall.rsp
./deinstall -silent -paramfile /tmp/deinstall.rsp
13. 常见坑与排错
13.1 ORA-00600
- 内部错误
- 查日志
- 联系 Oracle Support
13.2 内核参数
- 预安装包
- sysctl -p
******
### 13.3 依赖缺失
```bash
dnf install -y oracle-database-preinstall-19c
13.4 内存不足
- 减小 totalMemory
- 增大物理内存
14. 自动化脚本
14.1 一键安装
#!/bin/bash
# install_oracle.sh
set -e
# 1. 配置系统
bash 01_setup_os.sh
# 2. 预安装
dnf install -y oracle-database-preinstall-19c
# 3. 解压
su - oracle -c "cd \$ORACLE_HOME && unzip /tmp/LINUX.X64_193000_db_home.zip"
# 4. 安装
su - oracle -c "cd \$ORACLE_HOME && ./runInstaller -silent -responseFile /tmp/db_install.rsp"
# 5. root 脚本
/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/19.0.0/dbhome_1/root.sh
# 6. 建库
su - oracle -c "dbca -silent -createDatabase -responseFile /tmp/dbca.rsp"
# 7. 验证
su - oracle -c "sqlplus / as sysdba <<EOF
SELECT name, open_mode FROM v\$database;
EXIT
EOF"
15. 最佳实践
- 预安装包:简化
- 静默:自动化
- 响应文件:版本控制
- root 脚本:手动执行
- 日志检查:及时
- RU 最新:稳定
- 验证:完整
- 自动化脚本:重复
- 文档化:流程
- 测试:可行
16. 参考资料
[1] Oracle Database Installation Guide 19c for Linux, “Installing Oracle Database Using Response Files” https://docs.oracle.com/en/database/oracle/oracle-database/19/ladbi/installing-database-software-using-response-files.html