乐于分享
好东西不私藏

Oracle 19c 部署文档

Oracle 19c 部署文档

一、文档说明

本文档仅适用于 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;