The OCI function OCIStmtFetch returned status -1

Post questions here relative to DataStage Enterprise/PX Edition for such areas as Parallel job design, Parallel datasets, BuildOps, Wrappers, etc.

Moderators: chulett, rschirm, roy

Post Reply
rachit82
Premium Member
Premium Member
Posts: 41
Joined: Thu Jul 17, 2008 9:49 am

The OCI function OCIStmtFetch returned status -1

Post by rachit82 »

The exact error message:
SchedTbl_Ora_conn,0: The OCI function OCIStmtFetch returned status -1. Error code: 3,113, Error message: ORA-03113: end-of-file on communication channel. (CC_OraStatement::fetch, file CC_OraStatement.cpp, line 1,009)
The OCI function OCITransRollback returned status -1. Error code: 3,114, Error message: ORA-03114: not connected to ORACLE. (CC_OraConnection::endLocalTransaction, file CC_OraConnection.cpp, line 1,098)

There are multiple jobs running connecting the the same database and schema. This job last ran successfully 2 days back. Now it refuses to run with this issue. DBA's cannot find any issues with the table or Connection.
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

There are many causes for that 3113 error as noted out in the wild, including here. If you can't get any joy from your DBAs or there's no sign of "defunct processes" then I'd suggest you contact your official support provider. Could be a bug in the stage or perhaps even in the Oracle client version you are using.
-craig

"You can never have too many knives" -- Logan Nine Fingers
lstsaur
Participant
Posts: 1139
Joined: Thu Oct 21, 2004 9:59 pm

Post by lstsaur »

Nothing wrong on the DB side. What you need to do is to delete the record (that particular defunct job) from the XMETALOCKINFO table.
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

Really? That doesn't make much sense to me but I guess we'll see! :wink:
-craig

"You can never have too many knives" -- Logan Nine Fingers
rachit82
Premium Member
Premium Member
Posts: 41
Joined: Thu Jul 17, 2008 9:49 am

Found the solution

Post by rachit82 »

This had nothing to do with Oracle. I had earlier changed one of the jobs loading into the table to handle one of the columns as BigInt instead of Integer as i was getting negative values while using integer and the data according to Mainframe was a type Int64 (S9(10)).

Due to this change, DS is not able to select the data as the select statement still considers the column as an Integer. Instead of giving a warning that the record precision is incorrect or smaller than the required size, it instead gave an oracle connectivity issue. Seems like the Oracle connectivity needs to be checked to understand why this was happening.
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

Have you reported this to your official support provider?
-craig

"You can never have too many knives" -- Logan Nine Fingers
rachit82
Premium Member
Premium Member
Posts: 41
Joined: Thu Jul 17, 2008 9:49 am

Regarding reporting to support provider

Post by rachit82 »

Am not sure if any action will be taken on this. Am just changing my jobs that touch that table to handle this issue. This had a cascading effect where all the jobs reading from or loading into the table started failing.
Post Reply