1. 程式人生 > 其它 >CentOS7 Oracle19c rpm安裝

CentOS7 Oracle19c rpm安裝

軟體 下載地址
CentOS-7-x86_64-Minimal-2009.iso http://mirrors.163.com/centos/7.9.2009/isos/x86_64/CentOS-7-x86_64-Minimal-2009.iso
oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm https://www.aliyundrive.com/s/F9ziMB6nPbp
oracle-database-ee-19c-1.0-1.x86_64.rpm https://www.aliyundrive.com/s/E6m5e8CCGq2

一. 環境配置

​ 虛擬機器安裝建議分2G記憶體,30G硬碟。

  1. 關閉防火牆(或放行相關埠)

    systemctl stop firewalld
    systemctl disable firewalld
    
  2. 關閉selinux

    • 修改SELINUX=disabled

      vi /etc/selinux/config
      
      # This file controls the state of SELinux on the system.
      # SELINUX= can take one of these three values:
      #     enforcing - SELinux security policy is enforced.
      #     permissive - SELinux prints warnings instead of enforcing.
      #     disabled - No SELinux policy is loaded.
      SELINUX=disabled
      # SELINUXTYPE= can take one of three values:
      #     targeted - Targeted processes are protected,
      #     minimum - Modification of targeted policy. Only selected processes are protected.
      #     mls - Multi Level Security protection.
      SELINUXTYPE=targeted
      
    • 重啟

      reboot
      
  3. oracle-database-ee-19c-1.0-1.x86_64.rpmoracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm上傳到/opt

二. 依賴安裝

  1. 安裝oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm

    yum -y localinstall /opt/oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm
    

三. 安裝配置Oracle 19c

  1. 安裝Oracle 19c

    yum -y localinstall /opt/oracle-database-ee-19c-1.0-1.x86_64.rpm
    
  2. 初始化Oracle資料庫(時間較長)

    /etc/init.d/oracledb_ORCLCDB-19c configure
    
  3. 配置環境變數

    • 卻換到oracle使用者

      su - oracle
      
    • 新增環境變數

      vi /home/oracle/.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
      
      export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1
      export PATH=$PATH:/opt/oracle/product/19c/dbhome_1/bin
      export ORACLE_SID=ORCLCDB
      
    • 使環境變數生效

      source /home/oracle/.bash_profile
      
  4. 登陸資料庫

    sqlplus / as sysdba
    
  5. 修改system密碼為123456

    alter user system identified by 123456;
    
  6. 退出資料庫

    exit;
    

四. 設定資料庫監聽自啟動

  1. 修改/etc/oratab檔案NY

    vi /etc/oratab
    
    # This file is used by ORACLE utilities.  It is created by root.sh
    # and updated by either Database Configuration Assistant while creating
    # a database or ASM Configuration Assistant while creating ASM instance.
    
    # A colon, ':', is used as the field terminator.  A new line terminates
    # the entry.  Lines beginning with a pound sign, '#', are comments.
    #
    # Entries are of the form:
    #   $ORACLE_SID:$ORACLE_HOME:<N|Y>:
    #
    # The first and second fields are the system identifier and home
    # directory of the database respectively.  The third field indicates
    # to the dbstart utility that the database should , "Y", or should not,
    # "N", be brought up at system boot time.
    #
    # Multiple entries with the same $ORACLE_SID are not allowed.
    #
    #
    ORCLCDB:/opt/oracle/product/19c/dbhome_1:Y
    
  2. /etc/rc.local中新增需執行的命令

    su root # 卻換為root使用者
    vi /etc/rc.local
    
    #!/bin/bash
    # THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
    #
    # It is highly advisable to create own systemd services or udev rules
    # to run scripts during boot instead of using this file.
    #
    # In contrast to previous versions due to parallel execution during boot
    # this script will NOT be run after all other services.
    #
    # Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
    # that this script will be executed during boot.
    
    touch /var/lock/subsys/local
    
    su - oracle -c 'lsnrctl start'
    su - oracle -c 'dbstart'
    
  3. 修改$ORACLE_HOME/bin/dbstart檔案,修改ORACLE_HOME_LISTNER=$ORACLE_HOME

    vi $ORACLE_HOME/bin/dbstart
    

    $ORACLE_HOME/bin/dbstart 檔案區域性

    ...
    #####################################
    
    LOGMSG="logger -puser.alert -s "
    
    trap 'exit' 1 2 3
    
    # for script tracing
    case $ORACLE_TRACE in
      T) set -x ;;
    esac
    
    # Set path if path not set (if called from /etc/rc)
    SAVE_PATH=/bin:/usr/bin:/etc:${PATH} ; export PATH
    SAVE_LLP=$LD_LIBRARY_PATH
    
    # First argument is used to bring up Oracle Net Listener
    ORACLE_HOME_LISTNER=$ORACLE_HOME
    if [ ! $ORACLE_HOME_LISTNER ]; then
      echo "Since ORACLE_HOME is not set, cannot auto-start Oracle Net Listener."
      echo "Usage: $0 ORACLE_HOME"
    else
    ...
    
  4. 設定CentOS7,8開機執行/etc/rc.local檔案(CentOS7,8開機不執行/etc/rc.local檔案)

    • /etc/rc.d/rc.local 新增 可執行許可權

      chmod a+x /etc/rc.d/rc.local 
      
    • 將 rc-local 服務設定成開機啟動(預設狀態是 static,會被其他service服務呼叫執行。不過還是修改一下,以防那個服務被停用就牽連了)

      systemctl enable rc-local
      
    • 重啟,用sqldeveloper連結,驗證是否成功

      reboot
      
    • 刪除/optoracle-database-ee-19c-1.0-1.x86_64.rpmoracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm

      rm /opt/oracle-database-ee-19c-1.0-1.x86_64.rpm /opt/oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm