---
title: Oracle
slug: /bundles-oracle
---

import Icon from "@site/src/components/icon";
import PartialParams from '@site/docs/_partial-hidden-params.mdx';
import PartialConditionalParams from '@site/docs/_partial-conditional-params.mdx';
import PartialVectorSearchResults from '@site/docs/_partial-vector-search-results.mdx';
import PartialVectorStoreInstance from '@site/docs/_partial-vector-store-instance.mdx';
import { GraduatedBundleInstall } from '@site/docs/_partial-bundle-graduated-install.mdx';

<GraduatedBundleInstall packageName="oracle" />

<Icon name="Blocks" aria-hidden="true" /> [**Bundles**](/components-bundle-components) contain custom components that support specific third-party integrations with Langflow.

This page describes the components that are available in the **Oracle** bundle.

## Prerequisites

- An Oracle Database and its `python-oracledb` connection values. For more information, see [Connecting to Oracle Database](https://python-oracledb.readthedocs.io/en/latest/user_guide/connection_handling.html).

## Oracle Vector Store

The **Oracle Vector Store** component reads and writes to Oracle vector stores using an instance of [`OracleVS`](https://docs.langchain.com/oss/python/integrations/vectorstores/oracle) from `langchain_oracledb`. Use it to ingest documents and perform similarity and MMR searches.

<details>
<summary>About vector store instances</summary>

<PartialVectorStoreInstance />

</details>

<PartialVectorSearchResults />

:::tip
For a tutorial using a vector database in a flow, see [Create a vector RAG chatbot](/chat-with-rag).
:::

### Oracle Vector Store parameters

You can inspect a vector store component's parameters to learn more about the inputs it accepts, the features it supports, and how to configure it.

<PartialParams />

<PartialConditionalParams />

For more information, see the [OracleVS documentation](https://docs.langchain.com/oss/python/integrations/vectorstores/oracle).

| Name | Type | Description |
|------|------|-------------|
| user | SecretString | Input parameter. Oracle database user. Optional. |
| password | SecretString | Input parameter. Oracle database password. Optional. |
| dsn | SecretString | Input parameter. Oracle DSN or connect string. Required. |
| wallet_password | SecretString | Input parameter. Wallet password for wallet-based connections. Optional. |
| connection_params | Dictionary | Input parameter. Non-secret python-oracledb connection options, such as `config_dir` and `wallet_location`. Optional. |
| table_name | String | Input parameter. Table name used by the vector store. Required. |
| ingest_data | JSON | Input parameter. Data to ingest into the vector store. Optional. |
| search_query | String | Input parameter. Query text for similarity search. Optional. |
| embedding | Embeddings | Input parameter. Embedding function to use. Required. |
| number_of_results | Integer | Input parameter. Number of results to return in search. Default: `4`. |
| search_type | String | Input parameter. Search mode to use. Options are `Similarity` (default) and `MMR (Max Marginal Relevance)`. |
| distance_strategy | String | Input parameter. Distance calculation strategy. Options are `EUCLIDEAN`, `DOT`, and `COSINE`. Default: `COSINE`. |
| create_index | Boolean | Input parameter. If `true`, creates a vector index after setup. Default: `true`. |
| index_params | Dictionary | Input parameter. Parameters for index creation, such as `idx_name` and `idx_type`. Optional. |
| mutate_on_duplicate | Boolean | Input parameter. When supported by your `langchain_oracledb` version, controls mutation behavior on duplicate inserts. Default: `false`. |

## Oracle Doc Loader

The **Oracle Doc Loader** component reads documents from Oracle Database using [`OracleDocLoader`](https://docs.langchain.com/oss/python/integrations/document_loaders/oracleai) from `langchain_oracledb.document_loaders`. It returns a list of [`JSON`](/data-types#json) objects converted from `Document`.

### Oracle Doc Loader parameters

<PartialParams />

For information, see the [Oracle AI Vector Search Document Processing documentation](https://docs.langchain.com/oss/python/integrations/document_loaders/oracleai).

| Name | Type | Description |
|------|------|-------------|
| user | SecretString | Input parameter. Oracle database user. Optional. |
| password | SecretString | Input parameter. Oracle database password. Optional. |
| dsn | SecretString | Input parameter. Oracle DSN or connect string. Required. |
| wallet_password | SecretString | Input parameter. Wallet password for wallet-based connections. Optional. |
| connection_params | Dictionary | Input parameter. Non-secret python-oracledb connection options, such as `config_dir` and `wallet_location`. Optional. |
| params | Dictionary | Input parameter. Loader-specific options passed to `OracleDocLoader`, such as `owner`, `tablename`, and `colname`. Required. |

## Oracle Autonomous Database Loader

The **Oracle Autonomous Database Loader** component loads data from Oracle Autonomous Database (ADB) by running a SQL query and converting each row into a document, then into [`JSON`](/data-types#json).

### Oracle Autonomous Database Loader parameters

<PartialParams />

For more information, see the [Oracle Autonomous Database documentation](https://docs.langchain.com/oss/python/integrations/document_loaders/oracleadb_loader).

| Name | Type | Description |
|------|------|-------------|
| query | String | Input parameter. SQL query to execute. Each row in the result becomes a document. Required. |
| user | SecretString | Input parameter. Oracle database user. Optional. |
| password | SecretString | Input parameter. Oracle database password. Optional. |
| dsn | SecretString | Input parameter. Oracle DSN or connect string. Required. |
| wallet_password | SecretString | Input parameter. Wallet password for wallet-based connections. Optional. |
| connection_params | Dictionary | Input parameter. Non-secret Oracle options such as `schema`, `config_dir`, and `wallet_location`. Optional. |
| metadata | String | Input parameter. Comma-separated list of result columns to copy into document metadata. Optional. |
| parameter | Dictionary | Input parameter. Bind parameters for the SQL query. Optional. |

## Oracle Embeddings

The **Oracle Embeddings** component generates embeddings using Oracle AI Vector Search via `langchain_oracledb.OracleEmbeddings`. Use this component to create an embeddings function for the vector store or other downstream components.

For more information, see [Embedding model components](/components-embedding-models).

### Oracle Embeddings parameters

<PartialParams />

For more information, see the [Oracle embedding documentation](https://docs.oracle.com/en/database/oracle/oracle-database/23/vecse/utl_to_embedding-and-utl_to_embeddings-dbms_vector.html).

| Name | Type | Description |
|------|------|-------------|
| user | SecretString | Input parameter. Oracle database user. Optional. |
| password | SecretString | Input parameter. Oracle database password. Optional. |
| dsn | SecretString | Input parameter. Oracle DSN or connect string. Required. |
| wallet_password | SecretString | Input parameter. Wallet password for wallet-based connections. Optional. |
| connection_params | Dictionary | Input parameter. Non-secret python-oracledb connection options, such as `config_dir` and `wallet_location`. Optional. |
| embedding_params | Dictionary | Input parameter. Embedding parameters passed to `OracleEmbeddings`, such as `provider` and `model`. Optional. |
| proxy | SecretString | Input parameter. HTTP proxy to reach the embedding provider. Optional. |
