查出当前进程id
select process from v$session 
where audsid in 
  (SELECT to_number(USERENV('SESSIONID')) FROM DUAL);
使用not in就可以查处非当前的了
select process from v$session 
where audsid  not in 
  (SELECT to_number(USERENV('SESSIONID')) FROM DUAL);

解决方案 »

  1.   

    select a.pid
    from v$process a , v$session b
    where a.serial#=b.serial#
    and b.sid=你的会话号
      

  2.   

    redhat linux9 + oracle9.2 服务器
    客户端(我的机器)win2000pro jp
      

  3.   

    SELECT sid FROM v$session
    WHERE --db_name(dbid) = 'backend'  这句是条件是当前数据库名(原来的sqlserver语句)
    username = 'aaa'       --loginname(原来的sqlserver语句)
    AND terminal != 'mycompu' --hostname(原来的sqlserver语句)
    AND spid != v_MY_SPID --这是从另一个表里查询出来的spid,赋给v_MY_SPID变量
    AND audsid != (SELECT to_number(USERENV('SESSIONID')) FROM DUAL);我现在写成了这样,唯一第一个条件db_name(dbid)取得当前数据库名不知如何取
    哪位高手帮帮忙
      

  4.   

    select sys_context('USERENV','DB_NAME') from dual;