300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 【数据库】Oracle数据库查看事务隔离级别

【数据库】Oracle数据库查看事务隔离级别

时间:2022-08-09 09:08:14

相关推荐

【数据库】Oracle数据库查看事务隔离级别

查看Oracle数据库事务的隔离级别。

--Oracle 查看事务隔离级别SELECT * From dual for update;SELECT s.sid, s.serial#,case bitand(t.flag, POWER(2, 28))WHEN 0 THEN 'READ COMMITTED'ELSE 'SERIALIZABLE'END AS isolation_levelFROM v$transaction tJOIN v$session s ON t.addr = s.taddr AND s.sid = sys_context('USERENV', 'SID');-- READ COMMITED 表示在事务中进行的任何数据更改, 在提交之前对其他事务不可见。SID SERIAL# ISOLATION_LEVEL613 32895 READ COMMITTED

可以防止脏读,但是不能解决不可重复读和幻读问题。

不可重复读

不可重复读是指在一个事务内,多次读同一数据。在这个事务还没有结束时,另外一个事务也访问该同一数据。那么,在第一个事务中的两次读数据之间,由于第二个事务的修改,那么第一个事务两次读到的的数据可能是不一样的。这样就发生了在一个事务内两次读到的数据是不一样的,因此称为是不可重复读。

幻读

幻觉读是指当事务不是独立执行时发生的一种现象,例如第一个事务对一个表中的数据进行了修改,这种修改涉及到表中的全部数据行。同时,第二个事务也修改这个表中的数据,这种修改是向表中插入一行新数据。那么,以后就会发生操作第一个事务的用户发现表中还有没有修改的数据行,就好象发生了幻觉一样。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。