This article covers:

  1. How to set up a connection to an Oracle database
  2. How to add datasets
  3. How to do connection overrides on an Oracle connection
  4. The supported Oracle data types and the respective Luzmo data type they are mapped to

1. How to setup an Oracle connection

To make a connection to Oracle, navigate to the Connections page, select New Connection, then select the Oracle from the New Connection modal. You'll be asked to provide a host, key and token.

  • host:
    • Oracle Cloud, eg. Autonomous Database (ADB) or Data Warehouse (ADW): the connection string provided by Oracle Cloud, eg. (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=adb.<region>.oraclecloud.com))(connect_data=(service_name=<service name>.adb.oraclecloud.com))(security=(ssl_server_dn_match=yes)))
    • Other Oracle databases: the host of your Oracle database, eg. my-oracle-host.com:1521/database-sid
  • key: the username of the Oracle user. We advise to create a separate read-only technical user for connecting Luzmo to your Oracle databases.
  • token: the password of the Oracle user

After connecting, you can now select, connect and visualize your Oracle data.

Please refer to the examples in our developer documentation to find out how to create a connection to Oracle via our API.

Notes:

  1. Make sure to whitelist Luzmo's range of IP addresses in your Oracle server if external connections are blocked as described here.
  2. Oracle Cloud, eg. Autonomous Database (ADB) or Data Warehouse (ADW): Set Mutual TLS (mTLS) authentication to Not Required, as Luzmo does not support mTLS connections at the moment.
  3. Oracle Cloud, eg. Autonomous Database (ADB) or Data Warehouse (ADW): Configure your warehouse to Access type: Allow secure access from specified IPs and VCNs

2. How to add datasets

Once you have connected your Oracle you can add datasets as explained here. You can select one or multiple datasets as available in your Oracle and link them in Luzmo to ensure they can be used together in a dashboard. Also make sure to check out this article on Preparing your data for analytics.

To find out how to add datasets using our API, please refer to this example in our developer documentation.

3. Oracle Connection Overrides

When generating an Authorization token to grant a user acces to your embedded dashboards it is possible to override the data source properties in the authorization request to dynamically use different properties. Find out more about connection overrides.

The fields available for overriding a Oracle connection are as follows:

  • Connection ID: The ID of the Connection to be overridden. Retrieve the ID to specify as detailed here.
  • host:
    • Oracle Cloud, eg. Autonomous Database (ADB) or Data Warehouse (ADW): the new connection string as provided by Oracle Cloud, eg. (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=adb.<region>.oraclecloud.com))(connect_data=(service_name=<service name>.adb.oraclecloud.com))(security=(ssl_server_dn_match=yes)))
    • Other Oracle databases: the new host of the Oracle database to connect to, eg. my-oracle-host.com:1521/database-sid
  • key: The new username that will be used to connect to your Oracle database.
  • token: The new password to connect to your Oracle.
  • datasets: List of dataset-level overrides. Useful if you want to override only a single dataset in your dashboard or if you have a separate table per client.
    • schema: the new database to query
    • table: The new Oracle table to query.

Our developer documentation has more info about connection overrides and an example of a Oracle connection override.

Example code demonstrating how to override a Oracle connection:

 import Luzmo from '@luzmo/nodejs-sdk';
const client = new Luzmo({
api_key: '<your Luzmo API key>',
api_token: '<your Luzmo API token>',
host: 'https://api.luzmo.com:443'
});


const response = await client.create('authorization',
{
  type: "embed",
  username: "< A unique and immutable identifier for your user >",
  name: "< user name >",
  email: "< user email >",
  suborganization: "< a suborganization name >",
  access: {
    collections: [
      
      {
        id: "<collection_id>",
        inheritRights: "use"
      }
    ]
  },
  account_overrides: {
    <your connection_id>: {
      host: "<The new database host or connection string>",
      key: "<username>",
      token: "<password>"
    }
  }
}
);

4. Supported Data Types

Data Type In Oracle Data Type In Luzmo
number numeric
long numeric
binary_float numeric
binary_double numeric
date datetime
timestamp datetime
timestamp with time zone datetime
timestamp with local time zone datetime
All Other Data Types hierarchy

Need more information?

Do you still have questions? Let us know how we can help.
Send us feedback!