I\'m running a program that creates a table and then inserts some data.
This is the only program that accesses the database.
I\'m getting ORA-08177 randomly.
Act
Total rewrite (having barked up the wrong tree the first time around).
The SERIALIZABLE isolation level grabs a slot in the Interested Transactions List. If Oracle cannot get a slot then it hurls ORA-8177. The number of available ITL slots is controlled by INITRANS and MAXTRANS. According to the documentation:
To use serializable mode, INITRANS must be set to at least 3.
This must be set for both the table and its indexes. So, what are your INITRANS settings? Certainly your sample code uses the default value (1 for tables, 2 for indexes).