zoukankan      html  css  js  c++  java
  • CentOS 8 系统安装 Oracle 19c 数据库


    Oracle Database 19c 是 Oracle 公司发布的最新版多模式数据库管理系统,可以用于 OLTP(联机事务处理)和 DW(数据仓库)以及混合模式(OLTP+DW)数据工作流。虽然 Oracle Database 19c 是非自由软件,但是它可以从 Oracle 的官方网站免费下载并使用。

    Oracle Database 19c 还可以从一些云服务商提供的云产品中免费获得预安装版本。

    本文将详细讲解如何在 CentOS 8 系统静默安装 Oracle Database 19c 并创建一个多租户数据库服务器。

    1] 系统环境说明

    • 操作系统:CentOS 8.1
    • 主机名:oracle-db-19c
    • IP 地址:172.16.200.1

    2] 更新操作系统

    在安装和配置服务器前,将 Linux 操作系统的软件包更新到最新是一个良好的习惯,这不仅可以降低软件兼容性风险,还可以有效提升系统稳定性。

    对于 CentOS 8 系统,可以使用如下命令进行系统更新:

    # dnf update -y

    3] 配置本地主机解析

    在安装 Oracle Database 19c 之前,需要为主机名配置好主机解析。主机解析可以通过 DNS 服务器完成,当然,如果没有 DNS 服务器,修改本地”/etc/hosts”文件也可以达到同样效果:

    # echo "172.16.200.1 oracle-db-19c" >> /etc/hosts

    4] 禁用 CentOS 8 系统 Transparent HugePages

    Oracle 官方推荐禁用系统 Transparent HugePages(透明大页)功能,因为该功能可能会导致 Oracle RAC 群集访问内存时节点重启以及单实例节点主机性能存在问题。于是,Oracle 官方推荐 Linux 系统采用 Standard HugePages(标准大页)。

    而在 Red Hat 的 Linux 发行版中,透明大页自 EL 6.0 后会默认启用。

    使用如下命令来判断 CentOS 8 系统是否启用了透明大页:

    # cat /sys/kernel/mm/transparent_hugepage/enabled

    图.1 查看 CentOS 系统 Transparent HugePages 状态

    如图.1 所示,透明大页启用状态为”[always]”,表示系统启用了该功能。

    禁用此功能的话,需要修改 GRUB 配置项,添加禁用透明大页的启动项参数。

    修改”/etc/default/grub”文件,修改内容如下:

    GRUB_CMDLINE_LINUX="resume=/dev/mapper/cl-swap rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet transparent_hugepage=never"

    配置文件修改完成后,使用如下命令重新生成 GRUB 配置并重启主机让配置生效:

    # grub2-mkconfig -o /boot/grub2/grub.cfg
    # systemctl reboot

    主机重新启动成功后,再次使用之前的命令查看透明大页状态,如果显示为”[never]”,则表示透明大页功能已经关闭。

    图.2 CentOS 系统成功禁用透明大页

    5] 安装 Oracle Database 19c CentOS 8 系统依赖包

    由于数据库服务器采用静默方式安装,为避免出错,在安装数据库之前,需要把 Oracle 程序依赖包安装至系统。依赖包同样采用 dnf 方式安装:

    dnf install -y bc 
      binutils 
      elfutils-libelf 
      elfutils-libelf-devel 
      fontconfig-devel 
      glibc 
      glibc-devel 
      ksh 
      libaio 
      libaio-devel 
      libXrender 
      libXrender-devel 
      libX11 
      libXau 
      libXi 
      libXtst 
      libgcc 
      librdmacm-devel 
      libstdc++ 
      libstdc++-devel 
      libxcb 
      make 
      net-tools 
      smartmontools 
      sysstat 
      unzip 
      libnsl 
      libnsl2

    6] 创建 Oracle 19c 使用的用户和属组

    用以下命令创建 Oracle 19c 需要使用的用户及属组:

    # groupadd -g 6001 oinstall
    # groupadd -g 6002 dba
    # groupadd -g 6003 oper
    # groupadd -g 6004 backupdba
    # groupadd -g 6005 dgdba
    # groupadd -g 6006 kmdba
    # groupadd -g 6007 racdba
    # useradd -u 6001 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba oracle
    # echo "oracle" | passwd oracle --stdin

    此时,就创建了一个用户 oracle,并设置其密码为”oracle”。

    7] 设置 Oracle 用户的安全权限

    在”/etc/security/limits.d”目录中创建一个 oracle 用户的权限文件”30-oracle.conf”,文件内容如下:

    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   hard   memlock    134217728
    oracle   soft   memlock    134217728

    8] 调整 CentOS 8系统参数

    根据 Oracle 19c 的要求,创建 Oracle 参数文件”/etc/sysctl.d/98-oracle.conf”,内容如下:

    fs.file-max = 6815744
    kernel.sem = 250 32000 100 128
    kernel.shmmni = 4096
    kernel.shmall = 1073741824
    kernel.shmmax = 4398046511104
    kernel.panic_on_oops = 1
    net.core.rmem_default = 262144
    net.core.rmem_max = 4194304
    net.core.wmem_default = 262144
    net.core.wmem_max = 1048576
    net.ipv4.conf.all.rp_filter = 2
    net.ipv4.conf.default.rp_filter = 2
    fs.aio-max-nr = 1048576
    net.ipv4.ip_local_port_range = 9000 65500

    文件创建成功后,使用如下命令让配置立即生效:

    # sysctl -p

    9] 配置 SELinux 以及放行防火墙端口

    使用如下命令将 SELinux 设置为”permissive”模式,并放行 Oracle 侦听的 1521 端口:

    # sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/sysconfig/selinux
    # setenforce permissive
    # firewall-cmd --permanent --add-port=1521/tcp
    # firewall-cmd --reload

    10] 创建 Oracle 19c 的工作目录以及数据库目录

    为了成功安装 Oracle 数据库,需要创建如下目录并更改目录属主权限:

    # mkdir -p /u01/app/oracle/product/19.3.0/dbhome_1
    # mkdir -p /u02/oradata
    # chown -R oracle:oinstall /u01 /u02
    # chmod -R 775 /u01 /u02

    我们这里创建了两个目录,其中”/u01″用于存放数据库管理系统软件,而”/u02″用于存放数据库文件。

    11] 配置 Oracle 用户环境变量

    切换到 oracle  用户,变修改该用户的环境变量文件”.bash_profile”:

    # su - oracle
    # vi .bash_profile

    环境变量内容如下:

    # Oracle Settings
    export TMP=/tmp
    export TMPDIR=$TMP
    
    export ORACLE_HOSTNAME=oracle-db-19c
    export ORACLE_UNQNAME=oradb
    export ORACLE_BASE=/u01/app/oracle
    export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/dbhome_1
    export ORA_INVENTORY=/u01/app/oraInventory
    export ORACLE_SID=oradb
    export PDB_NAME=pdb
    export DATA_DIR=/u02/oradata
    export PATH=$ORACLE_HOME/bin:$PATH
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
    export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

    注意环境变量的设置已经包含了 Oracle 数据库的各种基本参数设置,包括”ORACLE_BASE”和”ORACLE_HOME”等,这些设置与之前创建的目录相对应,并且设置了”ORACLE_SID”为”oradb”。

    环境变量设置完成后,使用如下命令让配置生效:

    $ source ~/.bash_profile

    12] 静默安装 Oracle Database 19c 数据库管理系统

    首先从 Oracle 官方网站下载 Oracle Database 19c 的 Linux 版压缩包,下载虽然是免费的,但是需要一个 Oracle 用户帐号,反正注册起来也不麻烦,不妨注册一个,一直有用。

    现在, 我们已经将压缩包下载,并放置在 oracle 用户的家目录,然后解压缩安装包:

    $ unzip LINUX.X64_193000_db_home.zip -d $ORACLE_HOME

    Oracle Database 19c 的安装工具对于识别 CentOS 8 系统存在一些问题,但是我们可以通过设置环境变量加以解决:

    $ export CV_ASSUME_DISTID=RHEL8.0

    最后,进入”ORACLE_HOME”目录进入静默安装:

    $ cd $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

    命令执行完之后,就进入漫长的等待,直到出现如下提示:

    图.3 静默安装 Oracle 19c 数据库

    事实上静默安装同可视化安装达到的效果一致,熟悉响应文件或是安装器的同学可以尝试。看到安装成功的信息后,就根据提示内容切换到 root 用户执行两个初始化脚本,生成数据字典:

    $ su -
    # /u01/app/oraInventory/orainstRoot.sh
    # /u01/app/oracle/product/19.3.0/dbhome_1/root.sh

    13] 使用 dbca 工具静默创建数据库

    创建数据库前首先启动侦听,以便数据库自动注册:

    $ lsnrctl start

    之后,就使用如下命令通过 dbca 工具静默创建数据库:

    dbca -silent -createDatabase 
     -templateName General_Purpose.dbc 
     -gdbname ${ORACLE_SID} -sid  ${ORACLE_SID} 
     -responseFile NO_VALUE 
     -characterSet AL32UTF8 
     -sysPassword 1qazXSW@ 
     -systemPassword 1qazXSW@ 
     -createAsContainerDatabase true 
     -numberOfPDBs 1 
     -pdbName ${PDB_NAME} 
     -pdbAdminPassword 1qazXSW@ 
     -databaseType MULTIPURPOSE 
     -automaticMemoryManagement false 
     -totalMemory 800 
     -storageType FS 
     -datafileDestination "${DATA_DIR}" 
     -redoLogFileSize 50 
     -emConfiguration NONE 
     -ignorePreReqs

    之后同样是漫长的等待,命令的意思就是指定创建数据库的各种选项,可以与可视化安装时的各个步骤相对应。

    数据库创建成功后,会看到如下信息:

    图.4 静默方式创建数据库

    至此,一个名为”oradb”的数据库就创建完成了。

    登录到数据库,查看数据库实例状态,并查看一下侦听状态,确保数据库服务器可用:

    图.5 查看数据库服务器及侦听状态

    以上就是关于CentOS 8 系统安装 Oracle 19c 数据库的全部内容。

    为人:谦逊、激情、博学、审问、慎思、明辨、 笃行
    学问:纸上得来终觉浅,绝知此事要躬行
    为事:工欲善其事,必先利其器。
    态度:道阻且长,行则将至;行而不辍,未来可期
    转载请标注出处!
  • 相关阅读:
    机器学习-数据归一化及哪些算法需要归一化
    目标检测中的mAP
    在Ubuntu内制作自己的VOC数据集
    目标检测算法之YOLOv3
    目标检测算法之YOLOv1与v2
    详谈Windows消息循环机制
    位和字节以及各类编码简述
    C++ 基础知识(一)
    Python 爬取高清桌面壁纸
    WPF 动画执行后属性无法修改
  • 原文地址:https://www.cnblogs.com/ios9/p/15441211.html
Copyright © 2011-2022 走看看