2.1 Restrictions for Oracle AI Vector Search
The following are restrictions for Oracle AI Vector Search in Oracle Database 23ai.
- The feature Open Neural Network Exchange (ONNX) is only supported on the x86-64 Linux platform. It is not supported on Microsoft Windows.
- To size the Vector Pool, use the
VECTOR_MEMORY_SIZE
initialization parameter. You can dynamically modify this parameter at the following levels:- At the multitenant container database (CDB) level,
VECTOR_MEMORY_SIZE
specifies 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_SIZE
specifies the maximum Vector Pool usage allowed by a PDB. Reducing the parameter value evicts vector usage that exceeds the new quota.
- At the multitenant container database (CDB) level,
-
Table-Level Support
-
Truncate or move table operations are supported but will mark vector indexes unusable.
-
Partition management (PMOP) operations (for example,
DROP
,TRUNCATE
,EXCHANGE
,MERGE
,MOVE
,COALESCE
, andSPLIT
) are supported but will mark vector indexes unusable. -
Adding a hash partition will also mark vector indexes unusable. However, adding a range or list partition will not mark vector indexes unusable.
-
Vector columns are not supported either in or as the following:
- External tables
- 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 and check constraints
- 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
-
-
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:
- External tables
- IOTs
- Clusters or cluster tables
- Global temporary tables
- Blockchain tables
- Immutable tables
- Materialized views
-
There is no support for the following:
- Vector index creation on non-vector columns (for example,
VARCHAR
,NUMBER
, and so on) - Function-based vector index
- Alter index DDL for vector indexes
- Local partitioned vector indexes
- Online creation of vector indexes
- Vector index creation on non-vector columns (for example,
-
INMEMORY NEIGHBOR GRAPH
restrictions include:- DMLs are not supported on base tables that have an
INMEMORY NEIGHBOR GRAPH
index.
- DMLs are not supported on base tables that have an
-
- The latest python-oracledb, node-oracledb, JDBC, ODP.NET, and OCI drivers enable native binds.
- All other SQL drivers need to use CLOBs or VARCHAR2 for binds and for vector definitions.
- Oracle clients from release 19c and release 21c will see vectors as CLOBs.
- Integration with the following is not supported:
- Vector indexes with transportable tablespaces are not supported with Oracle Data Pump.
- Oracle Database Advanced Queuing
- Oracle Database Gateways
- A maximum of 65535 dimensions is supported.
- Data redaction is not supported for the
VECTOR
data type. Specifically, you cannot:- Add a data redaction policy on a vector column.
- Alter a table to modify a column to the
VECTOR
data type if the column has a redaction policy defined on it.
Parent topic: Issues Affecting All Platforms for Oracle Database 23ai