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

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

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

 

 

 

详情:session

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

select @@tx_isolation;spa

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

select @@global.tx_isolation;blog

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

set session transaction isolatin level repeatable read;io

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

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 错误,是因为尚未建立事务(因此先执行第一句在执行第二句);

相关文章
相关标签/搜索