日期:2014-05-16  浏览次数:21177 次

oracle怎么彻底解决锁的问题?急。。。
环境是WINDOWS XP + ORACLE 10

服务器启动很慢?而且服务器一启动占有很大的资源?
感觉还是服务器进程里面有进程被锁?
看了下v$lock
SQL code

select * from v$lock;

ADDR     KADDR           SID TYPE        ID1        ID2      LMODE    REQUEST      CTIME      BLOCK
-------- -------- ---------- ---- ---------- ---------- ---------- ---------- ---------- ----------
21C34228 21C3423C        165 XR            4          0          1          0        425          0
21C34284 21C34298        165 CF            0          0          2          0        402          0
21C3433C 21C34350        165 RS           25          1          2          0        390          0
21C343F4 21C34408        166 RT            1          0          6          0        393          0
21C34508 21C3451C        164 PS            1          0          4          0        299          0
21C34564 21C34578        167 MR            1          0          4          0        315          0
21C345C0 21C345D4        167 MR            2          0          4          0        315          0
21C3461C 21C34630        167 MR            3          0          4          0        315          0
21C34678 21C3468C        167 MR            4          0          4          0        315          0
21C346D4 21C346E8        167 MR            5          0          4          0        315          0
21C34730 21C34744        167 MR          201          0          4          0        315          0
21C3478C 21C347A0        164 PS            1          1          4          0        299          0
21C347E8 21C347FC        164 TS            3          1          3          0        299          0
21C34844 21C34858        164 PS            1          2          4          0        299          0
21C348A0 21C348B4        164 PS            1          3          4          0        298          0
21C348FC 21C34910        155 PS            1          1          4          0        298          0
21C34958 21C3496C        154 PS            1          2          4          0        298          0
21C349B4 21C349C8        152 PS            1          3          4          0        298          0
21C34A10 21C34A24        153 PS            1          0          4          0        298          0
21C34A6C 21C34A80        164 TX       131111       4537          6          0        298          0

20 rows selected

select * from v$session where sid in(select sid from v$lock);                                                         
                                                              
SADDR           SID    SERIAL#     AUDSID PADDR         USER#    OWNERID  STATUS   SERVER       SCHEMA# SCHEMANAME  
-------- ---------- ---------- ---------- -------- ---------- ----------  -------- --------- ---------- ------------
22736EAC        152          1          0 2264DDCC          0      65700  ACTIVE   DEDICATED          0 SYS         
22738174        153          1          0 2264CBFC          0      65700  ACTIVE   DEDICATED          0 SYS         
2273943C        154          1          0 2264D7DC          0      65700  ACTIVE   DEDICATED          0 SYS         
2273A704        155          3          0 2264D1EC          0      65700  ACTIVE   DEDICATED          0 SYS         
2274500C        164          1          0 22649C7C          0 2147483644  ACTIVE   DEDICATED          0 SYS         
227462D4        165          1          0 2264968C          0 2147483644  ACTIVE   DEDICATED          0 SYS         
2274759C        166          1          0 2264909C          0 2147483644  ACTIVE   DEDICATED          0 SYS         
22748864        167          1          0 22648AAC          0 2147483644  ACTIVE   DEDICATED          0 SYS  


这lock视图里面看到比正常多了几个?

通过alter system kill session '152,1';

杀了几个进程后,通过LOCK视图查出来还是有很多锁?

这里不能杀掉SID 大于164的进程