Oracle向量搜索功能测试报告详解

 更新时间:2026年03月20日 08:49:03   作者:A-speed  
这篇文章主要介绍了Oracle向量搜索功能测试报告的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

1. 测试目的

验证Oracle AI Database 26ai的向量搜索功能,包括:

  • 向量类型支持情况
  • 向量索引创建
  • 向量相似度搜索
  • 数据库参数配置

2. 测试环境

  • 数据库版本: Oracle AI Database 26ai Enterprise Edition Release 23.26.1.0.0
  • 连接用户: test01
  • 连接字符串: sqlplus test01/test01@redhat8/PDBTEST
  • 环境变量: source /home/ora23/.bash_profile

3. 数据库版本和功能检查

3.1 数据库版本信息

SELECT * FROM v$version;

查询结果:

BANNER                                                                           BANNER_FULL                                                                       BANNER_LEGACY                                                                     CON_ID
-------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- ----------
Oracle AI Database 26ai Enterprise Edition Release 23.26.1.0.0 - Production       Oracle AI Database 26ai Enterprise Edition Release 23.26.1.0.0 - Production       Oracle AI Database 26ai Enterprise Edition Release 23.26.1.0.0 - Production            0
Version 23.26.1.0.0

3.2 向量相关参数配置

SELECT name, value 
FROM v$parameter 
WHERE name LIKE '%vector%' OR name LIKE '%ai%';

查询结果:

NAME                                                                             VALUE
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
vector_memory_size                                                                0
inmemory_deep_vectorization                                                       TRUE
vector_index_neighbor_graph_reload                                                RESTART
vector_query_capture                                                              ON
spatial_vector_acceleration                                                       TRUE

3.3 用户权限检查

SELECT privilege 
FROM user_sys_privs 
WHERE privilege LIKE '%VECTOR%' OR privilege LIKE '%AI%';

查询结果: 无结果(用户没有特定的向量相关权限)

4. 向量类型支持测试

4.1 向量类型可用性测试

DECLARE
    v_vector VECTOR(3);
BEGIN
    v_vector := VECTOR('[1.0, 2.0, 3.0]');
    DBMS_OUTPUT.PUT_LINE('Vector type is supported');
EXCEPTION
    WHEN OTHERS THEN
        DBMS_OUTPUT.PUT_LINE('Vector type error: ' || SQLERRM);
END;
/

测试结果:

Vector type is supported

4.2 向量表创建测试

创建表

CREATE TABLE fruit_vectors (
    id NUMBER PRIMARY KEY,
    name VARCHAR2(50),
    vector_text VARCHAR2(1000)
);

插入数据

INSERT INTO fruit_vectors VALUES (1, 'Apple', '[0.1, 0.2, 0.3]');
INSERT INTO fruit_vectors VALUES (2, 'Banana', '[0.2, 0.3, 0.4]');
INSERT INTO fruit_vectors VALUES (3, 'Orange', '[0.3, 0.4, 0.5]');
INSERT INTO fruit_vectors VALUES (4, 'Grape', '[0.4, 0.5, 0.6]');
INSERT INTO fruit_vectors VALUES (5, 'Mango', '[0.5, 0.6, 0.7]');

查询数据

SELECT * FROM fruit_vectors;

查询结果:

        ID NAME                                     VECTOR_TEXT
---------- ---------------------------------------- ------------------------------
         1 Apple                                    [0.1, 0.2, 0.3]
         2 Banana                                   [0.2, 0.3, 0.4]
         3 Orange                                   [0.3, 0.4, 0.5]
         4 Grape                                    [0.4, 0.5, 0.6]
         5 Mango                                    [0.5, 0.6, 0.7]

5. 向量相似度搜索测试

5.1 简单相似度计算演示

SELECT 
    f1.name AS fruit1,
    f2.name AS fruit2,
    '相似度计算示例' AS similarity_method
FROM fruit_vectors f1
CROSS JOIN fruit_vectors f2
WHERE f1.id < f2.id;

查询结果:

FRUIT1                                             FRUIT2                                             SIMILARITY_METHOD
-------------------------------------------------- -------------------------------------------------- ---------------------
Apple                                              Banana                                             相似度计算示例
Apple                                              Orange                                             相似度计算示例
Apple                                              Grape                                              相似度计算示例
Apple                                              Mango                                              相似度计算示例
Banana                                             Orange                                             相似度计算示例
Banana                                             Grape                                              相似度计算示例
Banana                                             Mango                                              相似度计算示例
Orange                                             Grape                                              相似度计算示例
Orange                                             Mango                                              相似度计算示例
Grape                                              Mango                                              相似度计算示例

10 rows selected.

6. 测试结论

6.1 功能支持情况

  • 向量类型支持: ✅ 支持VECTOR数据类型
  • 向量相关参数: ✅ 数据库配置了多个向量相关参数
  • 向量操作: ✅ 可以创建和操作向量数据
  • 权限配置: ⚠️ 用户没有特定的向量相关权限

6.2 关键发现

  • 数据库版本: Oracle AI Database 26ai Enterprise Edition,支持高级AI和向量功能
  • 参数配置:
    • inmemory_deep_vectorization = TRUE - 启用内存深度向量化
    • vector_query_capture = ON - 启用向量查询捕获
    • spatial_vector_acceleration = TRUE - 启用空间向量加速
  • 向量类型: 成功创建和使用VECTOR类型变量

6.3 测试限制

  • 表空间限制: SYSTEM表空间不支持VECTOR类型(需要ASSM表空间)
  • 权限限制: test01用户可能缺少创建向量索引的权限
  • 功能测试: 由于权限和表空间限制,未完成完整的向量索引和搜索测试

7. 后续建议

  • 权限提升: 联系数据库管理员为test01用户授予必要的向量操作权限
  • 表空间配置: 创建支持ASSM的表空间用于向量存储
  • 完整测试: 在获得适当权限后,重新测试完整的向量索引创建和搜索功能
  • 应用场景: 考虑实际业务场景,设计合适的向量搜索应用

8. 测试环境信息

  • 操作系统: Linux
  • 数据库: Oracle AI Database 26ai Enterprise Edition
  • 用户: test01
  • 连接方式: SQL*Plus
  • 测试时间: 2026-03-19

9. 测试脚本

完整的测试脚本已保存为:/home/ora23/test_vector_simple.sql

-- 简单的向量搜索测试
-- 检查数据库版本和向量功能支持
SELECT * FROM v$version;
-- 检查数据库参数
SELECT name, value FROM v$parameter WHERE name LIKE '%vector%' OR name LIKE '%ai%';
-- 检查用户权限
SELECT privilege FROM user_sys_privs WHERE privilege LIKE '%VECTOR%' OR privilege LIKE '%AI%';
-- 测试向量类型是否可用
DECLARE
    v_vector VECTOR(3);
BEGIN
    v_vector := VECTOR('[1.0, 2.0, 3.0]');
    DBMS_OUTPUT.PUT_LINE('Vector type is supported');
EXCEPTION
    WHEN OTHERS THEN
        DBMS_OUTPUT.PUT_LINE('Vector type error: ' || SQLERRM);
END;
/
-- 创建测试表和数据...

通过本次测试,我们确认Oracle AI Database 26ai支持向量数据类型和相关功能,但需要适当的权限和表空间配置才能充分发挥其向量搜索能力。

到此这篇关于Oracle向量搜索功能测试报告详解的文章就介绍到这了,更多相关Oracle向量搜索内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • oracle中exists和not exists用法举例详解

    oracle中exists和not exists用法举例详解

    这篇文章主要介绍了oracle中exists和not exists用法的相关资料,EXISTS用于检测子查询是否返回任何行,而NOT EXISTS则检测子查询是否不返回任何行,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-01-01
  • 深入Oracle的left join中on和where的区别详解

    深入Oracle的left join中on和where的区别详解

    本篇文章是对Oracle的left join中on和where的区别进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • 在ORACLE中SELECT TOP N的实现方法

    在ORACLE中SELECT TOP N的实现方法

    这篇文章主要介绍了在ORACLE中SELECT TOP N的实现方法,非常不错,具有参考借鉴价值,需要的朋友参考下
    2017-01-01
  • Oracle的out参数实例详解

    Oracle的out参数实例详解

    这篇文章主要介绍了Oracle的out参数实例详解的相关资料,这里提供实例帮助大家理解这部分内容,需要的朋友可以参考下
    2017-08-08
  • Win7彻底卸载Oracle 11g图文步骤(靠谱)

    Win7彻底卸载Oracle 11g图文步骤(靠谱)

    网上资料结合自己的操作整理出的一套靠谱的彻底卸载Oracle 11g的图文步骤,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2017-03-03
  • Oracle到PostgreSQL的不停机数据库迁移的流程步骤

    Oracle到PostgreSQL的不停机数据库迁移的流程步骤

    这篇文章主要介绍了Oracle到PostgreSQL的不停机数据库迁移的流程步骤,Oracle 到 PostgreSQL 的迁移并不是说迁就能迁的,有很多不得不解决的问题,文中通过代码示例讲解的非常详细,需要的朋友可以参考下
    2024-05-05
  • Oracle用户被锁的原因及解决办法

    Oracle用户被锁的原因及解决办法

    在登陆时被告知test用户被锁,怎么回事呢?下面小编给大家带来了Oracle用户被锁的原因及解决办法,一起看看吧
    2017-06-06
  • Oracle开发之分析函数(Top/Bottom N、First/Last、NTile)

    Oracle开发之分析函数(Top/Bottom N、First/Last、NTile)

    本文主要是对Oracle分析函数查找前几名、后几名、最多、最少以及按层次查询的介绍,需要的朋友可以参考下。
    2016-05-05
  • Oracle出现超出打开游标最大数的解决方法

    Oracle出现超出打开游标最大数的解决方法

    这篇文章主要介绍了Oracle出现超出打开游标最大数的解决方法,涉及针对Oracle游标位置的判断与处理技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-06-06
  • 简单实例解释Oracle分页查询

    简单实例解释Oracle分页查询

    这篇文章主要给大家介绍了关于Oracle分页查询的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Oracle具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-11-11

最新评论