Share
Amazon RDS Oracle Setup Guide

Amazon RDS for Oracle is a fully managed commercial database that makes it easy to set up, operate, and scale Oracle deployments in the cloud. Amazon RDS frees you up to focus on innovation and application development by managing time-consuming database administration tasks including provisioning, backups, software patching, monitoring, and hardware scaling.

Refer to Oracle on Amazon RDS for the supported Oracle database versions.

Prerequisites


Perform the following steps to configure your Amazon RDS Oracle Source:

Step 1
Set up Redo Logs for Replication

A redo log is a collection of log files that record information about modifications made to data objects on an Oracle server instance. Oracle LogMiner uses redo logs to track these modifications and determine the rows requiring updates in the Destination system.

To set up redo logs for replication, connect to your Oracle server and perform the following steps:

1. Enable ARCHIVE Log

You need to enable archiving for redo logs.

To do this:

  1. Check the current log mode. This should be ARCHIVELOG.

    SELECT LOG_MODE FROM "V$DATABASE";
    
  2. Enable ARCHIVELOG mode if the current log mode is NOARCHIVELOG.

    BEGIN
    rdsadmin.rdsadmin_util.set_configuration('archivelog retention hours', 72);
    END;
    

    Note: The minimum value for archivelog retention hours is 72. The archive log retention must be 72 hours at a minimum. This avoids any data loss that may occur due to downtimes in the Source database.

2. Enable supplemental logging

Supplemental logging ensures that the Oracle server logs all the columns of every changed Event.

  1. Check if supplemental logging is enabled:

    SELECT SUPPLEMENTAL_LOG_DATA_MIN FROM "V$DATABASE";
    

    This returns either of the following values:

    • YES: Represents that the supplemental logging is enabled.

    • IMPLICIT: Represents that the supplemental logging is disabled.

  2. If the value returned in the previous step is IMPLICIT, enable supplemental logging of primary key columns :

    BEGIN
    rdsadmin.rdsadmin_util.alter_supplemental_logging('ADD','ALL');
    END;
    
  3. Optionally, if you’re using Oracle 12, grant the following permission:

    GRANT LOGMINING TO "<user_name>";
    

Step 2
Whitelist Hevo’s IP Addresses

You need to whitelist the Hevo IP address for your region to enable Hevo to connect to your Amazon RDS Oracle database. You can do this by creating a VPC security group and adding inbound and outbound access rules for the Hevo IP addresses. A VPC group controls access to the database instances and virtual server instances inside a VPC. To do this:

1. Create a VPC security group

  1. Access the Amazon RDS console.

  2. In the left navigation pane, under Dashboard, select Databases (or Instances if you are using an older version).

  3. In the Databases section on the right, select the read replica or master database instance that you want to connect.

    Select Oracle instance

  4. In the Connectivity & Security tab, click the hyperlink under Security, VPC security groups.

    Select VPC group

  5. On the Security Groups page, click Create security group.

    You can also select an existing group, which you have used for other database instances, and modify it.

    Create security group

  6. On the Create security group page, specify the following:

    • Security group name: An appropriate name for the security group.

    • Description: A brief description of the security group.

    • VPC ID: A unique identifier for the VPC.

2. Add inbound rules

In the Inbound Rules section:

  1. Click Add Rule and specify the following:

    Add rule

    • Port range: The port of your Amazon RDS Oracle instance. For example, 1521.

    • Source: Select Custom from the drop-down and enter Hevo’s IP addresses for your region.

  2. Add more rules for all the Hevo IPs you want to whitelist.

  3. Click Create security group.


Step 3
Create a Database User and Grant Privileges

You can log in to Oracle as a masteruser or create a new database user for Hevo.

1. Create a database user (optional)

2. Grant privileges to the user

The database user you specify in the Hevo Pipeline must have the SELECT privilege.

To assign this privilege, log in to Oracle as a masteruser or a user with GRANT privilege and enter the following commands:

  • Grant SELECT privilege to all or specific tables:

    -- Grant access to all tables
    GRANT SELECT ANY TABLE TO "hevo";
    
    -- Grant access to specific tables
    GRANT SELECT ON "<schema>"."<table>" TO "hevo";
    
  • Optionally, if you are using Redo Logs as the Pipeline mode, grant access to Oracle LogMiner:

    GRANT SELECT ON SYS.V_$DATABASE TO "hevo";
    GRANT SELECT ON SYS.V_$ARCHIVED_LOG TO "hevo";
    GRANT SELECT ON SYS.V_$LOGMNR_CONTENTS TO "hevo";
    GRANT EXECUTE ON DBMS_LOGMNR TO "hevo";
    GRANT EXECUTE ON DBMS_LOGMNR_D TO "hevo";
    

Now you can try connecting to Oracle using Redo Logs pipeline mode, with the user configured in the above steps.


Step 4
Retrieve the Hostname, Service ID, and Port Number

Note: The RDS hostnames start with your database name and end with rds.amazonaws.com.
For example:
Host: oracle-database-1.xxxxxxxxx.rds.amazonaws.com Service ID: ORCL
Port: 1521

  1. In the left navigation pane of the Amazon RDS console, click Databases (or Instances if you are using an older version).

  2. In the Databases section on the right, click the DB identifier of the Amazon RDS Oracle instance.

    Click DB Identifier

  3. Click the Connectivity & Security tab, and copy the values under Endpoint and Port as the hostname and port number. You will specify these while creating your Hevo Pipeline.

    RETRIEVE host and port

  4. Click the Configuration tab, and copy the value under DB name. You will use this DB name as the Service Name while creating your Pipeline.

    Retrieve DB name


Step 5
Specify Amazon RDS Oracle Connection Settings

Perform the following steps to configure Amazon RDS Oracle as a Source in Hevo:

  1. Click PIPELINES in the Navigation Bar.

  2. Click + CREATE PIPELINE in the Pipelines List View.

  3. On the Select Source Type page, select Amazon RDS Oracle.

  4. On the Configure your Amazon RDS Oracle Source page, specify the following:

    Configure your Pipeline

    • Pipeline Name: A unique name for your Pipeline, not exceeding 255 characters.

    • Database Host: The Oracle database host’s IP address or DNS.

      The following table lists a few examples of Oracle hosts:

      Variant Host
      Amazon RDS Oracle oracle-rds-1.xxxxx.rds.amazonaws.com
      Generic Oracle 192.168.2.5

      Note: For URL-based hostnames, exclude the http:// or https:// part. For example, if the hostname URL is https://oracle-rds-1.xxxxx.rds.amazonaws.com, enter oracle-rds-1.xxxxx.rds.amazonaws.com.

    • Database Port: The port on which your Amazon RDS Oracle server listens for connections. Default value: 1521.

    • Database User: The authenticated user who has the permissions to read tables in your database.

    • Database Password: The password for the database user.

    • Select an Ingestion Mode: The desired mode by which you want to ingest data from the Source. You can expand this section by clicking SEE MORE to view the list of ingestion modes to choose from. Default value: RedoLog. The available ingestion modes are RedoLog, Table, and Custom SQL.

      Redo Log

      Depending on the ingestion mode you select, you must configure the objects to be replicated. Refer to section, Object and Query Mode Settings for the steps to do this.

      For Pipelines created after Release 1.96, Hevo supports the RedoLog ingestion mode for Oracle Database 19c and higher.

      Note: For Custom SQL ingestion mode, all Events loaded to the Destination are billable.

    • Redo Log Advanced Settings: This section is applicable if RedoLog is selected as an ingestion mode:

      Note: Any modification in the default value of the following settings may impact your database performance. We recommend that you contact Hevo Support before making any changes.

      • Poll Interval (in ms): The delay in milliseconds between the checks that Hevo makes to search for new transactions in the redo logs. Default value: 500.

      • Query Fetch Size: The maximum number of rows that Hevo fetches from the logs in each query. Default value: 10,000.

      • Long Transaction Window (in mins): The duration in minutes that Hevo must traverse back from the current transaction to fetch the data in a long-running transaction. Default value: 5.

        Note: Increasing the default value can lead to increased memory consumption by the Source database during log mining sessions.

      • Load All Schemas: If enabled, Hevo loads data for all the schemas.

        If disabled, Hevo loads data from the schema(s) that you specify in a comma-separated list.

      • Online Catalog: If enabled, Hevo retrieves the updated schema information from the specified Oracle database. This setting is ideal when schema changes are infrequent or nonexistent in the database tables.

        If disabled, Hevo retrieves the schema information from the copy that Hevo maintains.

        Note: This option is non-editable post-Pipeline creation.

      • Archive Log Only: If enabled, Hevo ingests data only from the archived redo logs.

        If disabled, Hevo ingests data from the archived and online redo logs.

    • Connect through SSH: Enable this option to connect to Hevo using an SSH tunnel, instead of directly connecting your Oracle database host to Hevo. This provides an additional level of security to your database by not exposing your Oracle setup to the public. Read Connecting Through SSH.

      If this option is disabled, you must whitelist Hevo’s IP addresses to allow Hevo to connect to your Oracle database host. Refer to the content for your Oracle variant for steps to do this.

    • Advanced Settings:

      • Load Historical Data: If enabled, Hevo fetches the entire table data in the first run of the Pipeline.

        If disabled, Hevo loads only the data that was written in your database after the time of creation of the Pipeline.

        This option is applicable only for Pipelines with RedoLog mode.

      • Merge Tables: If enabled, Hevo merges tables with the same name from different databases while loading the data to the warehouse. Hevo loads the Database Name field with each record.

        If disabled, Hevo adds the database name as prefix to each table name. Read How does the Merge Tables feature work?.

        This option is applicable only for Pipelines with RedoLog mode.

      • Include New Tables in the Pipeline: If enabled, Hevo automatically ingests data from tables created after the Pipeline has been built.

        If disabled, the new tables are listed in the Pipeline Detailed View in Skipped state, and you can manually include the ones you want and load their historical data. You can include these objects post-Pipeline creation to ingest data.

        You can change this setting later. Also, this option is applicable for all ingestion modes except Custom SQL.

  5. Click TEST CONNECTION. This button is enabled once you specify all the mandatory fields. Hevo’s underlying connectivity checker validates the connection settings you provide.

  6. Click TEST & CONTINUE to proceed for setting up the Destination. This button is enabled once you specify all the mandatory fields.


Object and Query Mode Settings

Once you have specified the Source connection settings in Step 5 above, do one of the following:

  • For Pipelines configured with the Table or RedoLog mode:

    1. On the Select Objects page, select the objects you want to replicate and click CONTINUE.

      Object Selection

      Note:

      • Each object represents a table in your database.

      • From Release 2.19 onwards, for log-based Pipelines, you can keep the objects listed on the Select Objects page deselected by default. In this case, when you skip object selection, all objects are skipped for ingestion, and the Pipeline is created in the Active state. You can include the required objects post-Pipeline creation. Contact Hevo Support to enable this option for your teams.

    2. On the Configure Objects page, specify the query mode you want to use for each selected object.

      Query-Mode Selection

  • For Pipelines configured with the Custom SQL mode:

    1. On the Provide Query Settings page, enter the custom SQL query to fetch data from the Source.

    2. In the Query Mode drop-down, select the query mode, and click CONTINUE.

      Custom SQL


Data Replication

For Teams Created Ingestion Mode Default Ingestion Frequency Minimum Ingestion Frequency Maximum Ingestion Frequency Custom Frequency Range (in Hrs)
Before Release 2.21 Table 15 Mins 5 Mins 24 Hrs 1-24
  Log-based 5 Mins 5 Mins 1 Hr NA
After Release 2.21 Table 6 Hrs 30 Mins 24 Hrs 1-24
  Log-based 30 Mins 30 Mins 12 Hrs 1-24

Note: The custom frequency must be set in hours as an integer value. For example, 1, 2, or 3 but not 1.5 or 1.75.

  • Historical Data: In the first run of the Pipeline, Hevo ingests all available data for the selected objects from your Source database.

  • Incremental Data: Once the historical load is complete, data is ingested as per the ingestion frequency.


Additional Information

Read the detailed Hevo documentation for the following related topics:


Limitations

  • Hevo does not support the flashback method to track incremental updates.

  • Redo Log does not support user-defined data types. Therefore, fields with such data types are not captured in the log and are lost.

  • Hevo does not load an Event into the Destination table if its size exceeds 128 MB, which may lead to discrepancies between your Source and Destination data. To avoid such a scenario, ensure that each row in your Source objects contains less than 100 MB of data.


See Also


Revision History

Last updated on Apr 11, 2025

Tell us what went wrong

Skip to the section