Skip to main content
Sandesh Rao , VP
Applied AI Team
Oracle AI Vector Search: Getting
Started and what's new in 2025
The following is intended to outline our general product direction. It is
intended for information purposes only, and may not be incorporated
into any contract. It is not a commitment to deliver any material, code,
or functionality, and should not be relied upon in making purchasing
decisions. The development, release, timing, and pricing of any
features or functionality described for Oracle’s products may change
and remains at the sole discretion of Oracle Corporation.
The materials in this presentation pertain to Oracle Health, Oracle, Oracle Cerner, and Cerner Enviza which are all wholly ow
ned subsidiaries of OracleCorporation. Nothing in this presentation should be taken as indicating
that any decisions regarding the integration of any EMEA Cerner and/or Enviza entities havebeen made where an integration ha
s not already occurred.
Copyright © 2025, Oracle and/or its affiliates
Safe harbor statement
Tech Superstars Unite
Get worldwide recognition as an Oracle ACE
Learn more at:
ace.oracle.com
Oracle.com profile page
Exclusive content
Your own Oracle
cloud account
Swag, certification exam
credit & event passes
Networking events
Travel support
@oracleace Linkedin.com/groups/72183 @oracleace.bsky.social
Vector Search
Copyright © 2025, Oracle and/or its affiliates
A new technology that enhances
information retrieval by mapping
queries to relevant data in your
database based on semantics,
instead of precise matches, using
vectors to measure similarity
Similarity Search
Vectors are used in AI to capture the semantics of data: Images, documents, videos,
or even structured data
A vector is a sequence of numbers, called
dimensions, used to capture the important
“features” of the data
Represent the semantic content of data, not the
actual words in a document or pixels in an image
Produced by AI/ML Embedding Models
Vector
33
42
16
21
50
Copyright © 2025, Oracle and/or its affiliates
The main operation on vectors is the
Mathematical Distance between them
8
2
1
3
3
2
6
2
Distance (Euclidean Squared)
= ((3-2)2 + (1-6)2 + (2-2)2 + (8-3)2)
There are many mathematical distance formulas (e.g., Euclidean, Cosine, Hamming)
6
Copyright © 2025, Oracle and/or its affiliates
Similarity Property: Support Incidents that are more similar
also produce vectors that are closer together
d1
Support Incidents
for Laptops running
slowly
Support Incident
for Desktop crashing
d2
Not as Similar
Similar
7
The more similar two entities are, the shorter the distance between their vectors
Copyright © 2025, Oracle and/or its affiliates
The Similarity Property powers AI Vector Search
User Query
Top K matches
AI Vector Search
ML Embedding Model
Query Vector
compare
…
Data Corpus
(encoded with the
same embedding model)
One solution is to continuously send business
data to a vector database
Business Database
9
Vector Database
42
16
21
50
Enterprises get most value by combining semantic searches with value-based
business data searches
Support Incident Data
Product Data
Customer Data
Enterprise DBs typically have an order of magnitude more sophisticated query
capabilities, fault-tolerance, security, etc., than niche Vector DBs
Copyright © 2025, Oracle and/or its affiliates
Where to use AI Vector Search?
Find Similar
Support Tickets
Biometric pattern
recognition
Find Similar
Products
Product
Recommendation
Detect manufacturing
anomalies
Enterprise Similarity Search Use-Cases
Natural language catalog
search
CATALOG
With the Power of Generative AI,
Vector Search allows you to interact with
business data using Natural Language
11
Copyright © 2025, Oracle and/or its affiliates
Using LLMs to answer my questions | Easy-Peasy!
A text response is sent
back to the user in
whatever format was
specified
1
2
3 Because
itis bad.
Maybe buy
a new one
Why does
my laptop
keep
rebooting?
User
Copyright © 2025, Oracle and/or its affiliates
GenAI uses the user’s question plus
its general knowledge to generate
an answer
User’s natural language
questions is sent to LLM
LLM
The LLM’s response
based on its general
knowledge isn’t great.
Why?
Copyright © 2025, Oracle and/or its affiliates
Because
it is bad.
Maybe buy
a new one
Why does
my laptop
keep
rebooting?
LLM
User
Using LLMs to answer my questions | Hmmm..
WHAAAT!!
Large Language Models LLMs are trained on a broad
range of data from the internet
However, they are frozen on a past snapshot of the
internet with no access to private enterprise data
LLMs can also hallucinate (i.e., inaccurate responses)
LLMs by themselves therefore often provide poor-
quality responses to support questions
Copyright © 2024, Oracle and/or its affiliates
14
Because
itis bad.
Maybe buy
a new one
Why does
my laptop
keep
rebooting?
LLM
User
Using LLMs to answer my questions | Not Enough by Itself
Copyright © 2025, Oracle and/or its affiliates
AI Vector Search improves Generative AI
by augmenting prompts with private database content
This helps produce better answers to user questions
Avoid having to train LLMs on sensitive enterprise data
Called: Retrieval Augmented Generation (RAG)
Copyright © 2024, Oracle and/or its affiliates
15
Copyright © 2025, Oracle and/or its affiliates
A user’s natural language
question is encoded as
a vector and sent to
AI Vector Search
1
RAG with AI Vector Search works like this
Copyright © 2024, Oracle and/or its affiliates
16
Why does
my laptop
keep
rebooting?
33
42
16
21
5
AI Vector Search
AI Vector Search finds private
content such as incidents that
match the user's question
Can search for relevant product type
and customer location
2
Incident
Reports
Product and
customer data
User
The user's question is augmented
with relevant content
3
LLM
LLM uses the question plus the
content and general knowledge to
provide a better informed answer 4
The issue is with
the firmware controlling
the fan. Apply OS update
42 while plugged in, and in
a cool air- conditioned
environment to prevent
overheating
Copyright © 2025, Oracle and/or its affiliates
User
RAG with AI Vector Search is very powerful
Copyright © 2024, Oracle and/or its affiliates
17
AI Vector Search
The LLM’s response is
much-improved thanks to
AI Vector Search and the
additional context
The issue is with
the firmware
controlling the fan.
Apply OS update 42
while plugged in, and
in a cool air-
conditioned
environment to prevent
overheating
Incident
Reports
Product and
customer data
LLM
Copyright © 2025, Oracle and/or its affiliates
AI Vector Search
Highlights
Generate vector embeddings from unstructured data
Store vectors in table columns using new VECTOR type
Build approximate vector indexes on VECTOR columns
Perform AI Vector Search on VECTOR columns using SQL
Integrate with Mission-Critical Enterprise Capabilities
Copyright © 2024, Oracle and/or its affiliates
18
Generate
Store
Index
Search
Integrate
Copyright © 2025, Oracle and/or its affiliates
Generate
Vectors
AI Vector Search offers 3 alternatives for vector embedding generation
Use Pre-Created
Embeddings
Load vectors directly from
external files into database
into VECTOR columns or
map the data as external
tables
Use an external
embedding service
Generate embeddings using
external callouts via
UTL_TO_EMBEDDING()
PLSQL function in the
DBMS_VECTOR package
Use a database resident
embedding model
Generate embeddings using the
VECTOR_EMBEDDING() SQL
function using an imported ONNX
embedding model so that no data
leaves the database
Copyright © 2025, Oracle and/or its affiliates
Vector Embedding Generation | Your Way
1 2 3
Copyright © 2025, Oracle and/or its affiliates
Store
Vectors
CREATE TABLE Support_Incidents(
id NUMBER,
incident_text CLOB,
incident_vec VECTOR(768, FLOAT32));
Optional
# of dimensions
Optional
dimension format
Copyright © 2024, Oracle and/or its affiliates
VECTOR Datatype to Store and Process Vectors
NEW VECTOR Datatype
INSERT INTO Support_Incidents(1, 'Problem..', TO_VECTOR('[1.1, 2.2, ...]')
SELECT FROM_VECTOR(incident_vector) FROM Support_Incidents;
Insert Vectors
FLOAT32,
FLOAT64,
INT8, BINARY
Fetch Vectors
'[1.1, 2.2, 3.3]'
Native VECTOR support
available for Python,
Node.js, JDBC, OCI, ODP.Net
drivers
Copyright © 2025, Oracle and/or its affiliates
Copyright © 2025, Oracle and/or its affiliates
Index
Vectors
24
NEW vector indexes provide 100x faster
and highly accurate similarity searches
Copyright © 2025, Oracle and/or its affiliates
Graph-based index where vertices represent vectors
and edges between vertices represent similarity
Hierarchical Navigable Small Worlds (HNSW) index –
gold standard of Vector Indexing
In-Memory only index - highly efficient for both
accuracy and speed
Vector Index | Neighbor Graph Vector Index
25
Layer 3
Layer 2
Layer 1
Layer 0
Copyright © 2025, Oracle and/or its affiliates
Partition Vector Index (e.g.,
IVF_FLAT index)
Partition-based index with vectors clustered
into table partitions based on similarity
Efficient scale-out index for unlimited data
size
Vector Index | Neighbor Partition Vector Index
Copyright © 2024, Oracle and/or its affiliates
26
…
Copyright © 2025, Oracle and/or its affiliates
Vector Index Creation
Copyright © 2025, Oracle and/or its affiliates
Basic index creation syntax:
CREATE VECTOR INDEX incident_idx ON SUPPORT_INCIDENTS(incident_vector)
ORGANIZATION [INMEMORY NEIGHBOR GRAPH | NEIGHBOR PARTITIONS]
DISTANCE COSINE | EUCLIDEAN | MANHATTAN | ...
TARGET_ACCURACY [<percent> | <Low-level parameters: efConstruction, nClusters>
Choosing the ORGANIZATION for an index is simple:
• If the index data will fit in-memory, use INMEMORY NEIGHBOR GRAPH, else use NEIGHBOR PARTITIONS
The DISTANCE clause is optional (the default is COSINE)
TARGET_ACCURACY: Specify the default accuracy (recall) of queries when using the index
• Simple for users to specify accuracy than low-level index creation parameters
Copyright © 2025, Oracle and/or its affiliates
Search
Vectors
Vector Search SQL | Distance Function
Copyright © 2025, Oracle and/or its affiliates
NEW SQL Function to compute distance between vectors to gauge similarity
Different embedding models can use different distance metrics, but the basic concept remains the
same:
The Distance between two vectors is smaller for entities that are more similar
Distance functions supported in 23ai are:
COSINE (Default), EUCLIDEAN, EUCLIDEAN_SQUARED, HAMMING, MANHATTAN, DOT
VECTOR_DISTANCE(VECTOR1, VECTOR2, <optional distance metric>)
Vector Search SQL | Specifying Target Accuracy
Copyright © 2025, Oracle and/or its affiliates
Find the top 10 matching support incidents
NEW TARGET ACCURACY clause
to specify desired accuracy of
approximate similarity search
Overrides accuracy specified at
index creation
SELECT …
FROM Support_Incidents
ORDER BY VECTOR_DISTANCE(incident_vector, :search_vector)
FETCH FIRST 10 ROWS ONLY
TARGET ACCURACY [<percent> | <Low-level parameters>]
Vector Search SQL | Combine value-based and semantic search
Copyright © 2025, Oracle and/or its affiliates
Find the top 10 matching support incidents that
were filed within the last 7 days
SELECT …
FROM Support_Incidents
WHERE Incident_Date > SYSDATE – 7
ORDER BY VECTOR_DISTANCE(incident_vector, :search_vector)
FETCH FIRST 10 ROWS ONLY;
Value-based Attribute Filters can
be combined seamlessly with
Vector Search in SQL
Optimizer picks the best access
plan based on filter selectivity
• HIGH => PRE-FILTER
• MEDIUM => IN-FILTER
• LOW => POST-FILTER
Vector Search SQL | Similarity Search over Joins
Copyright © 2025, Oracle and/or its affiliates
Find the top 10 matching support incidents for
a Laptop reported by customers in Las Vegas
SELECT …
FROM Support_Incidents SI
JOIN Products P ON SI.product_id = P.id
JOIN Customers C ON SI.customer_id = C.id
WHERE P.Type = 'Laptop'
AND C.City = 'Las Vegas'
ORDER BY VECTOR_DISTANCE(SI.incident_vector, :search_vector)
FETCH FIRST 10 ROWS ONLY;
Combines customer and product
data, and AI search in a few lines
of SQL
Essential capability as enterprise
data is normalized
Any developer or DBA can learn
to use it in 10 minutes
Copyright © 2025, Oracle and/or its affiliates
Integrate
AI Vector Search is
fully integrated with
Oracle Database 23ai
features
Copyright © 2025, Oracle and/or its affiliates
Parallel Execution Analytics
Sharding Partitioning Security
RAC
Transactions
Exadata
AI Vector Search powers Complete Gen AI pipeline
Data Sources Document
Loaders
Document Transformation
(e.g., Text Splitting,
Summarization)
Embedding
Models
Vector
Database
Similarity
Search
LLMs User
AI Vector Search in Oracle 23ai Database
RAG
1. Native Database APIs for Gen-AI, from Document Processing to REST
call-outs to LLM Providers
2. Tight integration with 3rd party frameworks such as Langchain
35
Copyright © 2025, Oracle and/or its affiliates
Copyright © 2025, Oracle and/or its affiliates
Database
Configuration
Steps
Copyright © 2025, Oracle and/or its affiliates
Step 1
Step 2
Step 3
Step 4
Step 5
Step 6
Create User
Provide necessary Grants
Load Augmented Model (all-MiniLM-L12-
v2 Model in ONNX Format) to Oracle
Database 23ai
Create Table/Insert Data
into Table and Generate
Vector Embeddings
Generate Vector
Embedding for Search
string
(Optional) Create Vector
Index
Database Setup Steps| AI Vector Search
Database Setup | AI Vector Search
Copyright © 2025, Oracle and/or its affiliates
User Creation
CREATE USER rishoradev IDENTIFIED BY "Welcome123"
QUOTA UNLIMITED ON USERS ;
User created.
SQL>
Database Setup| AI Vector Search
Copyright © 2025, Oracle and/or its affiliates
Grant User Access to Import
Mining Model
GRANT DB_DEVELOPER_ROLE, CREATE MINING MODEL TO
rishoradev;
Grant succeeded.
SQL>
Database Setup | AI Vector Search
Copyright © 2025, Oracle and/or its affiliates
Download the ONNX
model
Database Setup | AI Vector Search
Copyright © 2025, Oracle and/or its affiliates
Load Augmented Model
BEGIN
DBMS_VECTOR.LOAD_ONNX_MODEL
(
directory => 'DM_DUMP',
file_name => 'all_MiniLM_L12_v2.onnx',
model_name => 'ALL_MINILM_L12_V2'
);
END;
/
PL/SQL procedure successfully completed.
SQL>
Database Setup | AI Vector Search
Copyright © 2025, Oracle and/or its affiliates
Validate the Model
SELECT model_name, algorithm, mining_function
FROM user_mining_models
WHERE model_name='ALL_MINILM_L12_V2';
SQL>
MODEL_NAME ALGORITHM MINING_FUNCTION
____________________ ____________ __________________
ALL_MINILM_L12_V2 ONNX EMBEDDING
Database Setup| AI Vector Search
Copyright © 2025, Oracle and/or its affiliates
Simple Test
SELECT VECTOR_EMBEDDING(ALL_MINILM_L12_V2 USING
'I Love Las Vegas' as DATA) AS embedding;
SQL>
[-2.90911552E-002,-8.46567824E-002,2.63756663E-
002,3.70936394E-002,4.80906107E-003,8.88874196E-
003,7.3078312E-002,6.34469092E-003,1.13900416E-
002,3.47795784E-002,-1.76432729E-002,-1.12383179E-002,-
4.84913066E-002,2.34519858E-002,3.46485227E-002,-
4.02011424E-002,4.67650704E-002,2.89806677E-002, ...]
Copyright © 2025, Oracle and/or its affiliates
Data Load
Database Setup| AI Vector Search
Copyright © 2025, Oracle and/or its affiliates
Create Table
DESC XXRM_REPORT_LIST
Name Null? Type
__________________ ___________ _________________
REP_ID NOT NULL NUMBER
REP_TYPE VARCHAR2(20)
PRODUCT_FAMILY VARCHAR2(4000)
REP_CUST VARCHAR2(50)
REP_TECH VARCHAR2(20)
REPORT_NAME VARCHAR2(4000)
REP_DESCRIPTION VARCHAR2(4000)
REP_DESC_VEC VECTOR(*,*)
REPORT_NAME_VEC VECTOR(*,*)
SQL>
Database Setup| AI Vector Search
Copyright © 2025, Oracle and/or its affiliates
Create Table
DESC XXRM_REPORT_LIST
Name Null? Type
__________________ ___________ _________________
REP_ID NOT NULL NUMBER
REP_TYPE VARCHAR2(20)
PRODUCT_FAMILY VARCHAR2(4000)
REP_CUST VARCHAR2(50)
REP_TECH VARCHAR2(20)
REPORT_NAME VARCHAR2(4000)
REP_DESCRIPTION VARCHAR2(4000)
REP_DESC_VEC VECTOR(*,*)
REPORT_NAME_VEC VECTOR(*,*)
SQL>
VECTOR Data Type
Database Setup| AI Vector Search
Copyright © 2025, Oracle and/or its affiliates
Generate VECTOR
Embedding
SQL> UPDATE xxrm_report_list xsrl
SET xsrl.report_name_vec =
( SELECT TO_VECTOR(
VECTOR EMBEDDING(ALL_MINILM_L12_V2 using
report_name as data
)
)
FROM XXRM_REPORT_LIST xr
WHERE xr.Rep_Id = xsrl.Rep_Id) ;
Copyright © 2025, Oracle and/or its affiliates
AI Vector
Search in
Action
Database Setup| AI Vector Search
Copyright © 2025, Oracle and/or its affiliates
Performing
Semantic Search
SELECT xsrl.product_family, xsrl.report_name
FROM xxrm_report_list xsrl
ORDER BY VECTOR_DISTANCE(
TO_VECTOR(
VECTOR_EMBEDDING(ALL_MINILM_L12_V2
USING 'subledger accounting' as data)),
rep_desc_vec)
FETCH FIRST 5 ROWS ONLY ;
SQL>
Database Setup| AI Vector Search
Copyright © 2025, Oracle and/or its affiliates
INDEX Creation
CREATE VECTOR INDEX XXRM_REP_DESC ON
XXRM_REPORT_LIST (REP_DESC_VEC) ORGANIZATION
INMEMORY NEIGHBOR GRAPH
DISTANCE COSINE
WITH TARGET ACCURACY 95 ;
Vector INDEX created.
SQL>
Entry Point
Layer 3
Layer 2
Layer 1
Layer 0
Query Vector
Copyright © 2025, Oracle and/or its affiliates
---------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
---------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 5 | 71400 | 2 (50)| 00:00:01 |
|* 1 | COUNT STOPKEY | | | | | |
| 2 | VIEW | | 5 | 71400 | 2 (50)| 00:00:01 |
|* 3 | SORT ORDER BY STOPKEY | | 5 | 16855 | 2 (50)| 00:00:01 |
| 4 | TABLE ACCESS BY INDEX ROWID| XXRM_REPORT_LIST | 5 | 16855 | 1 (0)| 00:00:01 |
| 5 | VECTOR INDEX HNSW SCAN | XXRM_REP_DESC | 5 | 16855 | 1 (0)| 00:00:01 |
---------------------------------------------------------------------------------------------------
Improved Performance
Database Setup| AI Vector Search
Copyright © 2025, Oracle and/or its affiliates
Combining Value-
Based Search with
Semantic Search
SELECT xsrl.product_family, xsrl.report_name
FROM xxrm_report_list xsrl
WHERE PRODUCT_FAMILY = 'General Ledger'
ORDER BY VECTOR_DISTANCE(
TO_VECTOR(
VECTOR_EMBEDDING(ALL_MINILM_L12_V2
USING 'subledger accounting’ as data)),
rep_desc_vec)
FETCH FIRST 5 ROWS ONLY ;
SQL>
Copyright © 2025, Oracle and/or its affiliates
AI Vector Search: What’s new
Key Innovations
Exadata Innovations
Distance Computation
Offload, BINARY + INT8
HNSW Index
Transactions, RAC, Persistence,
Memory Sizing Advisor
LLMs and Frameworks
Ollama, LlamaIndex,
LangChainJS, Langchain4J
Hybrid Indexes General Improvements Partition-
Local Indexes, Auto Accuracy
Calibration, Jaccard Distance,
Reranking APIs
Miscellaneous
Post-Filtering,
Sparse Vectors
Copyright © 2024, Oracle and/or its affiliates
.6
Oracle ML Integration
VECTOR output from Feature
Extraction algorithms
Database Free
Optimized IVF Index Space
Utilization
Copyright © 2025, Oracle and/or its affiliates
Copyright © 2025, Oracle and/or its affiliates
Oracle AI Vector Search powers the Modern AI Enterprise
Seamlessly integrated with mission-critical capabilities of
Oracle Database 23ai
Perform sophisticated information retrieval by combining semantic
searches with value-based searches on your business data
Converse with business data in Natural Language using RAG
Build modern AI apps for the enterprise natively in the database
Copyright © 2025, Oracle and/or its affiliates
56
23.7 New Features
Copyright © 2025, Oracle and/or its affiliates
57
What’s New in 23.7?
Exadata Innovations
Vector Columnar Format
Vector Distance Projection
Top-K Caching
Vector Indexes
Sharded Local Indexes
Included Columns w/ IVF
RAC Duplication Optimizations
HNSW Transactional Snapshots
LLMs and Frameworks
LangChainJS
Langchain Hybrid Search
Llamafile
ONNX Runtime Enhancements
Support image models and
improve perf
Hybrid Vector Indexes
JSON Support
General Improvements
External Table Support w/ Vectors
Arithmetic and Aggregation Ops
VECTOR type support in ML algos
HPK Optimizations for Binary
ADB & Database Free
Quality and Perf fixes
Better Vector Memory Pool
Configuration Defaults
Attribute Filtering
Post Filtering
Optimizer Costing
Key Enhancements in Oracle 23.7 for Vector Capabilities
• External Tables with VECTOR columns
• VECTOR data types can now be used in external tables—enabling you to store embeddings outside of the
database while still running semantic searches on them
• Arithmetic & Aggregate Functions on Vectors
• Perform element-wise +, –, and × operations on vectors.
• Use SUM and AVG across vector collections.
• Fully supported in both SQL and PL/SQL (with RAC, specific patches required)
• PL/SQL Enhancements for Vectors
• New BINARY vector format (bit-level vectors) alongside existing FLOAT32, FLOAT64, INT8 types.
• Use JACCARD distance metric for similarity on BINARY vectors via VECTOR_DISTANCE(..., metric=>'JACCARD')
Copyright © 2024, Oracle and/or its affiliates
58
Key Enhancements in Oracle 23.7 for Vector Capabilities
• Sharding & Globally Distributed Database Support
• VECTOR columns and indexes are fully supported on sharded and duplicated tables.
• Semantic searches are parallelized across shards—enhancing scalability, performance, and resilience
• Image Transformer (ONNX) Integration
• Import image transformer models (in ONNX format with decoding/preprocessing) for in-database image
embedding.
• Seamless integration with AI Vector Search for image similarity workloads
• Machine Learning Algorithm Support
• VECTOR data type can now serve as input to in-database ML algorithms (classification, clustering, anomaly
detection, feature extraction)
• Deprecation Notice
• The old Python EmbeddingModel and EmbeddingModelConfig packages are deprecated in 23.7.
• Use the newer ONNXPipeline and ONNXPipelineConfig instead
Copyright © 2024, Oracle and/or its affiliates
59
Copyright © 2024, Oracle and/or its affiliates | Confidential - Oracle Internal
60
HNSW Indexes | RAC Duplication
HNSW Indexes are duplicated on ALL RAC instances
• Queries on any instance can use HNSW index
• Provides Read Scalability
High-Level Design:
• Instance processing the index creation DDL acts as the
“Primary”
• It chooses the HNSW Graph Build SCN and creates the
ROWID_VID mapping table on disk
• Two choices to duplicate the index
1. Centralized mode: (default)
The “primary” instance creates and persists the HNSW graph, and
other instances create their graph from this copy
2. Decentralized mode:
Each instance uses the HNSW Graph Build and ROWID_VID
mapping, and creates its own HNSW graph in parallel
Instance
1
Instance
2
ROWID_VID Table CHECKPOINTS Table
Base Table
IVF Index | Partition-Local Indexing
Enterprise data is often (sub)partitioned by relational attributes
• Better scalability
• Query Acceleration via partition pruning
• Efficient Data Lifecycle Management
IVF Indexes introduced LOCAL indexing in 23.6RU
• Build a vector index on each (sub)partition
• Filter by Partition Keys
• Perform Vector Search on qualifying index partitions
Copyright © 2024, Oracle and/or its affiliates
61
Partition-Local Vector Index of Support
Incidents
…
California New York Nevada
Partitioned by State
Copyright © 2024, Oracle and/or its affiliates | Confidential - Oracle Internal
62
IVF Index | Included Columns
Included Columns are additional columns stored in
the IVF vector index
• Accelerates converged queries w/ relational filters +
vector search
• Baseline IVF index typically chooses a Pre-Filter plan
which can be expensive as it essentially joins the
base table, the centroids table, and centroid
partitions table
• Using included columns avoids the join with base
table
Centroid Partitions Table shape:
(BASE_TABLE_ROWID, CENTROID_ID,
DATA_VECTOR, INCLUDE_COL1, ..)
Up-to 31 columns of type: NUMBER, CHAR,
VARCHA2, DATE, TIMESTAMP, JSON (< 32KB)
CREATE TABLE SUPPORT_INCIDENTS
(id NUMBER,
incident_date DATE,
incident_desc CLOB,
incident_desc_vector VECTOR(768, FLOAT32))
Support Incidents Table
CREATE VECTOR INDEX INCIDENTS_IDX ON
SUPPORT_INCIDENTS (incident_desc_vector)
INCLUDE (incident_date) → included column
ORGANIZATION NEIGHBOR PARTITIONS;
IVF index w/ included column
ONNX | Enhancements
Copyright © 2024, Oracle and/or its affiliates | Confidential - Oracle Internal
63
.7
In-database image embedding models
• Rappi, Trane, NRI, etc.
• Resnet, CLIP, ViT models
• JPEG images for 23.7,
PNG to follow
• VECTOR_EMBEDDING() operator
remains unchanged
ONNX Runtime Session Caching
• Avoid ONNX session reinitialization
cost for the same process
• 3-4X faster embedding generation
• Essential for Hybrid Indexes
Copyright © 2024, Oracle and/or its affiliates | Confidential - Oracle Internal
64
External Tables | VECTOR Type
Customers often store unstructured data in Object Store, Sharepoint, etc.
• Since the data is outside the database, they prefer to generate vectors externally as well
• How do we get access to such data? External Tables!
VECTOR type is supported with External Tables
• Only non-partitioned and in-line external tables are supported for now
• Fully integrated with 3 access drivers: ORACLE_LOADER, ORACLE_BIGDATA, ORACLE_DATAPUMP
• Vectors can be read from CSV, Parquet, Avro, ORC formats
• Supports dbms_cloud.create_external_table()
User must create an internal table from the external table to create VECTOR indexes
• Ability to create indexes in the database without “importing” data
And many more features!
Exadata Innovations
Offload SPARSE
Vector Search, Performance
Fixes
HNSW Index
Optimizer Costing
LLMs and Frameworks
LangChainJS,
Langchain Hybrid Search
General Improvements
PMOP support with Vector Indexes,
Native Client Drivers for Binary,
Sparse formats, Stats Bootstrap for
Index Calibration
Miscellaneous
Arithmetic/Aggregation
operations on vectors,
PLSQL support for BINARY
Oracle ML Integration
VECTOR type support in
ML algorithms
.7
Hybrid Vector Indexes
JSON support
Autonomous Database
Quality and Performance Fixes
Copyright © 2024, Oracle and/or its affiliates | Confidential - Oracle Internal
65
What’s in 23.8 ?
23.8 is primarily a stability release for AI Vector Search
Besides quality, focus on Performance and Diagnosability/Usability transactions:
• Improved error messages, X$ and V$ diagnostic views, Wait Events, Statistics, Tracing, Integration with
ADDM/ASH/Sql Monitoring/etc.
Copyright © 2025, Oracle and/or its affiliates
66
Copyright © 2025, Oracle and/or its affiliates
What’s in 23.9 ?
• Sparsity-aware HNSW Indexes
• Support for SPARSE HNSW indexes, optimized for high-dimensional vectors with many zeros
• Hybrid Vector Index Creation via DBMS_SEARCH
• Create hybrid indexes (combined keyword + semantic) using PL/SQL through DBMS_SEARCH
• ALTER INDEX Enhancements for Hybrid Indexes
• Modify existing hybrid vector indexes—change embedding models, vectorizers, or index types—with a
standard ALTER INDEX statement
• Advanced SEARCH API for Hybrid Indexes
• Support Weighted Reciprocal Rank Fusion (WRRF) to combine keyword and semantic rankings
• Define custom scoring logic with the score_calc parameter
• Apply full relational filtering in hybrid index searches
Copyright © 2025, Oracle and/or its affiliates
What’s in 23.9 ?
• IVF Index Reorganization
• Optimize Inverted File Flat (IVF) indexes on-the-fly—without downtime or blocking—and while DML and queries con
• Inverted File Flat Vector Indexes: Online Rebuild
• Rebuild IVF indexes online to maintain optimal performance as underlying data evolves
• HNSW Index Snapshots
• Introduce incremental snapshots for Hierarchical Navigable Small World (HNSW) indexes
• Efficient, periodic graph refresh without full rebuilds
• Partition Maintenance Support for IVF and HNSW
• Perform partition maintenance operations—like adding, dropping, merging, or splitting—on tables with global IVF o
23ai 23.5 23.6 23.7 23.9 23.*
VECTOR Datatype
IVF Index (full support)
HNSW Index (no DMLs or RAC)
Flexible Vector Generation (ONNX)
SQL Extensions (e.g. ACCURACY)
Exadata AI Smart Scans
Hybrid Search (Attribute Filtering)
Multi-Vector Search
Vector Memory Pool
DBMS_VECTOR_CHAIN APIs
Client Drivers and PLSQL
OCI, Cohere, Hugging Face LLMs
Vector Memory Auto Grow/Shink
HNSW Duplication on RAC
In-Memory Centroid Vectors (IVF)
BINARY Vectors
Langchain Integration
HNSW DML Support (Journaling)
HNSW Persistence w/ Checkpointing
Exadata Vector Distance Projection
Hybrid Vector Indexes
Partition Local Indexes (IVF)
SPARSE Vectors
Pre-Built ONNX Embedding Models
Vectors from Feature Extraction Algos
Google, Ollama LLM Integrations
LlamaIndex Integration
HNSW DML Support (Snapshots)
Included “Covering” Columns (IVF)
Exadata Vector Columnar Format
Shard-Local Vector Indexes
ONNX Image Support + Perf
Custom Distance Functions (JS)
Post-Filter for HNSW Index
Automatic Accuracy Calibration
IVF Index Reorganization
Online Rebuild for Inverted File Flat (IVF)
Indexes
HNSW Index Snapshots
Partition Maintenance Support for IVF and
HNSW
Sparsity-aware HNSW Indexes
Hybrid Vector Index Creation via
DBMS_SEARCH
ALTER INDEX Enhancements for Hybrid
Indexes
Lots more stuff including Agents
AI Vector Search
Timeline
May ‘24 *
Oct ‘24 Jan ‘25 July ‘25
Jul ‘24
23.8
Apr ‘25
Copyright © 2025, Oracle and/or its affiliates
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra 2025.pdf