Skip to main content

Oracle


Oracle is a powerful relational database management system (RDBMS) designed for enterprise-scale applications. It supports high availability, scalability, and advanced features like partitioning, replication, and strong security. It is widely used across industries. Oracle enables efficient management of structured data with robust SQL and PL/SQL support.


Prerequisites

The following prerequisites must be met to create and test a successful connection.

  • The Oracle server must be accessible from the iceDQ server.
  • Valid credentials to access the database.
  • Oracle version 11 or above.

Authentication Mechanisms

The following authentication mechanisms are supported.

  • Username & Password
  • Kerberos

Connection Properties

Username and Password Authentication

Use the following properties to create a valid connection. Properties marked with an asterisk (*) are required.

NameDescriptionExample Values
Connection Name *        Name that uniquely identifies the connection.Sales_prod_conn
Driver *Driver used to establish the connection. By default, one driver is available.Oracle Native JDBC
Custom JDBC URLStandardized string used to define the connection details. For more URL formats please refer the section JDBC URL Formats below.jdbc:oracle:thin:@194.186.53.47:1521/prod_db
Host *IP address or hostname of the database server.oracle.acme.com or 194.186.53.47
Port *Port is the address on which the server listens. Default value is 1521 for Oracle.1521
Database *Oracle System Identifier (SID) or Service Name for the target database.prod_db
Type *The connection type – either System Connection or User Connection. Refer Connections for more details.System or User
Username *Database login username with necessary privileges.john_doe
Password *Password associated with the specified username.Admin@123

Kerberos Authentication

Use the following properties to create a valid connection. Properties marked with an asterisk (*) are required.

NameDescriptionExample Values
Connection Name *       Name that uniquely identifies the connection.Sales_prod_conn
Driver *Driver used to establish the connection. Select from the available options.Oracle Native JDBC
Custom JDBC URLStandardized string used to define the connection details. For more URL formats please refer the section JDBC URL Formats below.jdbc:oracle:thin:@194.186.53.47:orcl
Krb5 File *Path to the Kerberos configuration file (typically krb5.conf).User needs to upload the krb5 file.
Host *IP address or hostname of the database server.oracle.acme.com
Port *Port on which the server listens. Default value is 1521.1521
Database *Oracle System Identifier (SID) or Service Name for the target database.prod_db
Type *The connection type – either System Connection or User Connection. Refer Connections for more details.System or User
Principal *Kerberos principal (e.g., user@REALM).[email protected]
Keytab *Path to the keytab file used for authentication.User needs to upload the keytab file.

JAAS Properties

With respect to Kerberos authentication, JAAS properties refer to configuration settings used by the Java Authentication and Authorization Service (JAAS) to authenticate a user or application using Kerberos. For a comprehensive list of supported properties, refer the JAAS Reference section of the Oracle Java SE Security Developer’s Guide here.


Custom Properties

Custom properties are optional connection parameters in the Oracle JDBC driver, allowing customization of settings like timeouts, compression, and secure connections. A list of supported properties is available here. The availability and behavior of custom connection properties may vary depending on the version of the Oracle JDBC driver in use. The following custom properties are used frequently:

PropertyDefault ValuePossible ValuesDescription
loginTimeout30Integer ValueTimeout for socket connect (in seconds), with 0 being no timeout.
useFetchSizeWithLongColumntruetrue, falseDrivers ignore the fetch size when querying tables that include LONG or LONG RAW columns.
useDateAsTimestampfalsetrue, falseIf true, Oracle DATE columns are returned as Timestamp instead of Date objects.

TLS / SSL Certificate

The Transport Layer Security (TLS) / Secure Sockets Layer (SSL) certificate option enables encrypted communication between iceDQ and the Oracle database server. iceDQ supports TLS/SSL through either Oracle Wallet or a Java Truststore.

Using Oracle Wallet (Username & Password Authentication)

Oracle Wallet is a secure, password-protected software container used to store cryptographic and authentication credentials, such as private keys and certificates, allowing connections without hardcoding passwords. An Oracle JDBC connection wallet is typically provided as a wallet file downloaded from Oracle Cloud. Follow these steps below to setup the connection using Oracle Wallet:

  • Setup a valid cwallet.sso file prior to creating the connection.
  • Select the Custom JDBC URL checkbox and enter the URL in the following format.
    jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=194.186.53.47)(PORT=2484))(CONNECT_DATA=(SERVICE_NAME=ORCL)))
  • On the TLS / SSL Certificate tab, select Use Custom certificates checkbox and upload the cwallet.sso file.

Using Java Truststore

A Java Truststore contains trusted certificate authorities (CAs) used to verify the Oracle server’s identity over SSL/TLS.

  • A valid .jks file (Java Keystore) needs to be setup prior to creating the connection.
  • Select the Custom JDBC URL checkbox and enter the URL in the following format.
    jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=194.186.53.47)(PORT=2484))(CONNECT_DATA=(SERVICE_NAME=ORCL)))
  • On the TLS / SSL Certificate tab, select Use Custom certificates checkbox and upload the .jks file.
  • A truststore password is mandatory to establish the connection.
  • This method can be used with either username/password or Kerberos authentication, if configured properly.

note

SSL/TLS is only supported when using a Custom JDBC URL that includes the host, port, and service name.


Consideration - Alphanumeric Data

In case a column with alphanumeric data is used in the diff join of a Recon rule template, then the user must provide a custom ORDER BY clause with the NLSSORT function in the SQL Query section of the Oracle connection tab.

SELECT * FROM TABLE ORDER BY NLSSORT(<COL>, 'NLS_SORT=BINARY')


JDBC URL Formats

Below are the different URL formats that can be used in Full URL property.

MethodDriver TypeDescriptionFormatExample
SID (Service ID)ThinDefault method of connecting to Oracle from iCEDQ.jdbc:oracle:thin:@<host>:<port>:<SID>jdbc:oracle:thin:@192.168.1.100:1521:XE
Service NameThinConnect using service name. Requires full URL override.jdbc:oracle:thin:@<host>:<port>/<service_name>jdbc:oracle:thin:@192.168.1.100:1521/ORCL
TNS DescriptorThinUses full TNS descriptor, often required in HA Oracle environments.jdbc:oracle:thin:@<TNS Descriptor>jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.100)(PORT=1521)))CONNECT_DATA=(SID=XE)))
OCI (Thick Client)OCI (Thick)Requires Oracle client installed on iCEDQ server and OCI jar files in lib.jdbc:oracle:oci:@<host>:<port>:SIDjdbc:oracle:oci:@192.168.1.100:1521:XE

Unsupported Datatypes

  • BINARY_FLOAT
  • BINARY_DOUBLE
  • BIT
  • ENUM
  • GEOSPATIAL
  • RAW
  • LONG/ LONG RAW
  • UROWID
  • BFILE
  • BLOB