Oracle Error message: ORA-08103: object no longer exists
Posted: Tue Oct 08, 2019 1:54 am
We have a scenario with two ETL jobs(Lets call them Job A and Job B) belonging to different subject areas with no dependency among each other, but operating on same table.
job A has the following statement
ALTER TABLE <TABLENAME> TRUNCATE PARTITION (PNAME) UPDATE INDEXES
job B does a simple select * from the same table above
Now the issue is this. On rare occasions they kind of overlap or run simultaneously causing the below error in second batch job (which has the select statement)
Error message: ORA-08103: object no longer exists.
We are aware that the root cause is because it is trying to select from the table when the partition is being truncated. We even were able to reproduce it in the TEST environment where we ran the job B and on a separate toad session we ran the Truncate Partition query at the same time
As I said this happens on only once or twice a month when these jobs run simultaneously. This is completely not in our control as we cant set dependencies between these 2. As i said they belong to different domains and we cant just make 1 job wait for another
In this case, is there something which can be done in the Job B , oracle connector stage SELECT query such that this error does not happen ? Something which will delay the Select thus not causing the job to abort?
Version Info:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit
job A has the following statement
ALTER TABLE <TABLENAME> TRUNCATE PARTITION (PNAME) UPDATE INDEXES
job B does a simple select * from the same table above
Now the issue is this. On rare occasions they kind of overlap or run simultaneously causing the below error in second batch job (which has the select statement)
Error message: ORA-08103: object no longer exists.
We are aware that the root cause is because it is trying to select from the table when the partition is being truncated. We even were able to reproduce it in the TEST environment where we ran the job B and on a separate toad session we ran the Truncate Partition query at the same time
As I said this happens on only once or twice a month when these jobs run simultaneously. This is completely not in our control as we cant set dependencies between these 2. As i said they belong to different domains and we cant just make 1 job wait for another
In this case, is there something which can be done in the Job B , oracle connector stage SELECT query such that this error does not happen ? Something which will delay the Select thus not causing the job to abort?
Version Info:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit