• RPM包方式安装Oracle21c的方法


    RPM包方式安装Oracle21c的方法


    前言


    • 北京时间2021.8.14 Oracle发布了最新的数据库版本Oracle21c, Oracle规划不再发布Oracle20c和Oracle22c, 直接进发布Oracle21c和oracle23c, 其中Oracle21c 没有扩展支持, 支持时间应该不会到2024年,预计使用的客户不会很多.
    • 但是oracle21c的改进事项还是很多的包括了native的block chain 以及 json和javascript的支持.
    • 这里面参考一下云和恩墨的路线图来进行说明, 感谢云和恩墨老师的知识资料
    • 注意oracle将非长期支持的版本命名为创新版本
      image

    1. 环境准备.


    • 本次安装遇到了一个深坑,CentOS8.0安装时很多不兼容性,强行安装也失败了,提示缺少部分java方式,所以没办法,换用的Oracle Enterprise Linux 8.4 安装很顺畅,一个半小时就完成相应的工作了.
    Oracle官网下载OEL最新版本.
    建议可以讲环境安装的全面一点可以节约很多时间,剩下获取新的包了.
    安装好操作系统备用.
    
    Oracle官网下载rpm包, 注意需要选择下载el8的不能选择el7的. 
    
    https://download.oracle.com/otn/linux/oracle21c/oracle-database-ee-21c-1.0-1.ol8.x86_64.rpm?AuthParam=1629176797_ffffc61959e496fcaf6ca82b0509e16e
    https://yum.oracle.com/repo/OracleLinux/OL8/appstream/x86_64/getPackage/oracle-database-preinstall-21c-1.0-1.el8.x86_64.rpm
    
    注意一个是 oracle本体包,一个是Oracle的preinstall的包,安装的话非常简单. 
    

    2. rpm安装.


    • 首先安装preinstall
      yun localinstall oracle-database-preinstall-21c-1.0-1.el8.x86_64.rpm

    • 再进行安装ee数据库的安装
      yum localinstall oracle-database-ee-21c-1.0-1.ol8.x86_64.rpm

    • 注意事项:

    1. 机器需要能够上网,需要能够下载依赖的包
    2. 存储空间要足够,避免文件加载失败.
    

    3. 数据库初始化


    • Oracle的21c与之前的版本完全一致,没有特别的修改,需要设置基本上相同的配置文件即可
    3.1 修改初始化脚本, 注意需要修改为自己定义的服务名以及字符集等.
    vim /etc/init.d/oracledb_ORCLCDB-21c 
    将内容修改为如下:
    export ORACLE_HOME=/opt/oracle/product/21c/dbhome_1
    export ORACLE_SID=ORA21C
    export TEMPLATE_NAME=General_Purpose.dbc
    export CHARSET=ZHS16GBK
    export PDB_NAME=ORA21CPDB
    export LISTENER_NAME=LISTENER
    export NUMBER_OF_PDBS=1
    export CREATE_AS_CDB=true
    3.2 因为修改了自定义的服务名,所以需要复制一个配置文件.
    scp /etc/sysconfig/oracledb_ORCLCDB-21c.conf /etc/sysconfig/oracledb_ORA21C-21c.conf 
    3.3 执行数据库初始化的脚本
    /etc/init.d/oracledb_ORCLCDB-21c configure
    # 注意这一步可能耗时比较久一些,需要等待执行成功
    # CentOS8 就是这个地方报错,造成后续失败了. 
    3.4 修改环境变量,使之能够登录数据库,以及设置NLS_LANG,打开sqlplus可以正常显示中文信息.
    vim /etc/profile.d/oracle21c.sh
    export  ORACLE_HOME=/opt/oracle/product/21c/dbhome_1
    export  PATH=$PATH:/opt/oracle/product/21c/dbhome_1/bin
    export  ORACLE_SID=ORA21C
    export NLS_LANG='SIMPLIFIED CHINESE_CHINA.AL32UTF8'
    保存并且切换用户就会生效.
    3.5 登录数据库并且修改oracle系统管理员密码
    passwd oracle
    su - oracle
    sqlplus / as sysdba
    alter user system identified by yournewpassword ;
    3.6 注意需要添加一个存储过程,能够在开机时自动将pdb打开
    CREATE TRIGGER open_all_pdbs
       AFTER STARTUP ON DATABASE
    BEGIN
       EXECUTE IMMEDIATE 'alter pluggable database all open';
    END open_all_pdbs;
    /
    

    4. 设置开机自动启动


    • 设置开机自动启动能够节约很多时间.
    4.1 修改配置文件
    vim /etc/oratab
    # 注意将N 修改为 Y
    ORA21C:/opt/oracle/product/21c/dbhome_1:Y
    4.2 设置启动脚本
    vim /usr/bin/oracle.sh
    #添加内容如下
    #! /bin/bash
    #  script  For oracle19c.service
    /opt/oracle/product/21c/dbhome_1/bin/lsnrctl start
    /opt/oracle/product/21c/dbhome_1/bin/dbstart /opt/oracle/product/19c/dbhome_1
    4.3 设置可执行权限
    chmod 777 /usr/bin/oracle.sh
    4.4 设置一个服务,并且设置为开机自动启动
    vim /etc/systemd/system/oracle21c.service
    # 添加如下内容
    
    [Unit]
    Description=Oracle21c
    After=syslog.target network.target
    
    [Service]
    LimitMEMLOCK=infinity
    LimitNOFILE=65535
    Type=oneshot
    RemainAfterExit=yes
    User=oracle
    Environment="ORACLE_HOME=/opt/oracle/product/21c/dbhome_1"
    ExecStart=/usr/bin/oracle.sh
    
    [Install]
    WantedBy=multi-user.target
    
    # 设置开机启动
    systemctl enable oracle21c
    4.5 重启机器进行验证.服务可以使用. 
    

    5. 修改sqlplus 避免退格键不好用.

    • 这一步比较简单了.
    下载个 rlwrap的包我这边下载的是
    rlwrap-0.43-5.el8.x86_64.rpm
    放置到机器上面执行
    yum localinstall rlwrap-0.43-5.el8.x86_64.rpm
    
    修改 之前的环境变量,添加一个别名
    alias sqlplus='rlwrap sqlplus'
    # 注意等号前后不能有空格.
    

    6. 验证一下版本


    • 结果界面如下
      image
  • 相关阅读:
    算法--将Excel列索引转换成默认标识
    Java参考资料-中文API
    java编程规范
    POI-根据Cell获取对应的String类型值
    将Excel中读取的科学计数法表示的Double数据转换为对应的字符串
    Android进程间通信之LocalSocket通信
    Android进程间通信之socket通信
    android用讯飞实现TTS语音合成 实现中文版
    Android Junit测试框架
    java interface的两个经典用法
  • 原文地址:https://www.cnblogs.com/jinanxiaolaohu/p/15160954.html
Copyright © 2020-2023  润新知