Oracle Thin Dynamic Account

In this article

Overview

Use this account type to connect Oracle Snaps with data sources that use Oracle accounts. This account uses dynamic values and enables you to specify account properties as expressions that reference Pipeline parameters.

Expression-enabled authentication fields, such as Username, Password, and Client Secret, support Secrets Management, a SnapLogic add-on that allows you to store endpoint credentials in a third-party secrets manager, such as AWS Secrets Manager, Azure Key Vault, or HashiCorp Vault. During validation and execution, pipelines obtain the credentials directly from the secrets manager. Learn more: Configure Accounts to use secrets.


JDBC Driver Upgrade

The Oracle JDBC Driver is upgraded from OJDBC6 JAR (v11.2.0.4) to OJDBC10 JAR (v19.20.0.0) in the latest distribution in October 2023 and deployed to the stable distribution in the November 2023 release (after the Snaplex upgrade). The latest JDBC driver upgrade is backward-compatible. Learn more: Oracle JDBC Driver Upgrade from v11.2.0.4 to v19.20.0.0 and JOOQ Upgrade from v3.9.1 to 3.17.x.

You can consume this driver upgrade with the 434patches23000 Snap Pack version.

Behavior Change

This JDBC driver upgrade has resulted in specific behavior changes that include errors, status codes, and success and failure messages. Learn more about the behavior changes to ensure your migration to the upgraded driver is seamless. 

Prerequisites

None.

Known Issues

None.

Account Settings


Parameter NameData TypeDescriptionDefault ValueExample
LabelStringRequiredUnique name for the account.N/AOracle123DB
JDBC URL SourceString

Required. The source of the JDBC URL that you want to use. 

  • Snap Generated: The JDBC URL that SnapLogic generates using the details you provide in the Account Settings popup.
  • User Provided: The JDBC URLs that you provide directly into the Custom JDBC URL field. 

    If you select User Provided, the Hostname, Port Number, and Database Name fields are replaced by the Custom JDBC URL field.

Snap GeneratedN/A
Account propertiesStringRequired. Enter the information to create a connection to the database.N/AN/A
HostnameString

Required if JDBC URL Source is Snap Generated. The server address to which the application must connect.

This property is expression-enabled. For more information on the expression language, see Understanding Expressions in SnapLogic and Using Expressions. For information on Pipeline Parameters, see Pipeline Properties.

If you need to connect to an on-premise server, specify the domain name or the IP address. For example, test.mydbserver.com or 190.159.0.124.

N/A
  • oratestdb2.cwztruwzzvnq.us-east-1.rds.amazonaws.com
  • 190.159.0.124

Port NumberString

Required if JDBC URL Source is Snap Generated. The database server's port number to which the application must connect.

This property is expression-enabled. For more information on the expression language, see Understanding Expressions in SnapLogic and Using Expressions. For information on Pipeline Parameters, see Pipeline Properties.

15211521
Database nameString

Required if JDBC URL Source is Snap Generated. The database name to which the application must connect.

This property is expression-enabled. For more information on the expression language, see Understanding Expressions in SnapLogic and Using Expressions. For information on Pipeline Parameters, see Pipeline Properties.

N/AMYDB
Custom JDBC URLString

Required if JDBC URL Source is User Provided. The JDBC URLs that you want to use to connect to your Oracle account.

Use this option if you want to use complex JDBC URLs (involving multiple hosts and advanced options) to connect to your Oracle instance. For example, if you want to connect to Oracle DataGuard, you can enter a JDBC like the one below:

jdbc:oracle:thin:@(DESCRIPTION=(FAILOVER=on)(ADDRESS_LIST=(LOAD_BALANCE=on)(CONNECT_TIMEOUT=3)(RETRY_COUNT=3)(ADDRESS=(PROTOCOL=TCP)(HOST=host1)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=host2)(PORT=1522)))(CONNECT_DATA=(SERVICE_NAME=OracleTest)))

This property is expression-enabled. For more information on the expression language, see Understanding Expressions in SnapLogic and Using Expressions. For information on Pipeline Parameters, see Pipeline Properties.

N/AN/A
UsernameString

The user name that is allowed to connect to the database. It is used as the default username when retrieving connections. The user name must be valid in order to set up the data source.

This property is expression-enabled. For more information on the expression language, see Understanding Expressions in SnapLogic and Using Expressions. For information on Pipeline Parameters, see Pipeline Properties.

N/ATECTONIC
PasswordString

The password used to connect to the data source. It is used as the default password when retrieving connections. The password must be valid in order to set up the data source.

This property is expression-enabled. For more information on the expression language, see Understanding Expressions in SnapLogic and Using Expressions. For information on Pipeline Parameters, see Pipeline Properties.

N/AN/A
JDBC JARsString

List of JDBC JAR files to be loaded. Click  to add a JDBC Driver, click  to remove a JDBC Driver.

N/AN/A
JDBC DriverString

The Oracle JDBC Driver is migrated from ORAJDBC6 (11.2.0.4 version) to OJDBC10 JAR (19.20.0.0 version). However, you can specify a custom JBDC driver to use. Click the Database  icon to upload an existing JAR file from the SLDB. If this property is left blank, a default JDBC driver is loaded.

Behavior Change

This JDBC driver upgrade has resulted in specific behavior changes within the Snap Pack. These changes include errors, status codes, and success and failure messages. The latest JDBC driver upgrade is backward-compatible.  


Only v11.2.0.4.0 of a JDBC driver supports user-defined types.

N/AN/A
JDBC Driver ClassStringRequired. The name of the JBDC driver to use.oracle.jdbc.OracleDriveroracle.jdbc.OracleDriver
Database specifier typeString

Specify the database specifier type to use. The selected option decides which format of URL for JDBC is to be used internally. The valid options are:

  • SID: Uses the jdbc:oracle:thin@HOST:PORT:DBNAME format.
  • Service name: Uses the jdbc:oracle:thin@//HOST:PORT/DBNAME format. 
Service nameService name
SSL/ TCPSString

Opt for or against connecting through SSL to the Oracle instance.

If selected, the following format of URL is used internally:

jdbc:oracle:thin@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCPS)(HOST=<HOST>)(PORT=<PORT>))(CONNECT_DATA=(<SID/ SERVICE_NAME>=<DATABASE_NAME>)))

Not SelectedNot Selected
Advanced propertiesN/ASpecify advanced properties to connect to the database.N/AN/A
Auto commitString

Opt for or against setting the auto-commit property for a database.

  • When selected, each of the batches is committed immediately after it is executed. If the Snap fails, only the batch being executed at that moment is rolled back.
  • When not selected, the Snap execution output is committed only after all the batches are executed. If the Snap fails, the entire transaction is rolled back, unless the Snap finds invalid input data before it sends the insert request to the server, and routes the error documents to the Error view.
SelectedSelected
Batch sizeInteger

Required. Set the number of statements that the Snap must execute at a time.

Select queries are not batched.

Using a large batch size could use up the JDBC placeholder limit of 2100.

50100
Fetch sizeInteger

Required. Set the number of rows that the Snap must fetch at a time when executing a query.

Large values could cause the server to run out of memory.

100100
Max pool sizeIntegerRequired. Set the maximum number of connections that a pool must maintain at a time.5050
Max life timeIntegerRequired. Set the maximum time (in minutes) of a connection in the pool. Ensure that the value you enter is a few seconds shorter than any database or infrastructure-imposed connection time limit. A value of 0 indicates an infinite lifetime, subject to the Idle Timeout value. An in-use connection is never retired. Connections are removed only after they are closed.3035
Idle TimeoutIntegerRequired. Set the maximum time (in seconds?) that a connection is allowed to sit idle in the pool. A value of 0 indicates that idle connections are never removed from the pool.55
Checkout timeoutInteger

Required. Set the time in milliseconds to wait for a connection to be available when the pool is exhausted. 

If you provide 0, the Snap waits infinitely until the connection is available. Therefore, we recommend you not to specify 0 for Checkout Timeout.

1000010000
URL PropertiesN/ASpecify input regarding URL properties.N/AN/A
URL property nameStringName for the URL property.N/ABatch_Refresh_Time
URL property valueN/AValue for the URL property.N/A10

Troubleshooting

None.


Related Content