版本说明:

  1. 是符合RHEL9 linux版本系统去安装这个oracle数据库。
  2. Oracle Database 26ai Free 就是 Oracle XE 的官方继任者(successor)
  3. 新一代入门级免费版
  4. 包含 AI 向量、JSON Relational、Auto

下载地址

下载地址:https://download.oracle.com/otn-pub/otn_software/db-free/oracle-ai-database-free-26ai-23.26.0-1.el9.x86_64.rpm

安装文档

安装指南:https://docs.oracle.com/en/database/oracle/oracle-database/26/xeinl/installing-oracle-database-free.html

客户端安装指南:https://docs.oracle.com/en/database/oracle/oracle-database/26/lacli/installing-the-oracle-database-client-software.html#GUID-F6B104C6-7A02-4909-9C95-BDED6AF60EAA

手动安装说明

  1. 基于RPM安装会执行预安装检查,提取数据库软件,重新分配提取的软件所有权给预先配置的用户和用户组,维护oracle清单,运行所有必须的root操作去配置oracle数据库软件为了一个单例oracle数据库的创建和配置。这RPM安装过程当发现安装的最小需求没有满足时会提示你去完成这些最小安装需求。

    1. oracle清单:这是指 Oracle Universal Installer(OUI)使用的中央注册表机制,称为 Oracle Inventory(oraInventory)。,OUI 会在系统中创建一个 全局清单目录(通常是 /etc/oraInst.loc 指向的路径,如 /u01/app/oraInventory);这个清单记录了:
      已安装的 Oracle 产品列表;安装路径(ORACLE_HOME);版本号;补丁历史;后续安装、升级、打补丁、卸载时,OUI 都会读写这个 inventory,确保一致性。
  2. 步骤:

    1. 首先你需要卸载以前安装的oracle database xe 或 oracle database free 或具有SID或FREE的数据库

    2. oracle ai database free 安装大约使用了/opt 目录下9G的磁盘空间。如果磁盘分区没有满足的可用的磁盘空间需求,你必须增加空间或挂载另一个分区作为/opt/oracle,这个磁盘分区被定义为oracle的根目录,软件和数据将存储在这。

    3. 下载和安装 预安装包:

      • # 下载
        curl -O https://yum.oracle.com/repo/OracleLinux/OL9/appstream/x86_64/getPackage/oracle-ai-database-preinstall-26ai-1.0-1.el9.x86_64.rpm
        
        # 安装
        dnf -y install oracle-ai-database-preinstall-26ai-1.0-1.el9.x86_64.rpm
        
      • 这个预安装包自动创建了oracle 安装用户和组,它还会根据 Oracle AI 数据库安装的需要,设置其他内核配置参数。如果你计划使用职责分离,那么就根据你的需求创建数据库的用户和组的扩展集,

      • 查看rpm日志文件确定系统配置的改变,例如查看 /var/log/oracle-ai-database-preinstall-26ai/results/orakernel.log

    4. 下载oracle database 软件包进行安装

      • 下载地址:https://download.oracle.com/otn-pub/otn_software/db-free/oracle-ai-database-free-26ai-23.26.0-1.el9.x86_64.rpm

      • 安装:

        • dnf -y install oracle-ai-database-free-26ai-23.26.0-1.el9.x86_64.rpm
          
    5. 配置oracle database数据库

      • 配置脚本会创建一个容器数据库(FREE)和一个可插拔数据库(FREEPDB1),并且在默认的1521端口配置了监听

      • 你可以通过修改配置参数通过编辑/etc/sysconfig/oracle-free–26ai.conf 文件

      • 这个文件的参数说明在静默模式中有详细的说明:Performing a Silent Installation.

      • 使用默认的设置创建一个数据库

        • # root 用户
          sudo -s
          
          # 运行配置文件
          /etc/init.d/oracle-free-26ai configure
          
        • 在命令提示窗口中为SYS, SYSTEM, PDBADMIN 三个管理员用户的账户设置一个密码,oracle建议这个密码最小长度为8个字符,包含一个大写字母一个小写字母和一个1~9的数字。

        • 这样配置好了就可以使用了数据库了

静默安装说明

  1. 除了自己手动安装,oracle还提供了静默安装(Performing a Silent Installation)方法。

  2. 这种方法主要用于和你的应用一起安装(你应用自带一个oracle数据库),或者全自动安装,

  3. 执行静默安装你必须将管理员用户的密码作为参数写入到脚本(shell脚本)中或者配置到特定文件中去。

    • #!/bin/bash
       
       # 执行oracle-ai-database-free-26ai-23.26.0-1.el9.x86_64.rpm安装将报错和没报错的日志都输入到FREEsilentinstall.log 文件中去
      yum -y install /downloads/oracle-ai-database-free-26ai-23.26.0-1.el9.x86_64.rpm > /free_logs/FREEsilentinstall.log 2>&1
      
      # 执行oracle database数据库的配置,将所有信息全部累加输出到REEsilentinstall.log 文件中
      /etc/init.d/oracle-free-26ai configure >> /free_logs/FREEsilentinstall.log 2>&1
      
      # 输入你的密码
      (echo "password"; echo "password";) | /etc/init.d/oracle-free-26ai configure >> /free_logs/FREEsilentinstall.log 2>&1
      
  4. 修改脚本执行权限

    • chmod +x myscript.sh
      
  5. 运行脚本

    • sudo ./myscript.sh
      

环境变量配置

  1. 使用 oracle 提供的oraenv and coraenv 脚本去配置环境变量。 C shell就用coraenv,其他就用oraenv脚本。

  2. 例如,要在Bourne、Bash或Korn shell中设置环境变量,而无需脚本提示,请以Oracle用户身份登录并运行以下命令:

    • su oracle
      # 设置者两个值是为了让执行脚本时为非交互模式运行,如果不设置这两个环境变量命令窗口会让你手动输入
      # 告诉系统:我要操作的数据库实例名是 FREE
      # 后续命令(如 sqlplus / as sysdba)会连接这个实例
      export ORACLE_SID=FREE 
      # 设置 ORAENV_ASK=NO → 禁止提问,直接使用 ORACLE_SID 的值
      export ORAENV_ASK=NO 
      . /opt/oracle/product/26ai/dbhomeFree/bin/oraenv
      
      # 可以将上面命令加入  ~/.bashrc 文件中,每次使用su oracle命令都会执行一次
      
    • # 对于C shell
      su oracle
      setenv ORACLE_SID FREE
      setenv ORACLEENV_ASK NO
      source /opt/oracle/product/26ai/dbhomeFree/bin/coraenv
      

连接方式

本地连接

  • -- 以 sysdba 登录,需要oracle用户才能执行
    sqlplus / as sysdba
    

远程连接

  1. Oracle Net Configuration Assistant (Oracle NETCA) oracle 网络配置助手会监听本机特定端口来帮助你远程连接Oracle database

  2. 查看oracle网络助手监听那个端口

    • image-20251118014934615

    • # 查看oracle 网络配置助手状态
      lsnrctl status
      lsnrctl stop
      lsnrctl start
      # 修改网络助手方法
      文件位于: $ORACLE_HOME/network/admin/listener.ora
      
      注意重启服务
      
  3. 修改防火墙

    • # 查看防火墙的状态,ports这里什么都没有,services 这里也灭有oracle服务就表明 1539端口没有被放开
      [root@localhost ~]# sudo firewall-cmd --list-all
      public (active)
        target: default
        icmp-block-inversion: no
        interfaces: ens33
        sources: 
        services: dhcpv6-client ssh
        ports: 
        protocols: 
        masquerade: no
        forward-ports: 
        source-ports: 
        icmp-blocks: 
        rich rules: 
      # 放开端口
      
      # 添加规则(永久生效)
      sudo firewall-cmd --permanent --add-port=1521/tcp
      
      # 重新加载防火墙
      sudo firewall-cmd --reload
      
  4. 远程连接

    • # 从本机测试
      sqlplus sys/password@localhost:1521/FREE as sysdba
      
      # 从其他机器测试
      sqlplus sys/password@192.168.125.199:1521/FREEPDB1 as sysdba
      
  5. 使用PL/SQL Developer工具链接

    • PL/SQL Developer 必须依赖 OCI(Oracle Call Interface),而 OCI 只存在于:完整 Oracle Client,或Oracle Instant Client,所以必须先按照 Oracle Client 。
    • Oracle Client 下载地址:https://download.oracle.com/otn_software/nt/instantclient/2326000/instantclient-basic-windows.x64-23.26.0.0.0.zip
    • 配置PL/SQL Developer工具:
      • image-20251118163701944
    • 登录
      • image-20251118163913604

配置True Cache(配置不了)

  1. True Cache 是 Oracle Database 23ai(包括 Oracle AI Database Free 版本)中引入的一项创新性内存缓存技术,它的核心目标是:在不改变应用程序代码的前提下,显著加速对 Oracle 数据库的查询性能,尤其是针对高频、重复或热点数据的访问。

  2. 步骤

    1. 请确保主数据库已在主节点上运行,并且处于归档日志(ARCHIVELOG)模式。

      • # 链接数据库
        -- 以 sysdba 登录
        sqlplus / as sysdba
        
        -- 查看归档模式
        SQL> ARCHIVE LOG LIST
        Database log mode	       No Archive Mode
        Automatic archival	       Disabled
        Archive destination	       /opt/oracle/product/26ai/dbhomeFree/dbs/arch
        Oldest online log sequence     1
        Current log sequence	       1
        
    2. 切换到 ARCHIVELOG 模式(需重启)

      • -- 1. 关闭数据库
        SHUTDOWN IMMEDIATE;
        
        -- 2. 启动到 MOUNT 状态(不打开)
        STARTUP MOUNT;
        
        -- 3. 启用归档模式
        ALTER DATABASE ARCHIVELOG;
        
        -- 4. 打开数据库
        ALTER DATABASE OPEN;
        
        -- 5. 验证
        SQL> ARCHIVE LOG LIST;
        Database log mode	       Archive Mode
        Automatic archival	       Enabled
        Archive destination	       /opt/oracle/product/26ai/dbhomeFree/dbs/arch
        Oldest online log sequence     1
        Next log sequence to archive   1
        Current log sequence	       1
        
        
    3. 将密码文件/opt/oracle/product/26ai/dbhomeFree/dbs/orapwFREE从主数据库节点复制到临时位置/opt/oracle/tmp下的True Cache节点。

      • # 必须使用oracle账户去创建和移动
        mkdir /opt/oracle/tmp
        cp /opt/oracle/product/26ai/dbhomeFree/dbs/orapwFREE /opt/oracle/tmp/
        
    4. 运行Oracle DBCA以完成True Cache配置。

      • # 创建 True Cache命令  确保db_unique_name值不为FREE。
        ./dbca -silent -createTrueCache 
        \-gdbName <FREE> 
        \-sourceDBConnectionString  <primary.example.com:1521>/<FREE.example.com> 
        \-passwordFileFromSourceDB /opt/oracle/tmp/orapwFREE 
        \-dbUniqueName <db_unique_name for True Cache>
        
        # 查看全局名  就是gdbName 对应的值
        SQL> SELECT * FROM GLOBAL_NAME;
        GLOBAL_NAME
        --------------------------------------------------------------------------------
        FREE
        # primary.example.com 数据库的ip地址
        # FREE.example.com 可插拔数据库的SID
        
        # 然后就可以使用这个命令创建True Cache
        ./dbca -silent -createTrueCache \
          -gdbName FREETC \
          -sourceDBConnectionString 192.168.125.199:1521/FREE \
          -passwordFileFromSourceDB /opt/oracle/tmp/orapwFREE \
          -dbUniqueName FREETC
         
        

True Cache(集成模式)

  • Oracle Free 版使用的是 Integrated True Cache(集成模式),只要你安装了 Oracle Free,默认就启用了 True Cache,无需额外操作。

  • 验证方法:

    • # 创建一个名为 tc_test 的数据库用户;密码为 test
      CREATE USER tc_test IDENTIFIED BY test;
      # 授予 tc_test 用户两个预定义的角色(roles):CONNECT: 和 RESOURCE。
      # 允许用户 连接到数据库(包含 CREATE SESSION 权限)
      # 允许用户 创建表、索引、序列等对象(包含 CREATE TABLE, CREATE SEQUENCE 等)
      GRANT CONNECT, RESOURCE TO tc_test;
      #允许用户 tc_test 在 USERS 表空间中无限使用存储空间。
      ALTER USER tc_test QUOTA UNLIMITED ON USERS;
      
      
      #  这是 SQL*Plus 的客户端命令(不是 SQL 语句);开启后,每次执行 SQL 语句时,会自动显示该语句的执行耗时。
      SET TIMING ON
      # 统计表 large_table 的总行数(你之前创建的 10 万行测试表);
      # 这是一个全表扫描操作,通常较慢(尤其数据量大时)。
      #这是 Oracle 的 优化器提示(Optimizer Hint) /*+ USE_TRUE_CACHE */ 明确告诉数据库:“请尝试使用 True Cache 来加速这个查询”
      SELECT /*+ USE_TRUE_CACHE */ COUNT(*) FROM large_table;
      
      SELECT /*+ USE_TRUE_CACHE */ COUNT(*) FROM large_table;
      -- 如果 True Cache 生效,耗时应大幅下降(如 0.01 秒)
      如果第二次明显更快,说明结果被缓存了 → True Cache 已工作。
      

目录说明

File Name and Location 文件名和位置 Purpose 目的
/opt/oracle Oracle base. This is the root of the Oracle AI Database Free directory tree. oracle基目录,这个oracle ai free 文件树的根
/opt/oracle/product/26ai/dbhomeFree Oracle home. This home is where the Oracle AI Database Free is installed. It contains the directories of the Oracle AI Database Free executables and network files.Oracle家。这个家是安装Oracle AI Database Free的地方。它包含Oracle AI Database Free可执行文件和网络文件的目录。
/opt/oracle/oradata/FREE Database files. 数据库文件
/opt/oracle/diag subdirectories Diagnostic logs. The database alert log is 为/opt/oracle/diag/rdbms/free/FREE/trace/alert_FREE.log 诊断日志。数据库警报日志
/opt/oracle/cfgtoollogs/dbca/FREE Database creation logs. The FREE.log file contains the results of the database creation script execution.数据库创建日志。“FREE.log”文件包含数据库创建脚本执行的结果。
/etc/sysconfig/oracle-free-26ai.conf Configuration default parameters. 配置 默认参数
/etc/init.d/oracle-free-26ai Configuration and services script. 配置和服务脚本

配置文件说明

  1. /etc/sysconfig/oracle-free-26ai.conf 配置文件说明

    • LISTENER_PORT: A valid listener numeric port value for the database listener. Do not specify any value for automatic port assignment.监听的端口

    • CHARSET: Character set of the database. This is set to AL32UTF8. 字符集,现在使用的国际标准的UTF-8字符集

    • DBFILE_DEST Database file directory. By default, the database files are stored in the Oracle base /opt/oracle/oradata subdirectory. You can also create your own database file directory. However, the permissions for this file path should be owned by the oracle user.数据库文件目录。默认情况下,数据库文件存储在Oracle base的/opt/Oracle/oradata子目录中。您还可以创建自己的数据库文件目录。但是,此文件路径的权限应由“oracle”用户拥有。

    • SKIP_VALIDATIONS: Skip validation for memory and disk space. Default is false.跳过内存和磁盘空间的验证。默认值为“false”。

    • CONFIGURE_TDE: Set CONFIGURE_TDE=true to configure Transparent Data Encryption (TDE). The default value is false.设置CONFIGURE_TDE=true 以配置透明数据加密(TDE)。默认值为“false”。

    • ENCRYPT_TABLESPACES: Leave this value empty for user tablespaces. Set this value to ALL for encrypting all the tablespaces. For specific tablespaces, use SYSTEM:true,SYSAUX:false. Default value is empty. 对于用户表空间,将此值留空。将此值设置为“ALL”以加密所有表空间。对于特定的表空间,使用SYSTEM:true,SYSAUX:false 。默认值为空。

卸载Oracle Database

  1. 删除所有Oracle AI Database Free数据文件、侦听器和配置文件。此操作后,只剩下日志和Oracle主软件。

    • /etc/init.d/oracle-free-26ai delete
      
  2. 此命令删除软件。此操作后,Oracle base/opt/Oracle下的一些内容将保留,您可以手动删除它。

    • yum remove oracle-ai-database-free-26ai
      
  3. (可选)如果您只在系统上安装了Oracle AI Database Free,并且没有安装其他Oracle AI Database软件,您还可以删除Oracle AI Database预安装RPM:

    • yum remove oracle-ai-database-preinstall-26ai
      
  4. To delete the downloaded RPM files:

    • rm oracle-ai-database-preinstall-26ai*
      rm oracle-ai-database-free-26ai*
      

问题:

oracle.net.ca.IllegalEndpointException: No valid IP Address returned for the host leisure.

  1. 主要原因是我将 /etc/hosts 文件中的leisure主机名 指向了127.0.0.1 导致oracle没法获取到正确ip
  2. 解决办法:删除 /etc/hosts 文件中的这个指向就可以了。
  3. 然后从新运行这个配置文件就可以了 /etc/init.d/oracle-free-26ai configure
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐