事务ACID中的特性I要求事务必须有隔离原始数据与脏数据的能力。ORACLE通过DATA BUFFER与UNDO BLOCK机制实现事务的隔离性。 但是由于DATA BUFFER存储在全局数据区SGA上,若对其中某行数据进行DML操作时不加事务锁,就会在并发场景下出现问题。事务的ACID和锁没有任何关系。事务锁的出现是为了确保在并发的情况下,事务之间能够顺序执行,确保数据的准确性。
事务ACID中的特性I要求事务必须有隔离原始数据与脏数据的能力。ORACLE通过DATA BUFFER与UNDO BLOCK机制实现事务的隔离性。 但是由于DATA BUFFER存储在全局数据区SGA上,若对其中某行数据进行DML操作时不加事务锁,就会在并发场景下出现问题。事务的ACID和锁没有任何关系。事务锁的出现是为了确保在并发的情况下,事务之间能够顺序执行,确保数据的准确性。