> For the complete documentation index, see [llms.txt](https://docs.n8n.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.vectorstoreoracledb.md).

# Oracle Database Vector Store

Use the Oracle Database Vector Store node to interact with Oracle Database as a vector store[^1]. You can insert documents into a vector table, get documents from a vector table, retrieve documents to provide them to a retriever connected to a chain[^2], or connect directly to an agent[^3] as a tool[^4].

On this page, you'll find the node parameters for the Oracle Database Vector Store node, and links to more resources.

{% hint style="info" %}
**Credentials**

You can find authentication information for this node [here](/integrations/builtin/credentials/oracledb.md).
{% endhint %}

{% hint style="info" %}
**Oracle Database vector support**

Your Oracle Database instance must support Oracle AI Vector Search for vector store operations. For more details, refer to the [Oracle AI Vector Search Guide](https://docs.oracle.com/pls/topic/lookup?ctx=en/database/oracle/oracle-database/26/arpls\&id=VECSE-GUID-29B9E7E1-5A99-4D95-8614-58CA07D29957).
{% endhint %}

{% hint style="info" %}
**Parameter resolution in sub-nodes**

Sub-nodes behave differently to other nodes when processing multiple items using an expression.

Most nodes, including root nodes, take any number of items as input, process these items, and output the results. You can use expressions to refer to input items, and the node resolves the expression for each item in turn. For example, given an input of five `name` values, the expression `{{ $json.name }}` resolves to each name in turn.

In sub-nodes, the expression always resolves to the first item. For example, given an input of five `name` values, the expression `{{ $json.name }}` always resolves to the first name.
{% endhint %}

## Node usage patterns

You can use the Oracle Database Vector Store node in the following patterns.

### Use as a regular node to insert and retrieve documents

You can use the Oracle Database Vector Store as a regular node to insert or get documents. This pattern places the Oracle Database Vector Store in the regular connection flow without using an agent.

You can see an example of this in scenario 1 of [this template](https://n8n.io/workflows/2621-ai-agent-to-chat-with-files-in-supabase-storage/) (the template uses the Supabase Vector Store, but the pattern is the same).

### Connect directly to an AI agent as a tool

You can connect the Oracle Database Vector Store node directly to the tool connector of an [AI agent](/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent.md) to use a vector store as a resource when answering queries.

Here, the connection would be: AI agent (tools connector) -> Oracle Database Vector Store node.

### Use a retriever to fetch documents

You can use the [Vector Store Retriever](/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.retrievervectorstore.md) node with the Oracle Database Vector Store node to fetch documents from the Oracle Database Vector Store node. This is often used with the [Question and Answer Chain](/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.chainretrievalqa.md) node to fetch documents from the vector store that match the given chat input.

An [example of the connection flow](https://n8n.io/workflows/1960-ask-questions-about-a-pdf-using-ai/) (the linked example uses Pinecone, but the pattern is the same) would be: Question and Answer Chain (Retriever connector) -> Vector Store Retriever (Vector Store connector) -> Oracle Database Vector Store.

### Use the Vector Store Question Answer Tool to answer questions

Another pattern uses the [Vector Store Question Answer Tool](/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.toolvectorstore.md) to summarize results and answer questions from the Oracle Database Vector Store node. Rather than connecting the Oracle Database Vector Store directly as a tool, this pattern uses a tool specifically designed to summarize data in the vector store.

The [connections flow](https://n8n.io/workflows/2465-building-your-first-whatsapp-chatbot/) (the linked example uses the Simple Vector Store, but the pattern is the same) in this case would look like this: AI agent (tools connector) -> Vector Store Question Answer Tool (Vector Store connector) -> Oracle Database Vector Store.

## Node parameters

This Vector Store node has four modes: **Get Many**, **Insert Documents**, **Retrieve Documents (As Vector Store for Chain/Tool)**, and **Retrieve Documents (As Tool for AI Agent)**. The mode you select determines the operations you can perform with the node and what inputs and outputs are available.

### Rerank Results

Enables [reranking](/key-concept-glossary.md#ai-reranking). If you enable this option, you must connect a reranking node to the vector store. That node will then rerank the results for queries. You can use this option with the `Get Many`, `Retrieve Documents (As Vector Store for Chain/Tool)` and `Retrieve Documents (As Tool for AI Agent)` modes.

### Get Many parameters

* **Table Name**: Enter the name of the table you want to query. If the table doesn't exist, the node creates it.
* **Prompt**: Enter your search query.
* **Limit**: Enter a number to set how many results to retrieve from the vector store. For example, set this to `10` to get the ten best results.

### Insert Documents parameters

* **Table Name**: Enter the name of the table to store vectors in. If the table doesn't exist, the node creates it.

### Retrieve Documents parameters (As Vector Store for Chain/Tool)

* **Table Name**: Enter the name of the table you want to query.

### Retrieve Documents (As Tool for AI Agent) parameters

* **Name**: The name of the vector store.
* **Description**: Explain to the LLM what this tool does. A good, specific description allows LLMs to produce expected results more often.
* **Table Name**: Enter the Oracle Database vector table to query.
* **Limit**: Enter how many results to retrieve from the vector store. For example, set this to `10` to get the ten best results.

## Node options

### Distance Strategy

Available in **Get Many** and **Retrieve Documents** modes. This is the method to calculate the distance between two vectors. Choose from:

* **Cosine**
* **Inner Product**
* **Euclidean**
* **Manhattan**
* **Euclidean Squared**
* **Hamming**

### Metadata Filter

Available in **Get Many**, **Retrieve Documents (As Vector Store for Chain/Tool)**, and **Retrieve Documents (As Tool for AI Agent)** modes. When searching for data, use this to match with metadata associated with the document.

If you specify more than one metadata filter field using the UI, all fields must match. This works like an `AND` query.

For advanced filtering, Oracle Database Vector Store passes metadata filters through to Oracle AI Vector Search. This supports richer filter objects, including arrays, nested filters, comparison operators such as `$gte`, exclusion operators such as `$nin`, and logical operators such as `$and`.

When inserting data, the metadata is set using the document loader. Refer to [Default Data Loader](/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.documentdefaultdataloader.md) for more information on loading documents.

## Templates and examples

[Browse Oracle Database Vector Store node documentation integration templates](https://n8n.io/integrations/oracle-database-vector-store) or [search all templates](https://n8n.io/workflows/)

## Related resources

Refer to [Oracle AI Vector Search documentation](https://docs.oracle.com/en/database/oracle/oracle-database/23/vecse/) for more information about vector search in Oracle Database.

View n8n's [Advanced AI](/build/integrate-ai.md) documentation.

[^1]: A vector store, or vector database, stores mathematical representations of information. Use with embeddings and retrievers to create a database that your AI can access when answering questions.

[^2]: AI chains allow you to interact with large language models (LLMs) and other resources in sequences of calls to components. AI chains in n8n don't use persistent memory, so you can't use them to reference previous context (use AI agents for this).

[^3]: AI agents are artificial intelligence systems capable of responding to requests, making decisions, and performing real-world tasks for users. They use large language models (LLMs) to interpret user input and make decisions about how to best process requests using the information and resources they have available.

[^4]: In an AI context, a tool is an add-on resource that the AI can refer to for specific information or functionality when responding to a request. The AI model can use a tool to interact with external systems or complete specific, focused tasks.
