Skip to content

Commit

Permalink
📚 Docs Refresh: Oracle Source (airbytehq#6671)
Browse files Browse the repository at this point in the history
* Docs Refresh: Oracle

* Remove some words.

* Update feature table

* Case Sensitivity.
  • Loading branch information
avaidyanatha authored and schlattk committed Jan 4, 2022
1 parent 50f55d0 commit 4cefc40
Showing 1 changed file with 43 additions and 49 deletions.
92 changes: 43 additions & 49 deletions docs/integrations/sources/oracle.md
Original file line number Diff line number Diff line change
@@ -1,48 +1,6 @@
# Oracle DB

## Overview

The Oracle Database source supports both Full Refresh and Incremental syncs. You can choose if this connector will copy only the new or updated data, or all rows in the tables and columns you set up for replication, every time a sync is run.

### Resulting schema

The Oracle source does not alter the schema present in your database. Depending on the destination connected to this source, however, the schema may be altered. See the destination's documentation for more details.

### Data type mapping

Oracle data types are mapped to the following data types when synchronizing data.
You can check the test values examples [here](https://github.com/airbytehq/airbyte/blob/master/airbyte-integrations/connectors/source-oracle/src/test-integration/java/io/airbyte/integrations/source/oracle/OracleSourceComprehensiveTest.java).
If you can't find the data type you are looking for or have any problems feel free to add a new test!

| Oracle Type | Resulting Type | Notes |
| :--- | :--- | :--- |
| `binary_double` | number | |
| `binary_float` | number | |
| `blob` | string | |
| `char` | string | |
| `char(3 char)` | string | |
| `clob` | string | |
| `date` | string | |
| `decimal` | number | |
| `float` | number | |
| `float(5)` | number | |
| `integer` | number | |
| `interval year to month` | string | |
| `long raw` | string | |
| `number` | number | |
| `number(6, 2)` | number | |
| `nvarchar(3)` | string | |
| `raw` | string | |
| `timestamp` | string | |
| `timestamp with local time zone` | string | |
| `timestamp with time zone` | string | |
| `varchar2` | string | |
| `varchar2(256)` | string | |
| `xmltype` | string | |

If you do not see a type in this list, assume that it is coerced into a string. We are happy to take feedback on preferred mappings.

### Features
## Features

| Feature | Supported | Notes |
| :--- | :--- | :--- |
Expand All @@ -51,21 +9,24 @@ If you do not see a type in this list, assume that it is coerced into a string.
| Replicate Incremental Deletes | Coming soon | |
| Logical Replication \(WAL\) | Coming soon | |
| SSL Support | Coming soon | |
| SSH Tunnel Connection | Coming soon | |
| SSH Tunnel Connection | Yes | |
| LogMiner | Coming soon | |
| Flashback | Coming soon | |
| Namespaces | Yes | Enabled by default |

## Getting started
The Oracle source does not alter the schema present in your database. Depending on the destination connected to this source, however, the schema may be altered. See the destination's documentation for more details.

## Getting Started (Airbyte Cloud)
On Airbyte Cloud, only TLS connections to your Oracle instance are supported. Other than that, you can proceed with the open-source instructions below.

### Requirements
## Getting Started (Airbyte Open-Source)

#### Requirements

1. Oracle `11g` or above
2. Allow connections from Airbyte to your Oracle database \(if they exist in separate VPCs\)
3. Create a dedicated read-only Airbyte user with access to all tables needed for replication

### Setup guide

#### 1. Make sure your database is accessible from the machine running Airbyte

This is dependent on your networking setup. The easiest way to verify if Airbyte is able to connect to your Oracle instance is via the check connection tool in the UI.
Expand Down Expand Up @@ -100,7 +61,7 @@ Your database user should now be ready for use with Airbyte.

Case sensitive. Defaults to the upper-cased user if empty. If the user does not have access to the configured schemas, no tables will be discovered.

## Connection via an SSH Tunnel
## Connection via SSH Tunnel

Airbyte has the ability to connect to a Oracle instance via an SSH Tunnel. The reason you might want to do this because it is not possible (or against security policy) to connect to the database directly (e.g. it does not have a public IP address).

Expand All @@ -117,6 +78,39 @@ Using this feature requires additional configuration, when creating the source.
6. If you are using `Password Authentication`, then `SSH Login Username` should be set to the password of the User from the previous step. If you are using `SSH Key Authentication` leave this blank. Again, this is not the Oracle password, but the password for the OS-user that Airbyte is using to perform commands on the bastion.
7. If you are using `SSH Key Authentication`, then `SSH Private Key` should be set to the RSA Private Key that you are using to create the SSH connection. This should be the full contents of the key file starting with `-----BEGIN RSA PRIVATE KEY-----` and ending with `-----END RSA PRIVATE KEY-----`.

## Data Type Mapping

Oracle data types are mapped to the following data types when synchronizing data.
You can check the test values examples [here](https://github.com/airbytehq/airbyte/blob/master/airbyte-integrations/connectors/source-oracle/src/test-integration/java/io/airbyte/integrations/source/oracle/OracleSourceComprehensiveTest.java).
If you can't find the data type you are looking for or have any problems feel free to add a new test!

| Oracle Type | Resulting Type | Notes |
| :--- | :--- | :--- |
| `binary_double` | number | |
| `binary_float` | number | |
| `blob` | string | |
| `char` | string | |
| `char(3 char)` | string | |
| `clob` | string | |
| `date` | string | |
| `decimal` | number | |
| `float` | number | |
| `float(5)` | number | |
| `integer` | number | |
| `interval year to month` | string | |
| `long raw` | string | |
| `number` | number | |
| `number(6, 2)` | number | |
| `nvarchar(3)` | string | |
| `raw` | string | |
| `timestamp` | string | |
| `timestamp with local time zone` | string | |
| `timestamp with time zone` | string | |
| `varchar2` | string | |
| `varchar2(256)` | string | |
| `xmltype` | string | |

If you do not see a type in this list, assume that it is coerced into a string. We are happy to take feedback on preferred mappings.

## Changelog

Expand Down

0 comments on commit 4cefc40

Please sign in to comment.