暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Cenos8.1下Oracle19c的RPM方式安装

南山笔记 2021-05-13
1019

Oracle公司自18c版本提供了基于RPM的安装方式,简化了以往较为复杂的安装过程。假期在家进行了体验,主要的过程包括以下:

1下载必备的文件

2主机环境的准备,包括主机名、用户等;

3软件安装

4创建数据库

5安装后调整

6小结

 

1下载必备的文件:

下载预安装包:

https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm

比较奇怪的直接在是官方下载文件中未提供该包。

 

下载oracle19c的完整安装包:

https://www.oracle.com/webapps/redirect/signon?nexturl=https://download.oracle.com/otn/linux/oracle19c/190000/oracle-database-ee-19c-1.0-1.x86_64.rpm


2主机环境的准备:

2.1官方文档要求:

Creates an oracleuser, and creates the oraInventory (oinstall) and OSDBA (dba) groups for thatuser

Sets hard and softresource limits

Sets numa=off in thekernel for Linux x86_64 machines.

其中系统参数无需设置,由preinstall自动调整。

 

2.2修改hosts文件/etc/hosts

hosts文件中必须包含主机的全名:

<IP-address>  <fully-qualified-machine-name>  <machine-name>

 

2.3创建dba组和oracle用户

groupadd  dba

useradd  -g dba -m dba

 

2.4系统设置

主要是对oracle用户的进程数和打开文件数进行设置,操作系统参数已不需要手工设置,执行预安装脚本会自动设置。

    vi etc/security/limits.conf
    oracle             soft    nproc   8192
    oracle             hard    nproc   16384
    oracle             soft    nofile  8192
    oracle             hard    nofile  65536


    3软件安装:

    注:针对centos8.1,需要事先安装以下包:

    compat-libcap1

    compat-libstdc++-33

    libnsl

     

    3.1 预安装

    下载oracle19c的预安装包,数据库官方下载地址未提供该文件,需要单独下载。

    curl -o oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm

    https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm

     

    执行预安装操作:

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


      预安装完成后,检查系统参数设置/etc/sysctl.conf,其中oracle安装需设置的参数已经配置完毕!部分内容如下:

        #oracle-database-preinstall-19c setting for fs.file-max is 6815744
        fs.file-max =6815744
        #oracle-database-preinstall-19c setting for kernel.sem is '250 32000 100 128'
        kernel.sem = 250 32000 100 128
        #oracle-database-preinstall-19c setting for kernel.shmmni is 4096
        kernel.shmmni = 4096
        #oracle-database-preinstall-19c setting for kernel.shmall is 1073741824 on x86_64
        kernel.shmall =1073741824
        #oracle-database-preinstall-19c setting for kernel.shmmax is 4398046511104 onx86_64
        kernel.shmmax =4398046511104
        ....


        3.2正式安装

        root用户执行,以往oracle软件安装默认是以oracle用户来安装,这和以往不同。

        yum -y localinstall oracle-database-ee-19c-1.0-1.x86_64.rpm


        若以oracle用户执行,报以下错误:

        [oracle@sirius tmp]$ yum -y localinstall oracle-database-ee-19c-1.0-1.x86_64.rpm

        Error: This command has to be run under the root user. 


        出现以下信息,表示安装成功。

          Last metadata expiration check: 0:05:22 ago on Sun 26 Jan 2020 02:48:39 AM EST.
          Dependencies resolved.
          ===========================================================================================================================================================
          Package Architecture Version Repository Size
          ===========================================================================================================================================================
          Installing:
          oracle-database-ee-19c x86_64 1.0-1 @commandline 2.5 G


          Transaction Summary
          ===========================================================================================================================================================
          Install 1 Package


          Total size: 2.5 G
          Installed size: 6.9 G
          Downloading Packages:
          Running transaction check
          Transaction check succeeded.
          Running transaction test
          Transaction test succeeded.
          Running transaction
          Preparing : 1/1
          Running scriptlet: oracle-database-ee-19c-1.0-1.x86_64 1/1
          Installing : oracle-database-ee-19c-1.0-1.x86_64 1/1
          Running scriptlet: oracle-database-ee-19c-1.0-1.x86_64 1/1
          [INFO] Executing post installation scripts...
          [INFO] Oracle home installed successfully and ready to be configured.
          To configure a sample Oracle Database you can execute the following service configuration script as root:
          /etc/init.d/oracledb_ORCLCDB-19c configure
            Verifying        : oracle-database-ee-19c-1.0-1.x86_64                                                                                                    1/1 
          Installed:
          oracle-database-ee-19c-1.0-1.x86_64
          Complete!


          4创建数据库

          可以使用以root执行下述命令创建数据库,这种创建方式是复制了oracle提供的模板库,也可以使用传统的方式dbca的方式进行数据库的创建。

          /etc/init.d/oracledb_ORCLCDB-19cconfigure

           

          执行前,可以修改其中的配置,本次创建前修改了数据库的字符集和取消了容器数据库的配置,如下: 

            vi etc/init.d/oracledb_ORCLCDB-19czhey
            export CHARSET=ZHS16GBK
            export CREATE_AS_CDB=false

            开始创建数据库:

            ./oracledb_ORCLDB-19c configure

              [root@siriusinit.d]# ./oracledb_ORCLDB-19c configure
              Configuring OracleDatabase ORCLCDB.
              Prepare for dboperation
              10% complete
              Copying databasefiles
              40% complete
              Creating andstarting Oracle instance
              ...
              Completing DatabaseCreation
              ...
              Executing PostConfiguration Actions
              100% complete
              Database creationcomplete. For details check the logfiles at:
              opt/oracle/cfgtoollogs/dbca/ORCLCDB.
              DatabaseInformation:
              Global DatabaseName:ORCLCDB
              SystemIdentifier(SID):ORCLCDB
              Look at the log file"/opt/oracle/cfgtoollogs/dbca/ORCLCDB/ORCLCDB.log" for furtherdetails.
              Databaseconfiguration completed successfully. The passwords were auto generated,
              you must change themby connecting to the database using 'sqlplus as sysdba' as the oracle user.


              5安装后调整

              5.1 在正式使用前,需要修改oracle用户的.bash_profile,增加相关的配置和环境变量,以下为手工添加:

                export ORACLE_BASE=/opt/oracle
                export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1
                export ORACLE_SID=ORCLCDB
                export LANG=en_US.UTF-8
                #exportLANG=zh_CN.gb18030
                export NLS_LANG=american_america.ZHS16GBK
                export PATH=$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_HOME/bin

                 

                5.2检查监听器和TNSNAME配置,下述的配置,由oracledb_ORCLDB-19c自动完成配置:

                cd $ORACLE_HOME/network/admin

                [oracle@siriusadmin]$ cat listener.ora

                  LISTENER =
                  (DESCRIPTION_LIST =
                  (DESCRIPTION =
                  (ADDRESS = (PROTOCOL = TCP)(HOST =sirius)(PORT = 1521))
                  (ADDRESS = (PROTOCOL = IPC)(KEY =EXTPROC1521))
                  )
                  )

                   [oracle@siriusadmin]$ cat tnsnames.ora

                    ORCLCDB =
                    (DESCRIPTION =
                    (ADDRESS = (PROTOCOL = TCP)(HOST =sirius)(PORT = 1521))
                    (CONNECT_DATA =
                    (SERVER = DEDICATED)
                    (SERVICE_NAME = ORCLCDB)
                    )
                    )
                    LISTENER_ORCLCDB =
                    (ADDRESS = (PROTOCOL = TCP)(HOST =sirius)(PORT = 1521))

                     5.3连接数据库,修改SYS/SYSTEM/DBSNMP用户的口令,锁定不需要使用的用户。


                    6总结:

                    基于RPM的安装方式极大的简化了Oracle数据库的安装过程,取消了大部分系统安装前的检查和配置工作,降低了安装和配置的门槛。

                    但是也有以下的局限性:

                    安装目录的选择,目前限制在/opt/oracle/product/19c/dbhome_1;

                    只支持一次性安装,不支持后续升级操作;

                    未同下载包一并提供安装手册,部分依赖包需提前安装,否则导致实际安装时出现失败;

                    安装过程的不可配置,而一般公司都会有标准配置,不适用于生产环境。


                    总的说来,建议RPM的安装方式现阶段还只用于个人环境使用,期待Oracle公司的继续完善。


                    参考:

                    https://docs.oracle.com/en/database/oracle/oracle-database/19/ladbi/removing-rpm-based-database-installation.html#GUID-7F7AECE2-16D5-433A-95BD-972B97955BF7

                    https://zhuanlan.zhihu.com/p/83927331

                    文章转载自南山笔记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                    评论