title: What's the difference between READ_COMMITTED and SERIALIZABLE isolation levels in Oracle database?
body: <p>After reading few documents regarding transaction, I'm totally confused now. Let me first explain my scenario.</p>
  
  <p>I've a batch read which takes up around 3 minutes to read the data (SELECT) query  from a table. And at the same time another thread tries to perform INSERT/UPDATE/DELETE. It was throwing an error, saying "<em>could not acquire transaction</em>" (because my datasource had a default transaction of 8 (SERIALIZABLE)).</p>
  
  <p>To allow the INSERT/UPDATE/DELETE to execute I set the transaction to READ_UNCOMMITTED (that no lock at all (read/write/range)). But when I executed my program it threw an error saying that the only supported transactions are READ_COMMITTED and SERIALIZABLE.</p>
  
  <p>When I further investigated I found the Oracle has introduced <em>transaction isolation</em> type <strong><em>snapshot</em></strong> isolation which virtually eliminated repeatable reads and dirty reads by taking <em>snapshot</em> of the database during transaction, there by giving consistent data.</p>
  
  <p>From above statement I could use transaction type of READ_COMMITTED however Wikipedia totally confused my understanding till now with the below statement:</p>
  
  <blockquote>
    <p>Snapshot isolation is called "serializable" mode in Oracle[2][3][4]
    and PostgreSQL versions prior to 9.1,[5][6][7] which may cause
    confusion with the "real serializability" mode. There are arguments
    both for and against this decision; what is clear is that users must
    be aware of the distinction to avoid possible undesired anomalous
    behavior in their database system logic.</p>
  </blockquote>
  
  <p>So now my questions are: </p>
  
  <ol>
  <li>What is the difference between SERIALIZABLE and READ_COMMITTED from Oracle perspective?</li>
  <li>Does Oracle throw an error if <em>snapshot</em> isolation is taken and for two different transactions and updates same entry throw an error?</li>
  <li>Let me know if there are any breakaways from in my understanding.</li>
  </ol>