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> |
相關文章
- 獲取本session的sid和serial#Session
- java 獲取當前程式的程式IDJava
- mysql獲取指定表當前自增id值MySql
- 微信小程式獲取當前位置微信小程式
- JavaScript 獲取當前月份JavaScript
- 獲取當前時間
- DB2 獲取當前DB連線的application id, application handleDB2APP
- php 獲取當前域名和當前協議PHP協議
- 獲取當前頁面的topViewControllerViewController
- Java獲取當前星期幾Java
- mybatis獲取當前時間MyBatis
- python 如何獲取當前時間Python
- oracle 會話(session)被鎖瞭解決方法Oracle會話Session
- Flutter 小知識,Key的使用(獲取當前點選Widget位置/獲取當前Widget大小)Flutter
- 小程式獲取當前元素在螢幕中的位置
- Oracle database 19c中獲取當前資料庫版本的方法OracleDatabase資料庫
- 獲取當前Tomcat例項的埠Tomcat
- Java如何獲取當前執行緒Java執行緒
- Linux C獲取當前工作目錄Linux
- 獲取當前時間往前的日期
- Spark獲取當前分割槽的partitionIdSpark
- Flutter獲取當前網路型別Flutter型別
- 如何用js獲取當前時間和ip地址以及當前城市JS
- 檢視當前pg會話連線數會話
- react獲取當前頁面的url引數React
- 用js獲取當前月份的天數JS
- js獲取當前的具體時間JS
- C# 獲取當前伺服器域名C#伺服器
- python怎麼獲取當前是幾點?Python
- 如何用Java獲取當前時間戳?Java時間戳
- 直播app原始碼,uniapp獲取當前位置APP原始碼
- 當laravel獲取不到session的三種解決辦法LaravelSession
- Cassandra的Session會話Session會話
- c++ 獲取當前時間周初凌晨時間戳(獲取當前時間週一凌晨時間戳)C++時間戳
- WPF 前臺觸發器實時獲取當前時間觸發器
- C# 獲取系統當前IE版本號C#
- js根據IP地址獲取當前的省市JS
- 獲取類屬性值,當前類,父類
- 獲取當前修改的行記錄資料