oracle,mysql,sql server三大数据库的事务隔离级别查看方法

时间:2022-06-01 16:57:39

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

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

oracle,mysql,sql server三大数据库的事务隔离级别查看方法

详情:

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 

oracle,mysql,sql server三大数据库的事务隔离级别查看方法

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');

oracle,mysql,sql server三大数据库的事务隔离级别查看方法

注意事项:

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

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