大家好:
      请问在 oracle 10g 中,如何查看会话级参数的设置值?
比如,我执行以下语句设置了会话级参数 isolation_level=serializable:
alter session set  isolation_level=serializable;
怎么查看当前 isolation_level 的设置值呢? show parameter 是查不了的。v$parameter 视图也查不了。。会话参数

解决方案 »

  1.   

    isolation_level不是初始化参数 所以你看不到show parameter 实际上就是查询v$parameter ,v$spparameter而已
      

  2.   

    网上也有人问这问题,但是都没有回答,去了权威的论坛
    发现有人被骂了,说ORACLE的隔离级别不可以单独拿出来说
    不要去知道oracle的隔离级别,要了解其机制,乱七八糟一大堆
    我估计oracle的每个session,都有自己的隔离级别,如果你非要看,
    如果用toad客户端可以按照以下步骤:
     
    0.
    保证自动提交是关闭的.
     
    1.拿到自己的 sid serial#, like后面的参数是自己的电脑名字,用的是toad客户端 
    SELECT   t.sid, t.serial#, t.*   FROM   v$session t WHERE   t.terminal  LIKE '%HUBIN-XP%'
     
    2.
    --try
    delete from schema.table where obj_id='10001';
    --then 
    select * from v$transaction ;
    --you can see a  row in this view
     
    3.跑这SQL,参数是1拿到的,可以看见你要的级别了
    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, v$session s
    WHERE t.addr = s.taddr
      AND s.sid = :sid
      AND s.serial# = :serial;