ORA-08177: can't serialize access for this transaction

haltun

Member
Delphi 5
DOA 345
Oracle 8.0.5

I got the error "ORA-08177: can't serialize access for this transaction" when I run a SQL using TOracleQuery (Insert SQL).

Session.ThreadSafe := True;
qry.Session.SetTransaction(tmSerializable)

What causes this error?

Thank you..
 
Cause: Oracle encountered data changed by an operation that occurred after the start of this serializable transaction.

Do you really need serializable transactions?

------------------
Marco Kalter
Allround Automations
 
I don't do any update or Delete operation. I'am using TOracleQuery and my SQLs are only insert statements.

My application is multithreaded and I just do insert operations in the transaction. In this case I am not sure if I really need Serializable Transaction.

In MultiThreaded Applcations, is there any special need for using Serializable Transactions or can I use ReadCommitted safely in my case (just insert operation in one table)

Originally posted by mkalter:
Cause: Oracle encountered data changed by an operation that occurred after the start of this serializable transaction.

Do you really need serializable transactions?

 
The default "read committed" isolation level should be appropriate for most applications. Serializeable isolation level ensures that you see a consistent database state for the duration of your transaction, but it has some database requirements (no large update transactions, sufficient rollback segment space), and you risk additional ORA-08177 exceptions.

------------------
Marco Kalter
Allround Automations
 
Back
Top