• How to install oracle19c in Centos8


    安装前的准备

    1. Download software pakage

     链接: 百度网盘 请输入提取码 提取码: sexh

    2. 然后上传到服务器。

    用yum安装准备环境配置:

    step1: 在安装之前,建议先更新yum源: yum update -y --nogpgcheck

    [root@MaxwellDBA home]# yum update -y --nogpgcheck

    Install required packages.

    dnf -y install binutils gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libgcc.i686 libstdc++ libstdc++-devel libXi libXtst libnsl make sysstat 

    step2: 安装orale准备环境: yum localinstall oracle-database-preinstall-19c-1.0-1.el8.x86_64.rpm   安装完之后,会自动创建一个用户名是 oracle的dba账号,检查一下有没有安装成功,例如查看一下有没有oracle用户

    [root@MaxwellDBA home]# id oracle
    uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54330(racdba),54322(dba),54323(oper),54324(backupdba),54325(dgdba),54326(kmdba)
    [root@MaxwellDBA home]# 

    Step3 : 因为默认云服务器默认主机名都是一大串数字并不好操作,建议修改一下服务器主机名: vim /etc/hostname 我这里改成 MaxwellDBA(下面会用到该主机名) 同时在 vim /etc/hosts 文件中加上自己的主机名,上面第一个红色框是我云服务器的ip地址。

     

     安装oracle数据库

    yum localinstall oracle-database-ee-19c-1.0-1.x86_64.rpm   安静等待安装完成就行了,大概10分钟,软件路径在/opt 下生成一个oracle文件夹,虽然用的root账号安装,但是装完之后用户属于oracle

     

    [root@MaxwellDBA home]# id oracle
    uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54330(racdba),54322(dba),54323(oper),54324(backupdba),54325(dgdba),54326(kmdba)
    [root@MaxwellDBA home]# yum localinstall oracle-database-ee-19c-1.0-1.x86_64.rpm
    Repository extras is listed more than once in the configuration
    Invalid configuration value: failovermethod=priority in /etc/yum.repos.d/CentOS-epel.repo; Configuration: OptionBinding with id "failovermethod" does not exist
    Last metadata expiration check: 0:22:09 ago on Wed 29 Jun 2022 04:39:05 AM CST.
    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
    Is this ok [y/N]: Y
    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!
    [root@MaxwellDBA home]# 

    三、配置环境变量

    注意:配置的是oracle用户的环境变量,因为以后所有操作都是在oracle用户下操作,并不是root用户

     [root@MaxwellDBA home]# vim /home/oracle/.bash_profile

    1. export ORACLE_HOSTNAME=master-kww --- linux服务器主机名
    2. export ORACLE_UNQNAME=ORCLCDB --- 设置成数据库实例名(根据建立的数据库修改)
    3. export ORACLE_SID=ORCLCDB --- 数据库实例名(根据建立的数据库修改,建议就用这个)
    4. export ORACLE_BASE=/opt/oracle
    5. export ORACLE_HOME=$ORACLE_BASE/product/19c/dbhome_1
    6. export ORACLE_INVENTORY=$ORACLE_BASE/oraInventory
    7. export PATH=$ORACLE_HOME/bin:$PATH
    8. export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
    9. export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 --- sqlplus 操作需要用到的编码,要和数据库编码一致
    10. # 下面三个是为了解决sqlplus下方向键和回退键不能使用的问题,必须安装 rlwrap 后面会提到
    11. alias sqlplus='rlwrap sqlplus'
    12. alias rman='rlwrap rman'
    13. alias ggsci='rlwrap ggsci'

     四、创建数据库

    安装数据库一般有两种方式,图形界面安装(使用dbca)或者静默安装,图形界面安装是不可能了,只能静默安装。 静默安装可以通过 /opt/oracle/product/19c/dbhome_1/assistants/dbca/dbca.rsp 配置安装,也可以用19c提供的 默认配置创建,下面介绍用默认配置的方式创建。 在root用户下运行: /etc/init.d/oracledb_ORCLCDB-19c configure       --- 会创建一个实例名为ORCLCDB的容器数据库( 所以上面第三步配置项用ORCLCDB做实例名),还有有一个ORCLPDB1的可插拔数据库。

    1. [root@MaxwellDBA ~]# cd /etc/init.d
    2. [root@MaxwellDBA init.d]# ls
    3. functions oracle-database-preinstall-19c-firstboot oracledb_ORCLCDB-19c README
    4. [root@MaxwellDBA init.d]# ./oracledb_ORCLCDB-19c configure
    5. Configuring Oracle Database ORCLCDB.
    6. Prepare for db operation
    7. 8% complete
    8. Copying database files
    9. 31% complete
    10. Creating and starting Oracle instance
    11. 32% complete
    12. 36% complete
    13. 40% complete
    14. 43% complete
    15. 46% complete
    16. Completing Database Creation
    17. 51% complete
    18. 54% complete
    19. Creating Pluggable Databases
    20. 58% complete
    21. 77% complete
    22. Executing Post Configuration Actions
    23. 100% complete
    24. Database creation complete. For details check the logfiles at:
    25. /opt/oracle/cfgtoollogs/dbca/ORCLCDB.
    26. Database Information:
    27. Global Database Name:ORCLCDB
    28. System Identifier(SID):ORCLCDB
    29. Look at the log file "/opt/oracle/cfgtoollogs/dbca/ORCLCDB/ORCLCDB1.log" for further details.
    30. Database configuration completed successfully. The passwords were auto generated, you must change them by connecting to the database using 'sqlplus / as sysdba' as the oracle user.
    31. [root@MaxwellDBA init.d]#

    [oracle@MaxwellDBA ~]$ lsnrctl status

    LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 29-JUN-2022 05:54:22

    Copyright (c) 1991, 2019, Oracle.  All rights reserved.

    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=MaxwellDBA)(PORT=1521)))
    STATUS of the LISTENER
    ------------------------
    Alias                     LISTENER
    Version                   TNSLSNR for Linux: Version 19.0.0.0.0 - Production
    Start Date                29-JUN-2022 05:28:17
    Uptime                    0 days 0 hr. 26 min. 5 sec
    Trace Level               off
    Security                  ON: Local OS Authentication
    SNMP                      OFF
    Listener Parameter File   /opt/oracle/product/19c/dbhome_1/network/admin/listener.ora
    Listener Log File         /opt/oracle/diag/tnslsnr/MaxwellDBA/listener/alert/log.xml
    Listening Endpoints Summary...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=MaxwellDBA)(PORT=1521)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=MaxwellDBA)(PORT=5500))(Security=(my_wallet_directory=/opt/oracle/admin/ORCLCDB/xdb_wallet))(Presentation=HTTP)(Session=RAW))
    Services Summary...
    Service "ORCLCDB" has 1 instance(s).
      Instance "ORCLCDB", status READY, has 1 handler(s) for this service...
    Service "ORCLCDBXDB" has 1 instance(s).
      Instance "ORCLCDB", status READY, has 1 handler(s) for this service...
    Service "e28a0ec2d1cca96de053b1051aac3df7" has 1 instance(s).
      Instance "ORCLCDB", status READY, has 1 handler(s) for this service...
    Service "orclpdb1" has 1 instance(s).
      Instance "ORCLCDB", status READY, has 1 handler(s) for this service...
    The command completed successfully
    [oracle@MaxwellDBA ~]$ 

     五、centos8安装注意事项:

    1、安装完之后,命令窗口sqlplus输入方向键和回退键会变成乱码,需要安装 rlwrap-0.43-5.el8.x86_64.rpm (在上面的网盘里有此文件) 命令: yum localinstall rlwrap-0.43-5.el8.x86_64.rpm 上面第三步修改的配置文件,最后面三个别名配置项就是安装这个之后配置上去的。  

    1. [root@MaxwellDBA home]# yum localinstall rlwrap-0.43-5.el8.x86_64.rpm
    2. Repository extras is listed more than once in the configuration
    3. Invalid configuration value: failovermethod=priority in /etc/yum.repos.d/CentOS-epel.repo; Configuration: OptionBinding with id "failovermethod" does not exist
    4. Last metadata expiration check: 1:19:33 ago on Wed 29 Jun 2022 04:39:05 AM CST.
    5. Dependencies resolved.
    6. ===============================================================================================================================================================================================================
    7.  Package                                        Architecture                                   Version                                              Repository                                            Size
    8. ===============================================================================================================================================================================================================
    9. Installing:
    10.  rlwrap                                         x86_64                                         0.43-5.el8                                           @commandline                                         123 k
    11. Transaction Summary
    12. ===============================================================================================================================================================================================================
    13. Install  1 Package
    14. Total size: 123 k
    15. Installed size: 324 k
    16. Is this ok [y/N]: y
    17. Downloading Packages:
    18. Running transaction check
    19. Transaction check succeeded.
    20. Running transaction test
    21. Transaction test succeeded.
    22. Running transaction
    23.   Preparing        :                                                                                                                                                                                       1/1 
    24.   Installing       : rlwrap-0.43-5.el8.x86_64                                                                                                                                                              1/1 
    25.   Running scriptlet: rlwrap-0.43-5.el8.x86_64                                                                                                                                                              1/1 
    26.   Verifying        : rlwrap-0.43-5.el8.x86_64                                                                                                                                                              1/1 
    27. Installed:
    28.   rlwrap-0.43-5.el8.x86_64                                                                                                                                                                                     
    29. Complete!
    30. [root@MaxwellDBA home]# 

    2、sql查询出来的数据中文时显示乱码 上面 第三步操作中配置文件  NLS_LANG 要根据数据库编码配置,可以通过语句查询:select userenv('language') from dual; 

     

     3、数据库用户密码有效期默认是180天,建议改成无限期 -- 查询数据库用户密码有效期,可以看到默认是180天 SELECT  * FROM dba_profiles s Where s.profile = 'DEFAULT' AND resource_name = 'PASSWORD_LIFE_TIME' -- 修改为永不过期 ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED ;  

     

    1. SQL> set pagesize 200
    2. SQL> set line 200
    3. SQL> SELECT * FROM dba_profiles s Where s.profile = 'DEFAULT' AND resource_name = 'PASSWORD_LIFE_TIME';
    4. PROFILE RESOURCE_NAME RESOURCE
    5. -------------------------------------------------------------------------------------------------------------------------------- -------------------------------- --------
    6. LIMIT COM INH IMP
    7. -------------------------------------------------------------------------------------------------------------------------------- --- --- ---
    8. DEFAULT PASSWORD_LIFE_TIME PASSWORD
    9. 180 NO NO NO
    10. SQL> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED ;
    11. Profile altered.
    12. SQL> SELECT * FROM dba_profiles s Where s.profile = 'DEFAULT' AND resource_name = 'PASSWORD_LIFE_TIME';
    13. PROFILE RESOURCE_NAME RESOURCE
    14. -------------------------------------------------------------------------------------------------------------------------------- -------------------------------- --------
    15. LIMIT COM INH IMP
    16. -------------------------------------------------------------------------------------------------------------------------------- --- --- ---
    17. DEFAULT PASSWORD_LIFE_TIME PASSWORD
    18. UNLIMITED NO NO NO
    19. SQL>

    4、如果centos8开了防火墙,还需要关闭防火墙或添加监听端口,添加端口如下: firewall-cmd --zone=public --permanent --add-port=1521/tcp firewall-cmd --zone=public --permanent --add-port=5500/tcp

    六、重启服务器后自启动数据库(可选)

    1、 oracle用户操作,修改文件: vim /etc/oratab 最后一行,把: ORCLCDB:/opt/oracle/product/19c/dbhome_1: N    改为:ORCLCDB:/opt/oracle/product/19c/dbhome_1: Y

    2、 root用户操作,修改centos系统启动脚本: vim /etc/rc.d/rc.local 在最后加入以下两行: 启动监听:su oracle -lc "/opt/oracle/product/19c/dbhome_1/bin/lsnrctl start"        这句要加引号是因为“lsnrctl start”之间有空格 启动数据库:su oracle -lc /opt/oracle/product/19c/dbhome_1/bin/dbstart

  • 相关阅读:
    替代MySQL半同步复制,Meta技术团队推出MySQL Raft共识引擎
    面试打底稿③ 专业技能的第三部分
    C陷阱:数组越界遍历,不报错却出现死循环?从内存解析角度看数组与局部变量之“爱恨纠葛”
    常用数据结构剖析
    【知识网络分析】研究者合作网络(co-investigator)
    java计算机毕业设计小区车辆管理系统源码+数据库+系统+lw文档+mybatis+运行部署
    【运维】Ubuntu换硬盘扩容
    容器技术 — Docker 容器引擎运行原理解析与实践
    HTML5七夕情人节表白网页制作【新年倒计时白色雪花飘落】HTML+CSS+JavaScript CSS特效
    产品经理技术脑:MySQL
  • 原文地址:https://blog.csdn.net/u011868279/article/details/125513000