ODI 12c Mapping Fails with Intermittent PK_SESS_TASK Violations when the Mapping Loads Data into Multiple Target Datastores and the Target Data Server Has "On Connect/Disconnect" Command Implemented
(Doc ID 2889854.1)
Last updated on JUNE 07, 2023
Applies to:Oracle Data Integrator - Version 188.8.131.52.0 to 184.108.40.206.220702 [Release 12c]
Oracle Data Integrator on Marketplace - Version 220.127.116.11.200123 to 18.104.22.168.220702
Information in this document applies to any platform.
Have an Oracle Data Integrator (ODI) 22.214.171.124.X Mapping that loads data into two different target Datastores, both defined in the same Data Server.
The two loads (LKM and IKM) are therefore executed by ODI in a PARALLEL mode.
The Data Server involved has an SQL command implemented on the "On Connect/Disconnect" tab.
PK_SESS_TASK violation is intermittently (but frequently) received in either of the PARALLEL Session Tasks that execute the "On Connect/Disconnect" command. and involve the above Data Server.
Following is an example of the error received:
The issue can be reproduced at will with the following steps:
- Create a Mapping which loads two target Datastores, both in a same Oracle Data Server, and Physical Schema.
- Edit the Data Server, and implement a command on the "On Connect/Disconnect" tab.
For example: alter session set NLS_LENGTH_SEMANTICS='CHAR' ;
Leave the "Ignore Error" box unchecked.
Check all transactions (especially make sure to check the AUTOCOMMIT transaction, as this is where the error reported is encountered).
- Generate a Scenario for the Mapping, and execute it in a loop.
For example, via OdiStartScen, in a Package.
This is required because the issue is intermittent, and would not be replicated with just one isolated execution.
- Execute the loop / Package.
Observe the PK_SESS_TASK violation received in a random Session task of a PARALLEL section, which involves the connection on above Data Server.
To view full details, sign in with your My Oracle Support account.
Don't have a My Oracle Support account? Click to get started!