Preparing to run the Oracle collector
Setting up pre-requisites for running the collector
Make sure that the machine from where you are running the collector meets the following hardware and software requirements.
Item | Requirement |
---|---|
Hardware (for on-premise runs only) | |
RAM | 8 GB |
CPU | 2 Ghz processor |
Software (for on-premise runs only) | |
Docker | Click here to get Docker. |
JDBC Driver | Oracle database 19.21.0.0 JDBC driver available here. The computer should have the appropriate JDBC driver on its file system. |
data.world specific objects (for both cloud and on-premise runs) | |
Dataset | You must have a ddw-catalogs (or other) dataset set up to hold your catalog files when you are done running the collector. If you are using Catalog Toolkit , follow these instructions to prepare the datasets for collectors. |
Network connection | |
Allowlist IPs and domains |
Preparing Oracle for collectors
Setting up permissions
In order to harvest data from an Oracle database, it is essential to set up a dedicated user with the right set of permissions. This section outlines the detailed steps to create a new user and grant the necessary permissions, including SELECT and EXECUTE privileges, on specific schemas, tables, views, procedures, functions, and packages. Additionally, alternative approaches are provided to grant broader access via DBA views or catalog roles, ensuring comprehensive data harvesting capabilities.
By following these steps, you will configure a user with the exact permissions required for efficient data harvesting tasks.
To set up user permissions:
Create a new user.
CREATE USER ddw_user IDENTIFIED BY <pass>
Grant the SELECT and EXECUTE permissions to the user.
GRANT create session, SELECT_CATALOG_ROLE TO ddw_user; -- Update <schema> and <table_name> for each schema, table, or view you want to harvest. GRANT SELECT ON "<schemaName>"."<tableName>" TO ddw_user; -- Update <schema> and <procedureName> for each schema and procedure, function, or package you want to harvest. GRANT EXECUTE ON “<schemaName>”.”<procedureName>” TO ddw_user;
In the SELECT command, update <schema> and <table_name> for each schema, table, or view you want to harvest.
In the EXECUTE command, update <schema> and <procedureName> for each schema and procedure, function, or package you want to harvest.
Alternate approach for EXECUTE permissions: Grant SELECT permission on the following DBA views, or give the user the SELECT_CATALOG_ROLE role, which grants SELECT privileges on all DBA static data dictionary views:
DBA_PROCEDURES
DBA_ARGUMENTS
DBA_SOURCE
DBA_DEPENDENCIES
DBA_OBJECTS
DBA_SYNONYMS
Alternative approach for SELECT permissions: Grant SELECT permission on the following DBA views, or give the user the SELECT_CATALOG_ROLE role, which grants SELECT permission on all DBA static data dictionary views:
Important
If SELECT privileges are not granted for the tables, the collector will be unable to catalog column statistics.
DBA_VIEWS
DBA_MVIEWS
DBA_OBJECTS
DBA_CONS_COLUMNS
DBA_CONSTRAINTS
DBA_COL_COMMENTS
DBA_TAB_COMMENTS
DBA_SOURCE
DBA_DEPENDENCIES
DBA_SYNONYMS
Grant comprehensive permissions: If you wish to grant the user permission to catalog any object in any schema, use the following commands:
GRANT SELECT ANY TABLE TO ddw_user; GRANT EXECUTE ANY PROCEDURE TO ddw_user;
Preparing to harvest cross-server lineage
If your Oracle database has objects with SQL definitions that reference another server, follow these steps to ensure cross-server lineage is captured. These references, called database links (DB links) in Oracle, require the collector to have the host and port information for each DB link to resolve lineage for SQL using these links.
To find the the database links:
Find the full list of DB links using ALL_DB_LINKS or DBA_DB_LINKS. See the Oracle documentation for details.
For each DB link entry, work with your Oracle Admin to find the hostname, databse name, and port information. You will provide this information (--linked-host parameter) while running the collector.