Fork me on GitHub

Oracle、MySQL、SQLServer三大数据库的事务隔离级别查看方式

1:mysql的事务隔离级别查看方法

mysql 最简单,执行这条语句就行:select @@tx_isolation 

 

 

 

详情:

1.查看当前会话隔离级别

select @@tx_isolation;

2.查看系统当前隔离级别

select @@global.tx_isolation;

3.设置当前会话隔离级别

set session transaction isolatin level repeatable read;

4.设置系统当前隔离级别

set global transaction isolation level repeatable read;

 

2:sql server事务隔离级别查看方法

执行:DBCC USEROPTIONS 

3:oracle事务隔离级别查看方法

oracle比较麻烦点,执行以下语句

 

1):

declare
trans_id Varchar2(100);
begin
trans_id := dbms_transaction.local_transaction_id( TRUE );
end;

2):

SELECT s.sid, s.serial#,CASE BITAND(t.flag, POWER(2, 28))
WHEN 0 THEN 'READ COMMITTED'
ELSE 'SERIALIZABLE' END AS isolation_level
FROM v$transaction t
JOIN v$session s ON t.addr = s.taddr AND s.sid = sys_context('USERENV', 'SID');

 

 

注意事项:

1):如果出现 v$transaction 不存在,先考虑用户权限是否足够;

2):如果执行第二句时报 empty 错误,是由于还没有创建事务(所以先执行第一句在执行第二句);

 

posted @ 2019-04-19 18:03  竹根七  阅读(1856)  评论(0编辑  收藏  举报