sessionstate 可以存在oracle session吗

通过如下sql你可以查询你的每个应鼡程序到底在等待什么从而针对这些信息对数据库的性能进行调整。

--3 执行下面的语句获得进程(线程)号,sid为第一步查询出的sid号:

1、NULL可以某些情况下,如分布式數据库的查询会产生此锁

2、SS,表结构共享锁

3、SX表结构共享锁+被操作的记录的排它锁

4、S, 表结构共享锁+所有记录共享锁

5、SRX 表结构共享锁+所有记录排它锁

6、X 表结构排它锁+所有记录排它锁

S:全表范围的共享锁,不需要在每行上做出标识;

X:全表范围的排它锁,不需要在每行上做出标识;

SRX(SSX):是意向锁RX与S锁的组合,它表征事务既对表加S锁,同时要修改个别行,即要在个别行上加X锁;(如果你使用oracle session8,可以在一个表上建立一个自引用,如EMP表上的MGR引用EMPNO,刪除一条记录,可以观察到SRX锁)


查看是否有session阻塞:


因此通过前面的137,6所查到的SQL语句则是后面运行被等待的SQL语句,而不是阻塞别人的SQL语句

如果偠查找原因,操作如下:

查找相应的SQL语句:


找出相应的SQL语句后即可处理。

在巡检期间检查如果发现有相关的session_wait锁,可按以下步骤查找相應的锁

4. 使用V$SESSION获取关于持有锁的程序和用户的更多信息

? SID:表示持有锁的会话信息。

? TYPE:表示锁的类型值包括TM和TX等。

? LMODE:表示会话等待的锁模式的信息用数字0-6表示,和表1相对应

? ID1,ID2:表示锁的对象标识。


查看当前被锁的session正在执行的sql语句

我要回帖

更多关于 oracle session 的文章

 

随机推荐