文章目录
环境介绍
操作系统为 CentOS 7.9
Oracle 官方建议:
- 单实例最小安装内存 1G,推荐 2G
- 集群环境最小内存 8G
安装包下载
从 Oracle 官方下载地址 下载 19c 安装包,需要注册 Oracle 账号才能下载。

准备工作
以下是 Oracle 静默安装前的必须准备工作。
配置 yum 源
CentOS 配置国内 yum 源,已配置可忽略。
python
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
获取国内 yum 源:
python
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# 或者
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
重新生成 yum 缓存:
python
yum clean all
yum makecache
安装依赖包
安装 EPEL 扩展源:
python
yum install epel-release
安装依赖包:
python
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 libxcb make smartmontools sysstat unixODBC gcc-c++ kmod kmod-libs
创建用户和用户组
以 root 用户身份执行以下操作,创建 Oracle 所需的用户组和 Oracle 用户。
python
groupadd oinstall
groupadd dba
groupadd oper
useradd -g oinstall -G dba,oper oracle
创建必要目录
创建 Oracle 安装与库存目录,并设置相应权限:
python
mkdir -p /home/oracle19c/app/oracle
mkdir -p /home/oracle19c/oraInventory
chown -R oracle:oinstall /home/oracle19c/
mkdir -p /home/oracle19c/app/oracle/product/19.0.0/db_1
chown -R oracle:oinstall /home/oracle19c/app/oracle/product/
chmod -R 775 /home/oracle19c/app/oracle
关闭 SELinux
python
vi /etc/selinux/config
SELINUX=disabled # 重启生效
配置内核参数
python
cat << EOF >> /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmmax = 7344394076
kernel.shmall = 1793064
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
EOF
执行生效:
python
sysctl -p
配置资源限制
编辑 /etc/security/limits.conf 文件,添加 Oracle 用户资源限制:
python
vi /etc/security/limits.conf
添加:
python
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 memlock 3145728
oracle hard memlock 3145728
同时,在 /etc/pam.d/login 文件中确保加入以下配置以使 PAM 限制生效:
python
session required /lib/security/pam_limits.so
session required pam_limits.so
配置环境变量
配置 ORACLE 用户进程限制,在 /etc/profile 中添加:
python
# ORACLE 用户进程限制
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
生效:
python
source /etc/profile
切换到 oracle 用户:
python
su - oracle
vi ~/.bash_profile
添加以下内容:
python
# Oracle 用户环境变量配置
export EDITOR=vi
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_SID=orcl
export ORACLE_BASE=/home/oracle19c/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/db_1
export INVENTORY_LOCATION=/home/oracle19c/oraInventory
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export NLS_LANG="Simplified Chinese_China.UTF8"
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
export PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin:$PATH:$HOME/bin
umask 022
然后执行:
python
source ~/.bash_profile
Oracle 19c 安装
在 root 用户下,将安装包上传到 /home/oracle19c/app/oracle/product/19.0.0/db_1 目录下。
python
chown -R oracle:oinstall LINUX.X64_193000_db_home.zip
解压缩
切换 oracle 用户
python
su - oracle
cd /home/oracle19c/app/oracle/product/19.0.0/db_1
unzip LINUX.X64_193000_db_home.zip
编辑相应文件
在 oracle 用户下执行:
python
vi /home/oracle/rsp/db_install.rsp
写入:
python
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v19.0.0
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/home/oracle19c/oraInventory
ORACLE_HOME=/home/oracle19c/app/oracle/product/19.0.0/db_1
ORACLE_BASE=/home/oracle19c/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
执行静默安装
在 oracle 用户下执行:
python
cd /home/oracle19c/app/oracle/product/19.0.0/db_1
执行如下命令:
python
./runInstaller -silent -force -noconfig -ignorePrereq -responseFile /home/oracle/rsp/db_install.rsp
python
Launching Oracle Database Setup Wizard...
[WARNING] [INS-13014] Target environment does not meet some optional requirements.
CAUSE: Some of the optional prerequisites are not met. See logs for details. installActions2025-04-24_03-16-55PM.log
ACTION: Identify the list of failed prerequisite checks from the log: installActions2025-04-24_03-16-55PM.log. Then either from the log file or from installation manual find the appropriate configuration to meet the prerequisites and fix it manually.
The response file for this session can be found at:
/home/oracle19c/app/oracle/product/19.0.0/db_1/install/response/db_2025-04-24_03-16-55PM.rsp
You can find the log of this install session at:
/tmp/InstallActions2025-04-24_03-16-55PM/installActions2025-04-24_03-16-55PM.log
As a root user, execute the following script(s):
1. /home/oracle19c/oraInventory/orainstRoot.sh
2. /home/oracle19c/app/oracle/product/19.0.0/db_1/root.sh
Execute /home/oracle19c/oraInventory/orainstRoot.sh on the following nodes:
[localhost]
Execute /home/oracle19c/app/oracle/product/19.0.0/db_1/root.sh on the following nodes:
[localhost]
Successfully Setup Software with warning(s).
Moved the install session logs to:
/home/oracle19c/oraInventory/logs/InstallActions2025-04-24_03-16-55PM
根据提示切换 root 用户,执行:
python
su root
/home/oracle19c/oraInventory/orainstRoot.sh
/home/oracle19c/app/oracle/product/19.0.0/db_1/root.sh
配置监听
python
vi /home/oracle/rsp/netca.rsp
写入:
python
[GENERAL]
RESPONSEFILE_VERSION="19.0"
CREATE_TYPE="CUSTOM"
LOG_FILE="/home/oracle/cfgtoollogs/netca/netca.log
[oracle.net.ca]
INSTALLED_COMPONENTS={"server","net8","javavm"}
INSTALL_TYPE="typical"
LISTENER_NUMBER=1
LISTENER_NAMES={"LISTENER"}
LISTENER_PROTOCOLS={"TCP;1521"}
LISTENER_START="LISTENER"
NAMING_METHODS={"TNSNAMES","ONAMES","HOSTNAME"}
NSN_NUMBER=1
NSN_NAMES={"EXTPROC_CONNECTION_DATA"}
NSN_SERVICE={"PLSExtProc"}
NSN_PROTOCOLS={"TCP;HOSTNAME;1521"}
切换至 oracle 用户后,使用以下命令静默配置监听:
python
netca -silent -responsefile /home/oracle/rsp/netca.rsp
查看监听状态:
python
lsnrctl status
静默创建数据库
使用 DBCA 的方式创建数据库,切换 oracle 用户执行:
python
vi /home/oracle/rsp/dbca.rsp
写入配置,注意修改密码:
python
responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v19.0.0
gdbName=orcl
sid=orcl
databaseConfigType=SI
templateName=General_Purpose.dbc
createAsContainerDatabase=false
sysPassword=admin123
systemPassword=admin123
datafileDestination=/home/oracle19c/app/oracle/oradata
storageType=FS
sampleSchema=TRUE
databaseType=OLTP
automaticMemoryManagement=FALSE
totalMemory=4096
characterSet=ZHS16GBK
执行以下命令:
python
dbca -silent -createDatabase -responseFile /home/oracle/rsp/dbca.rsp
数据库维护
Oracle 常用维护命令。
连接数据库
python
sqlplus / as sysdba