
一、文档说明
本文档仅适用于 Oracle 19c 组件在 CentOS 7 操作系统下的运维部署指导。该文档为标准化部署手册,提供维护人员参考与执行。
二、部署说明
- 操作系统:
Linux(CentOS 7.6) - 安装包版本:
Oracle 19.3.0.0
三、安装前准备工作
(一) 下载安装包
根据下载地址,登录Oracle官网:
https://edelivery.oracle.com/osdc/faces/SoftwareDelivery。
输入"Oracle Database 19c Enterprise Edition",显示搜索结果

选择"DLP: Oracle Database 19c Enterprise Edition 19.3.0.0.0",右上角出现下载项

选择"Continue",继续下载

选中所需的组件,并选择所在的平台架构;如下图表示只需下载 Linux x86-64 架构下的数据库,选择"Continue",继续下载

勾选中同意协议,选择"Continue",继续下载

确认下载内容,选择"Download",开始下载

(二) 关闭防火墙
systemctl disable firewalldsystemctl stop firewalld
(三) 关闭 Selinux
sed -i "/^SELINUX=/c SELINUX=disabled" /etc/selinux/configsetenforce 0 > /dev/null
(四) 修改内核参数
cat <<EOF | tee -a /etc/sysctl.conffs.file-max = 6815744kernel.sem = 250 32000 100 128kernel.shmmni = 4096kernel.shmall = 1073741824kernel.shmmax = 4398046511104kernel.panic_on_oops = 1net.core.rmem_default = 262144net.core.rmem_max = 4194304net.core.wmem_default = 262144net.core.wmem_max = 1048576net.ipv4.conf.all.rp_filter = 2net.ipv4.conf.default.rp_filter = 2fs.aio-max-nr = 1048576net.ipv4.ip_local_port_range = 9000 65500EOFsysctl -p
(五) 安装依赖包
yum install -y binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXext libXtst libX11 libXau libxcb libXi make sysstat(六) 创建用户和用户组
groupadd -g 54321 oinstallgroupadd -g 54322 dbagroupadd -g 54323 opergroupadd -g 54324 backupdbagroupadd -g 54325 dgdbagroupadd -g 54326 kmdbagroupadd -g 54330 racdbauseradd -u 54321 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba oracleecho "oracle" | passwd oracle --stdin
(七) 修改用户资源限制
cat <<EOF | tee /etc/security/limits.d/30-oracle.conforacle soft nofile 1024oracle hard nofile 65536oracle soft nproc 16384oracle hard nproc 16384oracle soft stack 10240oracle hard stack 32768oracle hard memlock 134217728oracle soft memlock 134217728EOF
(八) 创建安装目录和权限
mkdir -p /u01/app/oracle/product/19.3.0/db_1mkdir -p /u01/app/oracle/oradatamkdir -p /u01/app/oracle/inventorychown -R oracle:oinstall /u01chmod -R 755 /u01
(九) 修改用户环境变量
cat <<"EOF" | tee -a /home/oracle/.bash_profileexport TMP=/tmpexport TMPDIR=$TMPexport ORACLE_BASE=/u01/app/oracleexport ORACLE_HOME=$ORACLE_BASE/product/19.3.0/db_1export ORA_INVENTORY=/u01/app/oracle/inventoryexport ORACLE_SID=orclexport PDB_NAME=pdb1export DATA_DIR=/u01/app/oracle/oradataexport PATH=$ORACLE_HOME/bin:$PATHexport LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/libexport CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlibEOF
(十) 上传安装包及解压
将下载好的V982063-01.zip安装包上传至 /usr/local/src 目录。
su - oraclecd /usr/local/srcunzip V982063-01.zip -d $ORACLE_HOME
四、安装 Oracle 19c
(一) 安装数据库软件
切换至 oracle 用户执行命令
su - oraclecd $ORACLE_HOME./runInstaller -ignorePrereq -waitforcompletion -silent \oracle.install.option=INSTALL_DB_SWONLY \ORACLE_HOSTNAME=${ORACLE_HOSTNAME} \UNIX_GROUP_NAME=oinstall \INVENTORY_LOCATION=${ORA_INVENTORY} \ORACLE_HOME=${ORACLE_HOME} \ORACLE_BASE=${ORACLE_BASE} \oracle.install.db.InstallEdition=EE \oracle.install.db.OSDBA_GROUP=dba \oracle.install.db.OSBACKUPDBA_GROUP=backupdba \oracle.install.db.OSDGDBA_GROUP=dgdba \oracle.install.db.OSKMDBA_GROUP=kmdba \oracle.install.db.OSRACDBA_GROUP=racdba \SECURITY_UPDATES_VIA_MYORACLESUPPORT=false \DECLINE_SECURITY_UPDATES=true
提示"Successfully Setup Software with warning(s).",表示安装成功。
(二) 更新脚本
切换至 root 用户执行命令
su - root # 或者将上一步骤直接退出oracle用户登录sh /u01/app/oracle/inventory/orainstRoot.shsh /u01/app/oracle/product/19.3.0/db_1/root.sh
(三) 配置监听
su - oracle# 修改配置文件(例如:端口修改为33803)cd $ORACLE_HOME# cp network/admin/samples/listener.ora network/admin/listener.orased -i 's#1521#33803#g' assistants/netca/netca.rspcat <<EOF | teenetwork/admin/listener.oraLISTENER =(ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(HOST=0.0.0.0)(PORT=33803))(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC33803)))SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = $ORACLE_SID)(ORACLE_HOME = $ORACLE_HOME)(SID_NAME = $ORACLE_SID)))ADR_BASE_LISTENER = $ORACLE_BASEEOF
注意:上述示例中的 33803 端口替换为实际需求端口。
启动/停止监听命令
su - oraclelsnrctl statuslsnrctl start

(四) 创建数据库
- 创建cdb数据库实例
su - oracledbca -silent -createDatabase \-templateName General_Purpose.dbc \-gdbname ${ORACLE_SID} -sid ${ORACLE_SID} \-responseFile NO_VALUE \-characterSet ZHS16GBK \-sysPassword orcl \-systemPassword orcl \-createAsContainerDatabase true \-numberOfPDBs 1 \-pdbName ${PDB_NAME} \-pdbAdminPassword orcl \-databaseType MULTIPURPOSE \-automaticMemoryManagement false \-totalMemory 800 \-storageType FS \-datafileDestination "${DATA_DIR}" \-redoLogFileSize 50 \-emConfiguration NONE \-ignorePreReqs
- 创建no-cdb数据库实例
dbca -silent -createDatabase \-templateName General_Purpose.dbc \-gdbName ${ } \-sid ${ORACLE_SID} \-sysPassword orcl \-systemPassword orcl \-emConfiguration NONE \-datafileDestination "${DATA_DIR}" \-storageType FS \-createAsContainerDatabase false \-characterSet ZHS16GBK

提示"100% complete",表示安装成功。
(五) 创建用户和分配权限
登录数据库sqlplus / as sysdba
- cdb数据库实例
注意:(1)在cdb数据库实例下,需要切换至pdb,然后才能创建用户;
(2)用户必须以"c##"开头才是通用用户,否则均为本地用户。
alter session set container=pdb1;create user c##orcl92 identified by "密码";grant connect,resource,dba to c##orcl92;
- non-cdb数据库实例
create user orcl92 identified by "密码";grant connect,resource,dba to orcl92;
(六) 开启归档模式
-- 开启归档alter database archivelog;-- 打开数据库alter database open;-- 验证归档是否生效archive log list;
(七) 修改 profile 不过期
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
夜雨聆风