# 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;
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.decube.io/databases/oracle.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
