楼主: 陈雯敏
200 0

Oracle Database 26ai Free 安装讲解 [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

学前班

40%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
20 点
帖子
1
精华
0
在线时间
0 小时
注册时间
2018-10-8
最后登录
2018-10-8

楼主
陈雯敏 发表于 2025-11-20 08:50:29 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

Oracle Database 26ai Free 版本说明及安装指南

此版本适用于RHEL9 Linux系统的Oracle数据库安装。

Oracle Database 26ai Free 是 Oracle XE 的官方后续版本,作为新一代的入门级免费版,它包含了AI向量、JSON关系型、自动等功能。

资源链接

下载地址: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

安装流程概述

基于RPM的安装过程会执行预安装检查,解压数据库软件,并将解压后的软件所有权重新分配给预配置的用户和用户组,同时维护Oracle清单,运行所有必需的root操作来配置Oracle数据库软件,以便创建和配置一个单实例Oracle数据库。若未满足最低安装要求,RPM安装过程中会提示用户完成这些必要的安装条件。

Oracle清单

Oracle清单是指Oracle Universal Installer (OUI) 使用的中央注册机制,称为Oracle Inventory (oraInventory)。OUI将在系统中创建一个全局清单目录(通常指向 /etc/oraInst.loc 中的路径,如 /u01/app/oraInventory)。该清单记录了已安装的Oracle产品列表、安装路径(ORACLE_HOME)、版本号以及补丁历史。在后续的安装、升级、打补丁或卸载过程中,OUI会读取并写入此清单,以确保一致性。

安装前准备

首先,需要卸载先前安装的Oracle Database XE或Oracle Database Free,或任何SID为FREE的数据库。

卸载方法详见:Deinstalling Oracle AI Database Free

Oracle AI Database Free的安装大约占用<9GB的磁盘空间。如果磁盘分区无法提供足够的空间,您需要增加空间或将另一个分区挂载为Oracle的根目录,用于存储软件和数据。

/opt
/opt/oracle

预安装步骤

下载并安装预安装包,该包会自动创建Oracle安装所需用户和组,并根据Oracle AI数据库安装的需求设置其他内核配置参数。如果您计划实施职责分离,则应根据需求创建数据库用户和组的扩展集。

通过查看RPM日志文件(例如 /var/log/oracle-ai-database-preinstall-26ai/results/orakernel.log)来确认系统配置的变化。

# 下载
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 Database

从提供的链接下载Oracle Database软件包并进行安装。

dnf -y install oracle-ai-database-free-26ai-23.26.0-1.el9.x86_64.rpm

配置Oracle Database

配置脚本将创建一个容器数据库(FREE)和一个可插拔数据库(FREEPDB1),并默认在1521端口上配置监听器。您可以通过编辑相关文件来修改配置参数,具体参数说明请参阅静默安装指南中的详细说明。

/etc/sysconfig/oracle-free–26ai.conf

创建数据库

使用默认设置创建数据库时,需在命令行中为三个管理员用户(分别为SYS、SYSTEM和PDBADMIN)设置密码。Oracle建议密码至少包含8个字符,包括一个大写字母、一个小写字母和一个1至9之间的数字。

# root 用户
sudo -s

# 运行配置文件
/etc/init.d/oracle-free-26ai configure
SYS
SYSTEM
PDBADMIN

静默安装选项

除了手动安装外,Oracle还提供了静默安装选项,主要用于与您的应用程序一起安装或实现完全自动化安装。执行静默安装时,必须将管理员用户的密码作为参数写入脚本或配置到特定文件中。

为了记录安装过程中出现的所有错误和成功消息,可以使用以下命令来安装 oracle-ai-database-free-26ai-23.26.0-1.el9.x86_64.rpm 软件包,同时将所有输出重定向到 FREEsilentinstall.log 文件:

#!/bin/bash
yum -y install /downloads/oracle-ai-database-free-26ai-23.26.0-1.el9.x86_64.rpm > /free_logs/FREEsilentinstall.log 2>&1

接下来,配置 Oracle 数据库,确保所有过程中的信息都被追加到同一日志文件中:

/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

修改脚本的执行权限以便能够顺利运行。

chmod +x myscript.sh

运行上述脚本以开始安装和配置过程。

sudo ./myscript.sh

环境变量的配置可以通过 Oracle 提供的特定脚本来完成。对于 C shell 用户,应使用 coraenv 脚本;而对于其他 shell 用户,则使用 oraenv 脚本。

oraenv
coraenv

例如,在 Bourne、Bash 或 Korn shell 中无提示地设置环境变量,可以执行以下命令:

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

连接方式

本地连接可以直接通过 Oracle 提供的工具实现。

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

对于远程连接,可以通过 Oracle Net Configuration Assistant (Oracle NETCA) 配置监听器,以允许通过特定端口远程访问 Oracle 数据库。

要查看当前监听的端口,可以参考以下步骤:

# 查看oracle 网络配置助手状态
lsnrctl status
lsnrctl stop
lsnrctl start
# 修改网络助手方法
文件位于: $ORACLE_HOME/network/admin/listener.ora

注意重启服务

确保防火墙设置允许外部连接到该端口。

# 查看防火墙的状态,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

远程连接的具体步骤如下图所示:

# 从本机测试
sqlplus sys/password@localhost:1521/FREE as sysdba

# 从其他机器测试
sqlplus sys/password@192.168.125.199:1521/FREEPDB1 as sysdba

使用 PL/SQL Developer 工具连接到数据库时,需要先安装 Oracle 客户端或 Oracle Instant Client,因为 PL/SQL Developer 依赖于 Oracle Call Interface (OCI)。

Oracle Client 的下载地址为:
https://download.oracle.com/otn_software/nt/instantclient/2326000/instantclient-basic-windows.x64-23.26.0.0.0.zip

配置 PL/SQL Developer 工具的方法如下:

登录界面示例如下:

配置 True Cache

True Cache 是 Oracle Database 23ai(含 Oracle AI Database Free 版本)中引入的一种内存缓存技术,旨在无需修改应用代码的情况下,显著提升对数据库的查询速度,特别是对于高频率、重复或热点数据的查询。

配置步骤如下:

  1. 确保主数据库在主节点上运行,并且已设置为归档日志模式(ARCHIVELOG)。
  2. 切换到归档日志模式可能需要重启数据库。
  3. 从主数据库节点复制密码文件 /opt/oracle/product/26ai/dbhomeFree/dbs/orapwFREE 到 True Cache 节点的临时位置 /opt/oracle/tmp
  4. 使用 Oracle DBCA 完成 True Cache 的配置。
# 链接数据库
-- 以 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
-- 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
# 必须使用oracle账户去创建和移动
mkdir /opt/oracle/tmp
cp /opt/oracle/product/26ai/dbhomeFree/dbs/orapwFREE /opt/oracle/tmp/
# 创建 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

对于 Oracle Free 版本,Integrated 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 已工作。

目录说明

以下是 Oracle AI Database Free 版本中各个文件和目录的目的概述:

  • File Name and Location(文件名和位置): Purpose(目的)
  • Oracle base: 这个目录是 Oracle AI Database Free 的根目录。
/opt/oracle
/opt/oracle/product/26ai/dbhomeFree

Oracle Home. 这个位置是安装Oracle AI Database Free的目录。它包括了Oracle AI Database Free的可执行文件和网络文件的目录。

/opt/oracle/oradata/FREE

数据库文件

/opt/oracle/diag

子目录

诊断日志。数据库警报日志

/opt/oracle/diag/rdbms/free/FREE/trace/alert_FREE.log
/opt/oracle/cfgtoollogs/dbca/FREE

数据库创建日志。“FREE.log”文件记录了数据库创建脚本执行的结果。

FREE.log
/etc/sysconfig/oracle-free-26ai.conf

配置默认参数

/etc/init.d/oracle-free-26ai

配置和服务脚本

配置文件说明

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

LISTENER_PORT

: 数据库监听器的有效数字端口值。不指定任何值以实现自动端口分配。

CHARSET

: 数据库的字符集。这被设置为国际标准的UTF-8字符集。

AL32UTF8
DBFILE_DEST

数据库文件目录。默认情况下,数据库文件存储在Oracle base的/opt/Oracle/oradata子目录中。您也可以创建自己的数据库文件目录。但是,该文件路径的权限应归“oracle”用户所有。

/opt/oracle/oradata
oracle

: 跳过内存和磁盘空间的验证。默认值为“false”。

SKIP_VALIDATIONS
false

: 设置以配置透明数据加密(TDE)。默认值为“false”。

CONFIGURE_TDE
CONFIGURE_TDE=true

: 对于用户表空间,留此值为空。设置此值为“ALL”以加密所有表空间。对于特定的表空间,使用相应的设置。默认值为空。

ENCRYPT_TABLESPACES
ALL
SYSTEM:true,SYSAUX:false
SYSTEM:true,SYSAUX:false

卸载Oracle Database

删除所有Oracle AI Database Free的数据文件、监听器和配置文件。此操作后,仅留下日志和Oracle主软件。

/etc/init.d/oracle-free-26ai delete

此命令用于删除软件。操作完成后,Oracle base/opt/Oracle下的某些内容将被保留,您可以手动删除这些内容。

yum remove oracle-ai-database-free-26ai

(可选)如果您仅在系统上安装了Oracle AI Database Free,而未安装其他Oracle AI Database软件,您还可以删除Oracle AI Database预安装RPM:

yum remove oracle-ai-database-preinstall-26ai

要移除已下载的RPM文件:

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

问题描述:

oracle.net.ca.IllegalEndpointException: 没有返回有效的IP地址给主机leisure。

根本原因在于我在/etc/hosts文件中将leisure主机名映射到了127.0.0.1,这导致Oracle无法获取正确的IP地址。

解决方案:

移除/etc/hosts文件中对leisure主机名的错误映射即可解决问题。

之后,重新运行配置文件命令:/etc/init.d/oracle-free-26ai configure,即可完成修复。

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:database Oracle Base Free Data

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
扫码
拉您进交流群
GMT+8, 2026-2-1 13:53