Oracle Lineage Scanner
The Oracle lineage scanner supports only metadata ingestion using JDBC:
Supported statement types and SQL syntax
-
Supported Statements Types:
-
CREATE TABLE AS SELECT
-
CREATE VIEW
-
INSERT
-
MERGE
-
SELECT
-
UPDATE
-
-
Supported Database Objects for Design Time Lineage:
-
Views
-
Materialized Views
-
Lineage for PL/SQL code
-
procedures
-
functions
-
packages
-
-
-
Not yet supported SQL constructs:
-
Statements containing these SQL constructs will not be included in the lineage diagram:
-
Table Functions
-
Database Links
-
Synonyms (in the next release)
-
CONNECT BY
-
MATCH RECOGNIZE
-
Multi column pivot/unpivot (Note: single column is supported)
-
-
-
Lineage is not supported for:
-
Dynamic SQL
-
Lineage for virtual columns
-
Note: Most of the unsupported syntax and Oracle artifacts are planned to be supported in the upcoming versions of the scanner, based on prioritization.
Database-Level Privileges
The scanner’s database user needs to be able to query these Data Dictionary views:
-
DBA_TABLES
-
DBA_VIEWS
-
DBA_MVIEWS
-
DBA_OBJECTS
-
DBA_TAB_COLS
The user must have the following privileges:
-
CONNECT: This role allows the user to connect to the database.
GRANT CONNECT TO [YourUserOrRole];
-
SELECT_CATALOG_ROLE: This role grants read only access to Data Dictionary (DBA_%) and Performance (V$%) views. This role doesn’t grant us any access to the data in the database - only to performance & meta-data information..
GRANT SELECT_CATALOG_ROLE TO [YourUserOrRole];
Online (JDBC) extraction and configuration
Online (JDBC) based extraction connects to Oracle and extracts the necessary metadata.
Scope: Design time views and stored procedures.
Limitations: Currently, only username/password authentication is supported (other types are planned).
Property | Description |
---|---|
|
Unique name of the scanner job |
|
Must contain ORACLE |
|
Human readable description |
|
List of Ataccama ONE connection names for future automatic pairing |
|
The corresponding Oracle database name on ATA ONE Catalog. Prerequisite for matching the imported lineage assets with ATA ONE catalog items |
|
Full JDBC connection string |
|
Oracle username |
|
Oracle password, can be encrypted |
|
Defines the Oracle views that are used for lineage ingestion. Possible values: "ALL" and "DBA". Value "ALL" restrict the lineage ingestion scope only for database objects that the scanner user can access (i.e.: views) or can execute (i.e.: procedures, packages) Default: DBA |
|
List of schemas to include in lineage extraction. The filter is case-insensitive and supports Oracle SQL wildcards: '%' and ''. I.e.: to include all schemas ending with "PROD", add filter "%PROD". The escape characters is '\'. I.e.: to include all schemas starting with "DEV", add filter "DEV\\_%" |
|
List of schemas to exclude from lineage extraction. Similarly to includeSchemas, this filter is case-insensitive and supports Oracle SQL wildcards |
|
If set to true, data dictionary metadata is not extracted. It should be set to true only in case of troubleshooting, testing or in specific POC use cases. Default: false |
|
If set to true, views metadata is not extracted. Default: false |
|
If set to true, procedures/packages metadata is not extracted. Default: false |
Legend: *mandatory
{
"scannerConfigs": [
{
"name": "oracle-lineage-poc",
"sourceType": "ORACLE",
"description": "Scan Oracle using JDBC",
"databaseNameInOne": "DEMO_DB",
"includeSchemas": [],
"excludeSchemas": ["DEV%", "TST%"],
"catalogScope": "DBA",
"connection": {
"jdbcUrl": "jdbc:oracle:thin:@localhost:1521:xe",
"username": "ATA_LINEAGE_EXTRACTION_USER",
"password": "@@ref:ata:[ORACLE_PASSWORD]"
}
}
]
}
Scanner special features
Oracle scanner supports the same SQL "anomaly" detection checks as the Snowflake scanner. See the SQL "DQ" (Anomaly) detections for more details.
Supported Oracle versions
All on-premises Oracle versions starting from Oracle 12c are supported. Cloud releases are also supported, provided the scanner authentication methods offer a sufficient level of security.
Was this page useful?