Oracle Thin Account

In this article

Overview

Use this account type to connect Oracle Snaps with data sources that use Oracle accounts.

Prerequisites

Kerberos authentication for Oracle setup in the Windows/Linux environment.

Known Issues

None.

Account Settings

Oracle Thin Account configuration with the Kerberos service account as the authentication method.

Oracle Thin Account.png
  • Asterisk ( * ): Indicates a mandatory field.

  • Suggestion icon ( ): Indicates a list that is dynamically populated based on the configuration.

  • Expression icon ( ): Indicates whether the value is an expression (if enabled) or a static value (if disabled). Learn more about Using Expressions in SnapLogic.

  • Add icon ( ): Indicates that you can add fields in the field set.

  • Remove icon ( ): Indicates that you can remove fields from the field set.

Field Name

Field Type

Field Dependency

Description

Field Name

Field Type

Field Dependency

Description

Label

Default Value: N/A
ExampleOracle123DB

String

None

Required. Specify a unique name for the account.

JDBC URL Source



Default Value: Snap Generated
Example: User Provided

String

None

Required. Select the source of the JDBC URL. 

  • 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. 



Account properties

RequiredEnter the information to create a connection to the database.

Hostname



Default Value: N/A
Example: 

  • oracledb22.abcdefghijkl.us-west-5.rds.amazonaws.com

  • 190.159.0.124

String/Expressions

None

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

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.

Port number



Default Value:1521
Example:1521

String/Expressions

None

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

Database name



Default Value: N/A
ExampleMYDB

String/Expressions

None

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

Custom JDBC URL


Default Value: N/A
ExampleOracle123DB

String

None

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)))

Username

Default Value: N/A
Example: TECTONIC

String/Expressions

None

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.

Password

Default Value: N/A
Example: Oracle123DB

String/Expressions

None

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.

JDBC JARs

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

JDBC driver

 

Default Value: N/A
Example: N/A

String

None

Learn more: Oracle Driver Upgrade from Oracle JDBC 11.2.0.4 Driver to 19.20.0.0 Driver

Enter the JDBC jar file to be loaded. Use  to select an existing file. A different driver binary for a driver must have a different name, the same name can not be reused for a different driver. If this property is left blank, a default JDBC driver is loaded.

JDBC driver class

 

Default Value: oracle.jdbc.OracleDriver
Example: oracle.jdbc.OracleDriver

String

None

Required. The name of the JBDC driver to use.

Database specifier type

 

Default Value: Service name
Example: Service name

Dropdown List

None

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. 

SSL/ TCPS

Default Value: Deselected

Checkbox

 

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>)))

Authentication method

 

Default Value: User ID and Password
Example: Kerberos

Dropdown List

 None

Choose the authentication method to use when connecting to Oracle. The available options are:

  • User ID and Password

  • Kerberos

Kerberos config path

 

Default Value: N/A
Example: /opt/app/oracle/dbhome/network/admin/krb5.conf

String/Expression

Appears when the Authentication method is Kerberos.

Specify the path to the Kerberos configuration file.

Advanced properties

Specify advanced properties to connect to the database.

Auto commit



Default Value: Selected

Checkbox/Expressions

None

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.

Batch size



Default Value: 50
Example: 100

Integer/Expressions

None

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

Fetch size


Default Value: 100
Example: 100

Integer/Expressions

None

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

 

Max pool size


Default Value: 50
Example: 50

Integer/Expressions

None

Required. Set the maximum number of connections that a pool must maintain at a time.

Max lifetime (minutes)*

Default Value: 30
Example: 35

Integer/Expressions

None

Required. 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.

Idle Timeout (minutes)*

Default Value: 5
Example: 5

Integer/Expressions

None

Required. Set the maximum time (in minutes) 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.

Checkout timeout (milliseconds)*

Default Value: 10000
Example: 10000

Integer/Expressions

None

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

URL properties

Specify input regarding URL properties.

URL property name

 

Default Value: N/A
Example: Batch_Refresh_Time

String/Expressions

None

Name for the URL property.

URL property value

Default Value: N/A
Example: 10

String/Expressions

None

Value for the URL property.

Troubleshooting

Error

Reason

Resolution

Error

Reason

Resolution

Failed to validate account: Failed to retrieve a database connection. 

ORA-00604: error occurred at recursive SQL level 1 ORA-12705: Cannot access NLS data files or invalid environment specified

Configuring your Windows Registry key value, HKEY_CURRENT_USER\Control Panel\International\LocaleName, in the environment to true or en-US has been observed to work for some Windows-based Groundplex instances. Additional probable solutions can be found here

Unable to obtain Principal Name for authentication

Caused by: javax.security.auth.login.LoginException.

Ensure that the ticket cache (/tmp/krb5cc_Administrator) has enough permissions.

The service in the process is not supported.

Operation unavailable.

 Ensure to create the Kerberos ticket for the user using "okinit -f"

Got minus one from the read call.

 Keytab is not valid.

Ensure to create a new keytab file and place it in %ORACLE_HOME%/network/admin.

 

The service in the process is not supported.

An Invalid name provided (Mechanism level: KrbException: Cannot locate default realm)

 

Ensure to provide valid krb5.conf path in the account settings.

 

TNS:listener does not currently know of the service requested in the connect descriptor

Oracle service is down.

Ensure the Oracle service is up and running.

 

Cause: Listener refused the connection with the following error: ORA-12505, TNS:listener does not currently know of SID given in connect descriptor

The Listener refused the connection with the following error:

ORA-12505, TNS: The listener does not currently know of the SID given in the connect descriptor.

For Linux environment:

USE_SID_AS_SERVICE_<YOUR_LISTENER_NAME>=on

For Windows environment:

USE_SID_AS_SERVICE_<YOUR_LISTENER_NAME>=on


Snap Pack History