> For the complete documentation index, see [llms.txt](https://docs.decube.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.decube.io/databases/oracle.md).

# Oracle

## Supported Capabilities

{% tabs %}
{% tab title="Supported Capabilities" %}
**General**

* **Metadata** — metadata extraction and display of asset information (tables, columns, schemas). Types collected: Schema, Table, Column
* **Profiling** — data profiling on the Profiler tab
* **Preview** — sample data preview
* **Data Quality** — data quality monitoring and observability
* **Configurable Collection** — selective ingestion of schemas/workspaces in Data Source Management
* **View Table** — view tables, which are virtual tables based on SQL queries

**Data Quality Monitors**

* Freshness
* Volume
* Field Health
* Custom SQL
* Schema Drift

**Lineage**

* **View Table Lineage** — tracks virtual tables (views) and their data dependencies
* **Foreign Key Lineage** — tracks relationships between tables via primary and foreign keys
  {% endtab %}

{% tab title="Not Supported" %}
**General**

* External Table
* Stored Procedure

**Data Quality Monitors**

* Job Failure

**Lineage**

* External Table Lineage
* SQL Query Lineage
* Stored Procedure Lineage
  {% endtab %}
  {% endtabs %}

## Connection Requirements

Connecting to decube is as easy as providing us with read-only credentials to your Oracle database. At a minimum, we require

* `Username`
* `Password`
* `Host`
* `Port`
* `Database`

<figure><img src="/files/AG4xCldIolqKzN9C6snL" alt=""><figcaption><p>Oracle</p></figcaption></figure>

### Create User for Decube

A custom user would allow for a granular configuration of the user on your database and your connection to decube.

1. Create the user, and change password accordingly.

```sql
CREATE USER 'decube' IDENTIFIED BY '<password>';
```

2. Grant `read-only` privileges on all data dictionary views

```sql
GRANT SELECT_CATALOG_ROLE TO 'decube';
```

3. Grant access of tables and views to the decube user. Here `table` or `view` can be `*` if you're using decube to observe the whole database. For only a few tables, you'll have to run this command multiple times changing the `table` or `view` value.

```sql
GRANT CONNECT TO decube;
GRANT SELECT ON <schema>.<table> TO decube;
GRANT SELECT ON <schema>.<view> TO decube;
```
