Oracle 19c单机安装
- 一、安装包准备说明
- 二、系统前期环境配置
-
- [2.1 操作系统版本](#2.1 操作系统版本)
- [2.2 cpu、内存配置](#2.2 cpu、内存配置)
- [2.3 关闭防火墙、SELinux](#2.3 关闭防火墙、SELinux)
- [2.4 配置主机名、添加主机名解析](#2.4 配置主机名、添加主机名解析)
- [2.5 挂载系统光盘、配置本地yum源](#2.5 挂载系统光盘、配置本地yum源)
- [2.6 安装oracle需要的基础依赖包](#2.6 安装oracle需要的基础依赖包)
- [2.7 安装compat-libstdc++](#2.7 安装compat-libstdc++)
- [2.8 创建oracle相关用户](#2.8 创建oracle相关用户)
- [2.9 规划oracle安装目录、授权](#2.9 规划oracle安装目录、授权)
- [2.10 关闭avahi-daemon服务、NOZEROCONF](#2.10 关闭avahi-daemon服务、NOZEROCONF)
- [2.11 关闭透明大页、Numa](#2.11 关闭透明大页、Numa)
- [2.12 修改系统内核参数](#2.12 修改系统内核参数)
- [2.13 调整系统资源限制](#2.13 调整系统资源限制)
- [2.14 调整pam认证](#2.14 调整pam认证)
- [2.15 调整tmfs文件系统大小](#2.15 调整tmfs文件系统大小)
- [2.16 配置oracle用户所需要的环境变量](#2.16 配置oracle用户所需要的环境变量)
- [2.17 系统重启](#2.17 系统重启)
- [三、Oracle 19c安装配置](#三、Oracle 19c安装配置)
-
- [3.1 上传oracle安装包](#3.1 上传oracle安装包)
- [3.2 解压缩oracle安装包](#3.2 解压缩oracle安装包)
- [3.3 配置响应文件](#3.3 配置响应文件)
- [3.4 静默安装](#3.4 静默安装)
- [3.5 以root用户身份执行脚本](#3.5 以root用户身份执行脚本)
- 四、创建监听
-
- [4.1 创建监听](#4.1 创建监听)
- 五、创建数据库实例
-
- [5.1 设置实例相关变量](#5.1 设置实例相关变量)
- [5.2 创建实例](#5.2 创建实例)
- [5.3 测试登录实例](#5.3 测试登录实例)
一、安装包准备说明
在Linux系统上安装Oracle 19c,主要需要准备下面的软件

说明: 其中compat-libstdc++软件可以在https://vault.centos.org自行下载
二、系统前期环境配置
2.1 操作系统版本
bash
[root@oracle19c:/root]# cat /etc/os-release
NAME="Red Hat Enterprise Linux Server"
VERSION="7.6 (Maipo)"
ID="rhel"
ID_LIKE="fedora"
VARIANT="Server"
VARIANT_ID="server"
VERSION_ID="7.6"
PRETTY_NAME="Red Hat Enterprise Linux Server 7.6 (Maipo)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:redhat:enterprise_linux:7.6:GA:server"
HOME_URL="https://www.redhat.com/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 7"
REDHAT_BUGZILLA_PRODUCT_VERSION=7.6
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="7.6"
2.2 cpu、内存配置
bash
[root@oracle19c:/root]# nproc
4
[root@oracle19c:/root]# free -h
total used free shared buff/cache available
Mem: 15G 322M 15G 12M 278M 15G
Swap: 21G 0B 21G
注意: swap容量要大于等于16G
2.3 关闭防火墙、SELinux
bash
[root@oracle19c:/root]# getenforce
Disabled
[root@oracle19c:/root]# systemctl status firewalld.service
● firewalld.service
Loaded: masked (/dev/null; bad)
Active: inactive (dead)
2.4 配置主机名、添加主机名解析
bash
[root@oracle19c:/root]# hostnamectl set-hostname orcl19c
[root@oracle19c:/root]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.140.14 orcl19c
2.5 挂载系统光盘、配置本地yum源
bash
[root@oracle19c:/root]# df -hT | grep iso
/dev/sr0 iso9660 4.2G 4.2G 0 100% /mnt
[root@oracle19c:/root]# cat /etc/yum.repos.d/
local.repo packagekit-media.repo redhat.repo
[root@oracle19c:/root]# cat /etc/yum.repos.d/local.repo
[local]
name=local
baseurl=file:///mnt
enabled=1
gpgcheck=0
2.6 安装oracle需要的基础依赖包
bash
[root@oracle19c:/root]# yum install -y bc binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ elfutils-libelf elfutils-libelf-devel glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libxcb libX11 libXau libXi libXtst libXrender libXrender-devel make net-tools nfs-utils smartmontools sysstat e2fsprogs e2fsprogs-libs fontconfig-devel expect unzip openssh-clients readline* psmisc
2.7 安装compat-libstdc++
bash
[root@oracle19c:/root]# wget https://vault.centos.org/7.6.1810/os/x86_64/Packages/compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
[root@oracle19c:/root]# rpm -ivh compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
2.8 创建oracle相关用户
bash
[root@oracle19c:/root]# groupadd oinstall
[root@oracle19c:/root]# groupadd dba
[root@oracle19c:/root]# groupadd oper
[root@oracle19c:/root]# groupadd backupdba
[root@oracle19c:/root]# groupadd dgdba
[root@oracle19c:/root]# groupadd kmdba
[root@oracle19c:/root]# groupadd racdba
[root@oracle19c:/root]# useradd -g oinstall oracle
[root@oracle19c:/root]# echo oracle | passwd --stdin oracle
[root@oracle19c:/root]# usermod -aG dba oracle
[root@oracle19c:/root]# usermod -aG backupdba oracle
[root@oracle19c:/root]# usermod -aG dgdba oracle
[root@oracle19c:/root]# usermod -aG kmdba oracle
[root@oracle19c:/root]# usermod -aG racdba oracle
[root@oracle19c:/root]# usermod -aG oper oracle
[root@oracle19c:/root]# id oracle
uid=1001(oracle) gid=1001(oinstall) 组=1001(oinstall),1002(dba),1003(oper),1004(backupdba),1005(dgdba),1006(kmdba),1007(racdba)
2.9 规划oracle安装目录、授权
bash
[root@oracle19c:/root]# mkdir -p /u01/app/oracle/product/19.3.0/db
[root@oracle19c:/root]# mkdir -p /u01/app/oraInventory
[root@oracle19c:/root]# mkdir /oradata
[root@oracle19c:/root]# mkdir /archivelog
[root@oracle19c:/root]# chown -R oracle.oinstall /u01/ /oradata/ /archivelog/
[root@oracle19c:/root]# chmod -R 755 /u01/app/
2.10 关闭avahi-daemon服务、NOZEROCONF
bash
[root@oracle19c:/root]# systemctl stop avahi-daemon.socket avahi-daemon.service
[root@oracle19c:/root]# systemctl disable avahi-daemon.service avahi-daemon.socket
[root@oracle19c:/root]# cat /etc/sysconfig/network
# Created by anaconda
NOZEROCONF=yes
2.11 关闭透明大页、Numa
bash
[root@oracle19c:/root]# sed -i 's/quiet/quiet transparent_hugepage=never numa=off/' /etc/default/grub
[root@oracle19c:/root]# grub2-mkconfig -o /boot/grub2/grub.cfg
2.12 修改系统内核参数
bash
[root@oracle19c:/root]# cat /etc/sysctl.conf
##shmmal's Calculation formula: physical memory 8G:(8*1024*1024*1024)/4096=2097152
##shmmax's Calculation formula: physical memory 8G:(8/2)*1024*1024*1024 -1=4294967295
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 4103171
kernel.shmmax = 16806588415
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
[root@oracle19c:/root]# sysctl -p
2.13 调整系统资源限制
bash
[root@oracle19c:/root]# cat /etc/security/limits.conf
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
oracle soft nproc 2047
oracle hard nproc 16384
oracle hard memlock 134217728
oracle soft memlock 134217728
2.14 调整pam认证
bash
[root@oracle19c:/root]# tail -n 2 /etc/pam.d/login
session required pam_limits.so
session required /lib64/security/pam_limits.so
2.15 调整tmfs文件系统大小
bash
[root@oracle19c:/root]# df -hT | grep shm
tmpfs tmpfs 16G 0 16G 0% /dev/shm
[root@oracle19c:/root]#
[root@oracle19c:/root]# tail -n 1 /etc/fstab
tmpfs /dev/shm tmpfs size=16412684k 0 0
2.16 配置oracle用户所需要的环境变量
bash
[root@oracle19c:/root]# su - oracle
上一次登录:四 7月 2 11:01:56 CST 2026pts/0 上
[oracle@orcl19c:/home/oracle]$ cat .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH
umask 022
export TMP=/tmp
export TMPDIR=$TMP
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/db
export ORACLE_HOSTNAME=orcl19C
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export ORACLE_SID=orcl
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
2.17 系统重启
bash
[root@oracle19c:/root]# init 6
三、Oracle 19c安装配置
3.1 上传oracle安装包
bash
[oracle@orcl19c:/home/oracle]$ mkdir /u01/soft
[oracle@orcl19c:/home/oracle]$ ls /u01/soft/
compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm OracleShellInstall rlwrap-0.46.tar.gz
LINUX.X64_193000_db_home.zip p6880880_190000_Linux-x86-64.zip schagent.conf
3.2 解压缩oracle安装包
bash
[oracle@orcl19c:/home/oracle]$ unzip LINUX.X64_193000_db_home.zip -d $ORACLE_HOME
3.3 配置响应文件
- 说明: oracle 19c安装时,可以使用图形界面和静默两种方式安装。运行图形界面安装可以运行$ORACLE_HOME目录下的./runInstaller。
- 这里采用的静默方式安装,使用静默方式则需要准备一个安装的响应文件,oracle安装程序会根据响应文件中的定义进行安装选项的配置
bash
[oracle@orcl19c:/home/oracle]$ find /u01/ -name "db_install.rsp"
/u01/app/oracle/product/19.3.0/db/install/response/db_install.rsp
[oracle@orcl19c:/home/oracle]$ cd /u01/app/oracle/product/19.3.0/db/install/response/
[oracle@orcl19c:/home/oracle]$ cp db_install.rsp /home/oracle/
bash
// 编辑响应文件
// 以下所有配置在复制过来的模板文件中都有,找到根据自己实际的情况进行修改即可
[oracle@orcl19c:/home/oracle]$ less /home/oracle/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.3.0/db
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=dba
oracle.install.db.OSDGDBA_GROUP=dba
oracle.install.db.OSKMDBA_GROUP=dba
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSOPER_GROUP=oper
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=true
oracle.install.db.rootconfig.configMethod=ROOT
3.4 静默安装
bash
// 安装过程中会要求提供root密码
// 安装过程中如果有错误,可根据回显提供的日志进行分析排查
// 如果没有报错,等待一会会有软件成功安装的提示
[oracle@orcl19c:/home/oracle]$ cd $ORACLE_HOME
[oracle@orcl19c:/home/oracle]$ ./runInstaller -silent -responseFile /home/oracle/db_install.rsp
3.5 以root用户身份执行脚本
bash
/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/19.3.0/db/root.sh
四、创建监听
4.1 创建监听
bash
[oracle@orcl19c:/home/oracle]$ netca -silent -responsefile $ORACLE_HOME/assistants/netca/netca.rsp
[oracle@orcl19c:/home/oracle]$ netstat -tunlp | grep 1521
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp6 0 0 :::1521 :::* LISTEN 27246/tnslsnr
[oracle@orcl19c:/home/oracle]$ lsnrctl status
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 02-JUL-2026 15:06:22
Copyright (c) 1991, 2019, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=orcl19C)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date 02-JUL-2026 15:06:16
Uptime 0 days 0 hr. 0 min. 5 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/19.3.0/db/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/orcl19c/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=orcl19c)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
The listener supports no services
The command completed successfully
五、创建数据库实例
5.1 设置实例相关变量
bash
## 实例名称
ORACLE_SID=orcl
## 数据文件目录
ORADATADIR=/oradata
## 归档日志目录
ARCHIVEDIR=/archivelog
## 数据库字符集
CHARACTERSET=AL32UTF8
## 国家字符集
NCHARACTERSET=AL16UTF16
## 数据库内存这里取物理内存的 50%
memTotal=$(grep MemTotal /proc/meminfo | awk '{print $2}')
totalMemory=$((memTotal / 2048))
## 是否为 CDB 模式,TRUE 或者 FALSE
ISCDB=TRUE
5.2 创建实例
bash
// 过程相对比较慢
dbca -silent -createDatabase \
-ignorePrereqFailure \
-templateName General_Purpose.dbc \
-responseFile NO_VALUE \
-gdbName ${ORACLE_SID} \
-sid ${ORACLE_SID} \
-sysPassword oracle \
-systemPassword oracle \
-redoLogFileSize 1024 \
-storageType FS \
-databaseConfigType SINGLE \
-datafileDestination ${ORADATADIR} \
-enableArchive true \
-archiveLogDest ${ARCHIVEDIR} \
-characterset ${CHARACTERSET} \
-nationalCharacterSet ${NCHARACTERSET} \
-emConfiguration NONE \
-automaticMemoryManagement false \
-totalMemory ${totalMemory} \
-databaseType OLTP \
-createAsContainerDatabase ${ISCDB}
5.3 测试登录实例
bash
[oracle@orcl19c:/home/oracle]$ sqlplus / as sysdba