Error with Transaction Isolation Serializable
634521Apr 16 2008 — edited Apr 17 2008I've been trying to solve a problem for some time now. We have a data access framework that was designed with serializable transaction isolation in mind. In other words, potential concurrency problems are pushed to the database.
I'm inserting many records to multiple tables in one transaction that have parent-children, or one-to-many, relationships. When this hierarchy becomes modestly large, for example one parent with 200 children and each child has 50 children of its own, I receive the error,
ORA-8177 can't serialize access for this transaction.
For weeks I've been trying to solve this problem without any success. At this point I'm wondering if there are any database initialization parameters that I can tune.
The 8177 error does not seem to be a rarity when using transaction isolation serializable, since it is mentioned in Oracle documentation that describes different isolation levels.
Has anyone experienced this problem and successfully solved the issue? Changing the isolation level to "read committed" would require a complete rewrite of our data access framework. At this point it really is not an option.