来自Oracle 12c中不同进程的并行事务

时间:2017-01-09 16:20:09

标签: oracle concurrency transactions locking

我有两个事务在同一个表上运行,这些事务来自不同的进程:

Transaction 1        Transaction 2    |
                                      | T
set x = 1;           set y = 1;       | I
                                      | M
if (y=1) z=1;        if (x=1) z=1;    | E
                                      | 
commit;                               |
                     commit;          v 

我需要第二个交易才能看到第一笔交易所操作的变更(或反之亦然)。有没有办法做到这一点(例如,进程之间的锁定,以便每个进程在另一个进程已经提交后发生)?

1 个答案:

答案 0 :(得分:0)

事务2只会在事务2提交后启动时才会看到事务1的结果。这称为读一致性。 Oracle不允许“脏”读取。