April 2025, Release Update 23.8

Included are some notable Oracle AI Vector Search updates with Oracle Database 23ai, Release Update 23.8.

Note:

If you are using RAC instances, certain features must be enabled using Oracle RAC two-stage rolling updates to ensure that any patches are enabled on all nodes. For more information, see Oracle Real Application Clusters Administration and Deployment Guide.

Feature Description

Custom JavaScript Distance Function

In addition to the availability of built-in vector distance functions, you can now create your own custom distance function. The Multilingual Engine (MLE) is used to create a JavaScript function that defines the distance operation of your choice. The custom distance function can be used in similarity searches and in the creation of HNSW vector indexes.

Custom Distance Function

Automatic Vector Pool sizing with on-premises deployments

The vector memory pool can be configured to dynamically grow to meet the sizing needs for creating HNSW indexes. This is now supported for both Oracle Autonomous Databases and non-Autonomous databases.

Size the Vector Pool

SPARSE support in PL/SQL

PL/SQL now natively supports the creation and declaration of SPARSE vectors.

If using RAC instances, you must enable Patch 37535524 using Oracle RAC two-stage rolling updates.

SPARSE Vectors

Oracle Database PL/SQL Language Reference

New table function: DBMS_HYBRID_VECTOR.SEARCHPIPELINE

In addition to the existing DBMS_HYBRID_VECTOR.SEARCH API, the new table function DBMS_HYBRID_VECTOR.SEARCHPIPELINE returns a pipeline of row records.

SEARCHPIPELINE

New function: DBMS_HYBRID_VECTOR.GET_SQL

DBMS_HYBRID_VECTOR.GET_SQL function displays the internal SQL query that is executed for DBMS_HYBRID_VECTOR.SEARCH.

GET_SQL

FILTER_BY support in DBMS_HYBRID_VECTOR.SEARCH

A FILTER_BY field is added in the SEARCH API of the DBMS_HYBRID_VECTOR package. The FILTER_BY field allows you to narrow the search results using standard relational logical constraints.

FILTER_BY

Terminable iteration for IVF vector indexes

Terminable iteration provides the ability to return the expected 'K' number of rows during a search using an IVF vector index. The underlying method extends the search to additional centroids ensuring that the needed K rows are returned.

Terminable Iteration for IVF Index

Using JSON in Included Columns with IVF Indexes

Restrictions have been removed on JSON, BLOB, and CLOB data types, enabling broader and more flexible usage of these data types in included columns.

Included Columns