• 在Ferora35中安装oracle-database-xe-21c


    在Ferora35中安装oracle-database-xe-21c

    安装准备文件

    使用root用户,来安装oracle-database-preinstall-21c-1.0-1.el8.x86_64.rpm

    [root@fedora Downloads]# rpm -ivh oracle-database-preinstall-21c-1.0-1.el8.x86_64.rpm
    警告:oracle-database-preinstall-21c-1.0-1.el8.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID ad986da3: NOKEY
    错误:依赖检测失败:
            compat-openssl10 被 oracle-database-preinstall-21c-1.0-1.el8.x86_64 需要
            ksh 被 oracle-database-preinstall-21c-1.0-1.el8.x86_64 需要
            libnsl 被 oracle-database-preinstall-21c-1.0-1.el8.x86_64 需要
            smartmontools 被 oracle-database-preinstall-21c-1.0-1.el8.x86_64 需要
            sysstat 被 oracle-database-preinstall-21c-1.0-1.el8.x86_64 需要
            xorg-x11-utils 被 oracle-database-preinstall-21c-1.0-1.el8.x86_64 需要
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    提示缺少了各种库,然后一个一个去安装他。安装这些库有两个办法。
    1、如果这些库使用dnf可以找到并安装,那就比较方便
    2、如果这些库在dnf中找不到,从 https://pkgs.org/ 搜索并下载,然后使用sftp将文件传输到fedora中,然后并安装。如果安装这些库的时候,会提示库找不见,那就参照这两个办法,使用递归的方式去安装他们。

    [root@fedora Downloads]# rpm -ivh compat-openssl10-1.0.2o-4.el8.x86_64.rpm
    [root@fedora Downloads]# rpm -ivh xorg-x11-utils-7.5-28.el8.x86_64.rpm
    警告:xorg-x11-utils-7.5-28.el8.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID 8483c65d: NOKEY
    错误:依赖检测失败:
            libXxf86dga.so.1()(64bit) 被 xorg-x11-utils-7.5-28.el8.x86_64 需要
            libXxf86misc.so.1()(64bit) 被 xorg-x11-utils-7.5-28.el8.x86_64 需要
            libdmx.so.1()(64bit) 被 xorg-x11-utils-7.5-28.el8.x86_64 需要
    [root@fedora Downloads]# dnf install -y libXxf86dga libXxf86misc libdmx
    [root@fedora Downloads]# rpm -ivh xorg-x11-utils-7.5-28.el8.x86_64.rpm
    [root@fedora Downloads]# dnf install -y ksh
    [root@fedora Downloads]# dnf install -y libnsl
    [root@fedora Downloads]# dnf install -y smartmontools
    [root@fedora Downloads]# dnf install -y sysstat
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    运气还不错,很快就安装完了。

    安装数据库软件

    下面才是真正安装oracle-database-preinstall-21c-1.0-1.el8.x86_64.rpm和oracle-database-xe-21c-1.0-1.ol8.x86_64.rpm

    [root@fedora Downloads]# rpm -ivh oracle-database-preinstall-21c-1.0-1.el8.x86_64.rpm
    [root@fedora Downloads]# rpm -ivh oracle-database-xe-21c-1.0-1.ol8.x86_64.rpm
    警告:oracle-database-xe-21c-1.0-1.ol8.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID ad986da3: NOKEY
    Verifying...                          ################################# [100%]
    准备中...                          ################################# [100%]
    正在升级/安装...
       1:oracle-database-xe-21c-1.0-1     ################################# [100%]
    [INFO] Executing post installation scripts...
    [INFO] Oracle home installed successfully and ready to be configured.
    To configure Oracle Database XE, optionally modify the parameters in '/etc/sysconfig/oracle-xe-21c.conf' and then execute '/etc/init.d/oracle-xe-21c configure' as root.
    [root@fedora Downloads]#
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    创建数据库

    根据上述提示,修改 /etc/sysconfig/oracle-xe-21c.conf 的内容,设置端口号为1521

    以下是执行“/etc/init.d/oracle-xe-21c configure”的提示
    设置的密码为 baby1234

    [root@fedora Downloads]# /etc/init.d/oracle-xe-21c configure
    Specify a password to be used for database accounts. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9]. Note that the same password will be used for SYS, SYSTEM and PDBADMIN accounts:
    Confirm the password:
    Configuring Oracle Listener.
    Listener configuration succeeded.
    Configuring Oracle Database XE.
    输入 SYS 用户口令:
    *********
    输入 SYSTEM 用户口令:
    ********
    输入 PDBADMIN 用户口令:
    ********
    准备执行数据库操作
    已完成 7%
    复制数据库文件
    已完成 29%
    正在创建并启动 Oracle 实例
    已完成 30%
    已完成 33%
    已完成 37%
    已完成 40%
    已完成 43%
    正在进行数据库创建
    已完成 47%
    已完成 50%
    正在创建插接式数据库
    已完成 54%
    已完成 71%
    执行配置后操作
    已完成 93%
    正在运行定制脚本
    已完成 100%
    数据库创建完成。有关详细信息, 请查看以下位置的日志文件:
     /opt/oracle/cfgtoollogs/dbca/XE。
    数据库信息:
    全局数据库名:XE
    系统标识符 (SID):XE
    有关详细信息, 请参阅日志文件 "/opt/oracle/cfgtoollogs/dbca/XE/XE.log"。
    
    Connect to Oracle Database using one of the connect strings:
         Pluggable database: fedora/XEPDB1
         Multitenant container database: fedora
    Use https://localhost:5500/em to access Oracle Enterprise Manager for Oracle Database XE
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43

    此时,oracle数据库服务器已经在运行了。
    [root@fedora Downloads]# ps -ef | grep oracle

    设置oracle的环境变量

    更新一下文件系统数据库,便于找文件

    [root@fedora Downloads]# updatedb
    [root@fedora Downloads]# su - oracle
    [oracle@fedora ~]$ locate tnsnames.ora
    /opt/oracle/homes/OraDBHome21cXE/network/admin/tnsnames.ora
    /opt/oracle/product/21c/dbhomeXE/hs/admin/tnsnames.ora.sample
    /opt/oracle/product/21c/dbhomeXE/inventory/Templates/hs/admin/tnsnames.ora.sample
    /opt/oracle/product/21c/dbhomeXE/network/admin/samples/tnsnames.ora
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    确定第一个是真正的tns配置文件。

    [oracle@fedora dbhomeXE]$ vi ~/.bash_profile
    
    export ORACLE_BASE=/opt/oracle
    export ORACLE_HOME=$ORACLE_BASE/product/21c/dbhomeXE
    ORACLE_SID=XE; export ORACLE_SID
    export TNS_ADMIN=$ORACLE_BASE/homes/OraDBHome21cXE/network/admin
    LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
    CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
    
    export PATH=${PATH}:$ORACLE_HOME/bin
    
    
    [oracle@fedora dbhomeXE]$ . ~/.bash_profile
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    验证登录数据库

    [oracle@fedora ~]$ sqlplus system/baby1234@xe
    [oracle@fedora ~]$ sqlplus sys/baby1234@xe as sysdba
    
    SQL*Plus: Release 21.0.0.0.0 - Production on Fri Jul 29 11:10:45 2022
    Version 21.3.0.0.0
    
    Copyright (c) 1982, 2021, Oracle.  All rights reserved.
    
    
    ???:
    Oracle Database 21c Express Edition Release 21.0.0.0.0 - Production
    Version 21.3.0.0.0
    
    SQL> exit
    ? Oracle Database 21c Express Edition Release 21.0.0.0.0 - Production
    Version 21.3.0.0.0 ??
    [oracle@fedora ~]$
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    关闭数据库和监听服务

    [oracle@fedora ~]$ sqlplus / as sysdba
    
    SQL*Plus: Release 21.0.0.0.0 - Production on Fri Jul 29 11:13:39 2022
    Version 21.3.0.0.0
    
    Copyright (c) 1982, 2021, Oracle.  All rights reserved.
    
    
    ???:
    Oracle Database 21c Express Edition Release 21.0.0.0.0 - Production
    Version 21.3.0.0.0
    
    SQL> shutdown immediate
    ????????
    ????????
    ORACLE ???????
    SQL> exit
    ? Oracle Database 21c Express Edition Release 21.0.0.0.0 - Production
    Version 21.3.0.0.0 ??
    [oracle@fedora ~]$ lsnrctl stop
    
    LSNRCTL for Linux: Version 21.0.0.0.0 - Production on 29-JUL-2022 11:14:01
    
    Copyright (c) 1991, 2021, Oracle.  All rights reserved.
    
    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=fedora)(PORT=1521)))
    The command completed successfully
    [oracle@fedora ~]$
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    启动数据库和监听服务

    此时,如果重启操作系统,oracle数据库服务器是不会随机启动的。

    [oracle@fedora ~]$ sqlplus / as sysdba
    
    SQL*Plus: Release 21.0.0.0.0 - Production on Fri Jul 29 11:17:44 2022
    Version 21.3.0.0.0
    
    Copyright (c) 1982, 2021, Oracle.  All rights reserved.
    
    Connected to an idle instance.
    
    SQL> startup
    ORACLE instance started.
    SQL> exit
    
    [oracle@fedora ~]$ lsnrctl start
    
    LSNRCTL for Linux: Version 21.0.0.0.0 - Production on 29-JUL-2022 11:19:29
    
    Copyright (c) 1991, 2021, Oracle.  All rights reserved.
    
    Starting /opt/oracle/product/21c/dbhomeXE/bin/tnslsnr: please wait...
    
    TNSLSNR for Linux: Version 21.0.0.0.0 - Production
    System parameter file is /opt/oracle/homes/OraDBHome21cXE/network/admin/listener.ora
    Log messages written to /opt/oracle/diag/tnslsnr/fedora/listener/alert/log.xml
    Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=fedora)(PORT=1521)))
    Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
    
    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=fedora)(PORT=1521)))
    STATUS of the LISTENER
    ------------------------
    Alias                     LISTENER
    Version                   TNSLSNR for Linux: Version 21.0.0.0.0 - Production
    Start Date                29-JUL-2022 11:19:30
    Uptime                    0 days 0 hr. 0 min. 0 sec
    Trace Level               off
    Security                  ON: Local OS Authentication
    SNMP                      OFF
    Default Service           XE
    Listener Parameter File   /opt/oracle/homes/OraDBHome21cXE/network/admin/listener.ora
    Listener Log File         /opt/oracle/diag/tnslsnr/fedora/listener/alert/log.xml
    Listening Endpoints Summary...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=fedora)(PORT=1521)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
    The listener supports no services
    The command completed successfully
    [oracle@fedora ~]$ sqlplus system/baby1234@XE
    
    
    SQL> select sysdate from dual;
    
    SYSDATE
    ----------
    29-7? -22
    
    SQL> exit
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55

    解决显示结果的乱码问题

    登录数据库,查询字符集

    SQL> select userenv('language') from dual;
    
    USERENV('LANGUAGE')
    ----------------------------------------------------
    SIMPLIFIED CHINESE_CHINA.AL32UTF
    
    • 1
    • 2
    • 3
    • 4
    • 5

    该字符集的设置在“/etc/sysconfig/oracle-xe-21c.conf”中有配置。

    修改操作系统的NLS_LANG的字符集配置

    [oracle@fedora ~]$ export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
    
    • 1

    验证字符集的显示结果

    [oracle@fedora ~]$ sqlplus system/baby1234@XE
    
    SQL*Plus: Release 21.0.0.0.0 - Production on 星期五 7月 29 11:30:45 2022
    Version 21.3.0.0.0
    
    Copyright (c) 1982, 2021, Oracle.  All rights reserved.
    
    上次成功登录时间: 星期五 7月  29 2022 11:26:52 +08:00
    
    连接到:
    Oracle Database 21c Express Edition Release 21.0.0.0.0 - Production
    Version 21.3.0.0.0
    
    SQL> select sysdate from dual;
    
    SYSDATE
    --------------
    29-7月 -22
    
    SQL> exit
    从 Oracle Database 21c Express Edition Release 21.0.0.0.0 - Production
    Version 21.3.0.0.0 断开
    [oracle@fedora ~]$
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    可以把上面的字符集设置,写入$HOME/.bash_profile中。

  • 相关阅读:
    免费小程序商城搭建之b2b2c o2o 多商家入驻商城 直播带货商城 电子商务b2b2c o2o 多商家入驻商城 直播带货商城 电子商务
    这款键盘你真的要考虑一下!——Keychron K3测评
    JMeter性能分析实战一:日常登录接口
    这13个不经意却很不卫生的行为,很多人都没意识到
    vue实战-轮播图的最佳方案/swiper的使用
    QT 集成MQTT过程
    SQL优化的一些建议,希望可以帮到和我一样被SQL折磨的你
    云原生kubernetes从入门到实践系列教程
    都是同样条件的mysql select语句,为什么读到的内容却不一样?
    【正点原子STM32连载】 第二十五章 TFTLCD(MCU屏)实验 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1
  • 原文地址:https://blog.csdn.net/hawanglc/article/details/126053661