我们公司有个软件,当软件更新后台数据库Oracle表的结构时,遇到两个问题,请高手指教:
1.当升级时,我们先更改后台Oracle的密码,但是,已经有很多用户已经连接到Oracle,所以用PL/SQL一个个用鼠标Kill掉,如果有200个用户连接上,那就要Kill200下,太麻烦了,请高手指教一个方便的方法,谢谢!

解决方案 »

  1.   

    可以从 v$session 里查出所有的会话,然后
    alter system kill session 
      

  2.   


    declare
    id int ;
    idname int ; 
    begin
    cursor a is select sid,serial# from v$session ;
    open a ;
    loop
    fetch a into id,idname  ;
    alter system kill session id,idname;
    Exit When a%NOTFOUND;
    end loop ;
    end ;
      

  3.   

    直接关数据库啊。不关kill的话,可能你前脚kill,人家后脚又连进来了那不白忙活啦?
      

  4.   

    alter system kill session 经常提示sid不存在