请问在9i或者10g环境中,以dba身份登录后,能否中断其他用户的连接?

解决方案 »

  1.   

    一个用户进程偶尔会挂起或占用过多资源而拒绝其它会话。如果 DBA 依然能够访问数据库,她通常可以发出以下查询:
    select s.username, s.osuser, s.sid, s.serial#, p.spid from v$session s,v$process p
    where s.paddr = p.addr and s.username is not null;
    select ’alter system kill session ’,’’’’||trim(t2.sid)||’,’||trim(t2.serial#)||’’’;’
    from v$locked_object t1,v$session t2 where t1.session_id=t2.sid order by t2.logon_time;
    这个查询将返回数据库用户名、操作系统用户名、会话 ID,序列号和系统进程 ID(SPID)。然后,DBA 用户就可以发出以下命令(前面的查询返回的使用 SID 和SERIAL# 信息):
    ALTER SYSTEM KILL SESSION ’sid,serial#’;
    ALTER SYSTEM KILL SESSION ’9,203’; 
      

  2.   


    up也可以通过plsql dev或者toad,以及em来kill session的。
      

  3.   

    可以中断,具有DBA角色都可以;通常是3个方面或结合
    1 中断客户端连接,比如sqlplus
    2 以DBA或SYSDBA角色登陆数据库,执行alter system kill session 'sid,serail#'
    3 以oracle/root/administrator用户登陆数据库主机,kill掉对应的server process
      

  4.   

    当然可以了。
    直接kill就可以。一,登陆数据库 alter system kill session 'sid,serial'即可
    二,登陆操作系统, unix下 kill -9 pid即可
      

  5.   

    使用工具plsql dev或EM很方便