Oracle’s serializable isolation is suitable for environments where there is a relatively
low chance that two concurrent transactions will modify the same rows and the
long-running transactions are primarily read only. It is most suitable for environments
with large databases and short transactions that update only a few rows.
Serializable isolation mode provides somewhat more consistency by protecting against
phantoms and nonrepeatable reads and can be important where a read/write
transaction runs a query more than once.
Unlike other implementations of serializable isolation, which lock blocks for read as
well as write, Oracle provides nonblocking queries and the fine granularity of
row-level locking, both of which reduce read/write contention. For applications that
experience mostly read/write contention, Oracle serializable isolation can provide
significantly more throughput than other systems. Therefore, some applications might
be suitable for serializable isolation on Oracle but not on other systems.
All queries in an Oracle serializable transaction see the database as of a single point in
time, so this isolation level is suitable where multiple consistent queries must be
issued in a read/write transaction. A report-writing application that generates
summary data and stores it in the database might use serializable mode because it
provides the consistency that a READ ONLY transaction provides, but also allows
INSERT, UPDATE, and DELETE.
Transactions containing DML statements with subqueries should use serializable isolation
to guarantee consistent read.
3. Oracle 采用了无阻塞查询及精细粒度的行级锁技术 ，减少了读写操作间的竞争
4. 如果事务中存在使用了子查询的 DML 语句，应该使用串行化隔离来保证一致性的读取
来自 “ ITPUB博客 ” ，链接：http://blog.itpub.net/10599713/viewspace-989864/，如需转载，请注明出处，否则将追究法律责任。