0

I am facing a problem in Oracle, which after performing a procedure that performs INSERT or UPDATE with a millions amount of record in a table, not the next procedure "sees" the data in the table already inserted. My procedure is scheduled to perform commit 100 thousand lines. I also use cursors with bulk collection.

I suspect the problem may be due to the area Rollback segment of the Session of Oracle, anyone know if there is any DML command to clear the area or give a flush on Rollback segment?

1 Answer 1

1

I suspect you're using multiple sessions and the other session cannot "see" the work performed because it is currently uncommitted.

The default Oracle transaction Isolation Level is Read Committed. This means that a session will not be able to see the work a given session has done until it has explicitly committed the transaction.

The Oracle Server Concepts Guide explains this in detail.

2
  • But it is in the same session. The second procedure to be performed does not see the newly inserted data, however, they are there. Commented Oct 1, 2014 at 23:33
  • Does it not "see" all of the data, or just some of the data? If your session cannot "see" ANY of the data (even after commit) then you're facing a different issue than if your session cannot "see" some of the data, but can see some of it. Commented Oct 2, 2014 at 14:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.