方法一:
如果是sys或system用户或是有dba权限的用户,可以直接查询v$mystat即可得到
SQL> select sid from v$mystat where rownum=1;
SID
----------
143
然后再查询v$session
SQL> select sid,serial#,username,process from v$session where sid=143;
SID SERIAL# USERNAME PROCESS
---------- ---------- ------------------------------ ------------
143 579 SYS 5435
方法二:
如果是普通用户的话,是没有权限查询v$mystat和v$session,那么要实现必须要借助于dba管理员才可以,实现方法:
SQL> select sys_context('USERENV','SESSIONID') from dual;
SYS_CONTEXT('USERENV','SESSIONID')
-----------------------------------------------------
165
此处得到的是v$session中的AUDSID字段中的值。
然后通过下面语句就可以查出SID,SERIAL#
SQL> select sid,serial#,username,process from v$session where audsid=165;
SID SERIAL# USERNAME PROCESS
---------- ---------- ------------------------------ ------------
149 136 SCOTT 5333