Akal, July 22, 2021 - 10:03 am UTC
OK, Thanks. I totally understand Tom's book about a Transaction isolation and your link is not useful for me but thanks for the example and pointing to a logical moment of a transaction starting. That thing became clear for me now.
But in your example if we don't change a transaction level
<comment>
SQL> set transaction read write; <<<===== you logically started NOW, but this is just recorded in the session memory, you can't "see" it
</comment>
and we stay at the default transaction level (READ COMMITTED) in which moment a transaction is starting (logically as I suppose)?
July 23, 2021 - 7:32 am UTC
Just give it a run yourself and you'll get the answer
select sysdate from dual;
select start_time from v$transaction;
alter session set isolation_level = read committed;
select sysdate from dual;
exec dbms_session.sleep(20);
select sysdate from dual;
select * from emp for update;
select start_time from v$transaction;