oracle獲取當前會話(程式)session id(sid)
轉帖於:http://www.idb-stock.net/idb/2011/06/23/184.html
session id 在一些審計、統計分析中還是非常用的,本文介紹常見的獲取oracle session id的方法:
1.從v$mystat檢視獲取oracle當前會話的session id(sid):
- select sid
- from v$mystat
- where rownum = 1;
select sid
from v$mystat
where rownum = 1;
2.用userenv函式獲取oracle當前會話的session id(sid):
- select sid
- from v$session
- where audsid=userenv('sessionid');
select sid
from v$session
where audsid=userenv('sessionid');
特別說明:userenv(‘sessionid’)對以sys登入的使用者是有限制,我們可以看到所有在主機以sys登入的使用者的audsid都是0。
$ sqlplus "/as sysdba" SQL*Plus: Release 9.2.0.7.0 - Production on Thu Jun 23 16:50:13 2011 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. Connected to: Oracle9i Enterprise Edition Release 9.2.0.7.0 - 64bit Production With the Partitioning, OLAP and Oracle Data Mining options JServer Release 9.2.0.7.0 - Production SQL> show user USER is "SYS" SQL> select t.SID, 2 t.AUDSID, 3 t.USERNAME 4 from v$session t 5 where t.USERNAME = 'SYS' 6 or t.USERNAME is null 7 ; SID AUDSID USERNAME ---------- ---------- ------------------------------ 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 27 0 SYS 9 rows selected. SQL> select userenv('sessionid') from dual; USERENV('SESSIONID') -------------------- 0 |
3.oracle 10g 用userenv(‘sid’)獲取session id(sid):
- --oracle 10g以後可以使用
- select userenv('sid') from dual;
--oracle 10g以後可以使用
select userenv('sid') from dual;
4.使用dbms_session.unique_session_id獲取oracle當前會話的session id(sid):
dbms_session.unique_session_id總共返回20位,其中前4位為session id,5~8位為serial#,具體示例請參考:統計oracle每個使用者的事務數
- select
- to_number(substrb(dbms_session.unique_session_id,1,4),'xxxx') sid,
- to_number(substrb(dbms_session.unique_session_id,5,4),'xxxx') audsid
- from dual;
select
to_number(substrb(dbms_session.unique_session_id,1,4),'xxxx') sid,
to_number(substrb(dbms_session.unique_session_id,5,4),'xxxx') audsid
from dual;
SQL> select 2 to_number(substrb(dbms_session.unique_session_id,1,4),'xxxx') sid, 3 to_number(substrb(dbms_session.unique_session_id,5,4),'xxxx') audsid 4 from dual; SID AUDSID ---------- ---------- 27 7651 SQL> |
相關文章
- Oracle查詢當前會話的sidOracle會話
- Oracle 檢視當前會話 SESSION ID 方法 說明Oracle會話Session
- 檢視當前會話session id方法:會話Session
- 獲取當前會話資訊的方法會話
- 獲取當前會話資訊的方法(二)會話
- 獲取當前會話的trc檔名會話
- 【轉載】檢視當前會話SID的三種方法會話
- 獲取本session的sid和serial#Session
- sys_context獲取當前會話的屬性Context會話
- 利用dbms_support包查詢當前會話的session_id會話Session
- oracle 10046當前會話Oracle會話
- Android獲取當前桌面桌布Android
- Oracle 查詢當前會話標識Oracle會話
- 微信小程式獲取當前位置微信小程式
- Oracle 會話(Session)Oracle會話Session
- Android中獲取當前位置資訊Android
- oracle 跟蹤當前使用者會話Oracle會話
- Flutter 小知識,Key的使用(獲取當前點選Widget位置/獲取當前Widget大小)Flutter
- 檢視oracle當前sessionOracleSession
- Spark獲取當前分割槽的partitionIdSpark
- 修改oracle當前會話的語言環境Oracle會話
- JavaScript 獲取當前月份JavaScript
- JavaScript 獲取當前域名JavaScript
- javascript獲取當前urlJavaScript
- php 獲取當前域名和當前協議PHP協議
- js獲取當前月份例項程式碼JS
- mysql獲取指定表當前自增id值MySql
- android利用adb命令,獲取當前介面(當前Task的棧頂).Android
- oracle session(會話) 跟蹤OracleSession會話
- 【會話】Oracle kill session系列會話OracleSession
- java 獲取當前程式的程式IDJava
- mybatis獲取當前時間MyBatis
- Java獲取當前星期幾Java
- JQuery獲取當前元素本身jQuery
- java獲取當前時間Java
- Qt獲取當前時間QT
- js獲取當前時間JS
- Qt 獲取當前時間QT