Определить график / самый низкий уровень изоляции - PullRequest
0 голосов
/ 05 мая 2018

Я пытаюсь узнать о параллелизме, я использую базу данных Oracle с SQLPlus.

У меня есть две транзакции:

Транзакция 1:

SET ECHO ON
SET VERIFY OFF

SELECT ename, city
FROM EMPLOYER
WHERE state = 'New South Wales';

UPDATE POSITION
SET bonus = salary / 10
WHERE salary > 100000;

COMMIT;

Транзакция 2:

SET VERIFY OFF
SET ECHO ON

ACCEPT AdditionBonus NUMBER PROMPT 'Addition Bonus>'

UPDATE POSITION
SET bonus = NVL(bonus, 0) + &AdditionBonus
WHERE pnumber < 00000007;

UPDATE POSITION
SET salary = salary + 1000
WHERE salary < 400000;

COMMIT;

Я пытаюсь определить, могу ли я запустить их в READ COMMITTED или это должно быть SERIALIZABLE. Я также пытаюсь записать возможные графики одновременного выполнения этих транзакций, но это меня не устраивает. До сих пор другие подобные вопросы по SE на самом деле не прояснили проблему для меня.

Как бы я определил графики этих транзакций в обоих режимах?

РЕДАКТИРОВАТЬ: строки из POSITION

   PNUMBER     SALARY      BONUS
---------- ---------- ----------
     1      45000
     2     450000      45000
     3      50000
     4     200000      20000
     5     200000      20000
     6     100000
     7     800000      80000
     8      45000     100000
     9     450000      45000
    10      50000
...