我执行一个asp程序,死掉了,然后我死活就再也连不上了,我看select * from v$sessioin 那个进程还在(module为w3wp.exe).我就给kill sid,serial了,但是那个进程一直在那里(3天了),只不过状态是killed。我现在还是连不上
别人的机器上连没问题。。请问我怎么把这个东西搞掉呢??具体情况:
在一个ip为192.168.1.22的机子上有DB,还有web服务器iis。
我在自己的机子上通过192.168.1.22/demo执行的程序。
由于iis上还有很多别的网站,不能重器.。。

解决方案 »

  1.   


    --数据库的锁是比较耗费资源的,特别是发生锁等待的时候,我们必须找到发生等待的锁,有可能的话,杀掉该进程。 
    --这个语句将查找到数据库中所有的DML语句产生的锁,还可以发现,任何DML语句其实产生了两个锁,一个是表锁,一个是行锁。 SELECT s.username,
           decode(l.type, 'TM', 'TABLE LOCK', 'TX', 'ROW LOCK', NULL) LOCK_LEVEL,
           o.owner,
           o.object_name,
           o.object_type,
           s.sid,
           s.serial#,
           s.terminal,
           s.machine,
           s.program,
           s.osuser
      FROM v$session s, v$lock l, dba_objects o
     WHERE l.sid = s.sid
       AND l.id1 = o.object_id(+)
       AND s.username is NOT NULL--可以通过alter system kill session ‘sid,serial#’来杀掉会话
      

  2.   

    表没问题,可以连接。。但是不能通过asp创建一个session就象下面这种。运行就报错。。
    Set OraSession  = CreateObject( "OracleInProcServer.XOraSession" )
    Set OraData = OraSession.OpenDatabase( Session("OraSrvc"), Session("OraUser"), 0 ) 别人的机子可以用。。不知道这属于什么情况/??
      

  3.   


    我就是用这个杀的,所以现在的状态是@[email protected]是"PSEUDO"
    而且我用你这个sql查,也没有相关的表被锁。(已经killed了)
      

  4.   

    服务器的Oracle目录 属性 安全 权限置全允许,测试通了后才回收部分权限,试一下。
      

  5.   


    权限??
    什么意思呀,不太明白??
    没有权限的话,killed掉的东西也不回收了么?
      

  6.   

    这样的话,你别在数据库中用alter system kill .....命令了。
    你在OS下,用orakill命令来杀这个会话。
      

  7.   

    select * from v$session
    where username ='AQUA'
    得到sid=520
    select spid, osuser, s.program from
    v$process p, v$session s where p.addr=s.paddr
    and s.sid = '520'
    这个就不存在了。。
    我想可能是因为我已经把它killed过了。。怎么办呢??谁知道呀。
      

  8.   

    怀疑你的问题是在web服务器那端连接超时的设定你是怎么设的?
      

  9.   

    使用net configuration assistant 重新配置你的连接串,主机使用IP地址,
    测试成功后,再:conn 用户名/密码@连接串