session锁

来源:互联网 发布:别墅网络方案 编辑:程序博客网 时间:2024/05/17 23:40

总结陈词:
1、对于你的问题,最简单的办法,是在你down库后,把你的机器重启一下,这决不是搜注意。
2、你的存储过程一编译就死,是因为你的存储过程被其它session给锁了,如果你有决对的耐心,编译器一定会报一个类似 "不能锁定存储过程 "的错误。其实处理起来很简单,如下:
 a、select   *   from   v$access   where   object= 'YOUR   PROCEDURE   NAME ';
      记住相应的sid,这时假设其为sid1
    b、select   sid,serial#   from   v$session   where   sid=sid1
    c、当然是用alter   system   kill   session   'sid,serial# ';杀掉锁过程的进程了。
3、表分析不了也可以用类似2的方法处理。
4、shutdown   immediate一定可以把你的库down下来,不过你也要有些耐心,在做shutdown   immediate之前,建议把你的应用停下来,或把除oracle的几个smon等进程外,其余的kill   -9掉,这样做shutdown   immediate就快了。
不过,如果你的库有问题,shutdown   immediate   宕库不下来就另说了。
5、重启库N遍不解问题,我认为是共享内存引起的
 当你down   库之后,执行一下如下操作:
 a、#ipcs   -pmb
        看共享内存中oracle的部分是否在
    b、如在,用如下命令处理一下
          #ipcrm   -m   a中的id号
    或   #ipcrm   -M   a中的KEY值
    这和重新起动一下主机的效果一样。