Restrictions for Oracle AI Vector Search
The following are restrictions for Oracle AI Vector Search in Oracle AI Database 26ai.
- The feature Open Neural Network Exchange (ONNX) is only supported on the x86-64 Linux and Linux for Arm (aarch64) platforms. ONNX is not supported on Microsoft Windows.
- To size the Vector Pool manually, use the
VECTOR_MEMORY_SIZEinitialization parameter. You can dynamically modify this parameter at the following levels:- At the multitenant container database (CDB) level,
VECTOR_MEMORY_SIZEspecifies the current size of the Vector Pool. Reducing the parameter value evicts vector usage that exceeds the new size. - At the pluggable database (PDB), level
VECTOR_MEMORY_SIZEspecifies the maximum Vector Pool usage allowed by a PDB. Reducing the parameter value evicts vector usage that exceeds the new quota.
Note:
WhenVECTOR_MEMORY_SIZEis set to 1 andsga_targetis greater than 0 upon CDB initialization, HNSW index creation will automatically grow the vector memory pool to satisfy the new index. In this configuration, the PDBVECTOR_MEMORY_SIZEvalue will default to 0 and cannot be changed using theALTER SYSTEMcommand. - At the multitenant container database (CDB) level,
-
Table-Level Support
-
Truncate or move table operations are supported but will mark global vector indexes unusable.
-
Partition management (PMOP) operations (for example,
DROP,TRUNCATE,EXCHANGE,MERGE,MOVE,COALESCE, andSPLIT) are supported with Global IVF and Global HNSW indexes. However, the following restrictions apply:- Local HNSW indexes are not supported.
- Only
ADDandDROPoperations are supported on Local IVF indexes. - Any IVF or HNSW indexes that are created with included columns are not supported.
In the case that the operation is not supported, either the index is marked unusable and the PMOP continues to complete its operation for other indexes on the table, or an ORA error is returned.
-
Adding a hash partition will also mark global vector indexes unusable. However, adding a range or list partition will not mark global vector indexes unusable.
-
Vector columns are not supported either in or as the following:
- Index organized tables (IOTs) (neither as a primary key or as a non-key column)
- Clusters or cluster tables
- Global temporary tables
- Blockchain tables
- Immutable tables
- Partitioning and subpartitioning keys
- Primary and foreign keys
- Unique constraints
- Check constraints (
NULLandNOT NULLcheck constraints are supported) - Default value
- Modify column
- Manual segment space management (MSSM) tablespace (only a SYS user can create vectors as BasicFiles in MSSM tablespace)
- Continuous Query Notification (CQN) queries
- Non-vector indexes such as B-tree, bitmap, reverse key, text, spatial indexes
- For local Inverted Flat File (IVF) indexes:
ADDnon-hash vector indexes are supported but will mark vector indexes unusable.- All other PMOP operations are not supported and return an error when attempted.
-
-
Type-Level Support
Vector column specification does not support the following:
- Encryption clause
- SecureFiles storage clause
-
Query-Level Support
-
The partition row-limiting clause does not use vector indexes.
-
There is limited cost-based optimization support for vector indexes.
-
SQL constructs with vector columns do not support the following:
- Distinct, Count Distinct
- Order By, Group By
- Join condition
- Comparison operators (for example, >, <, =)
-
-
Index-Level Support
-
Vector indexes do not support the following:
- IOTs
- Clusters or cluster tables
- Global temporary tables
- Blockchain tables
- Immutable tables
- Materialized views
-
There is no support for the following:
- Function-based IVF vector indexes.
- Alter index DDL for HNSW vector indexes.
-
- The latest python-oracledb, node-oracledb, JDBC, ODP.NET, and OCI drivers enable native binds.
- All other SQL drivers need to use CLOBs or
VARCHAR2for binds and for vector definitions. - Oracle clients from release 19c and release 21c will see vectors as CLOBs.
- All other SQL drivers need to use CLOBs or
- Integration with the following is not supported:
- Vector indexes with transportable tablespaces are not supported with Oracle Data Pump.
- Oracle AI Database Advanced Queuing
- Oracle AI Database Gateways
- A maximum of 65535 dimensions is supported.
- Data redaction is not supported for the
VECTORdata type. Specifically, you cannot:- Add a data redaction policy on a vector column.
- Alter a table to modify a column to the
VECTORdata type if the column has a redaction policy defined on it.