如何取得Oracle當前會話的ID

時間 2021-10-14 20:16:29

1樓:千鋒教育

檢視當前會話的session id 有如下三種方法:

1. v$mystat檢視

sql> select sid from v$mystat where rownum=1;

sid----------

1152

2. 使用userenv(『sid』) 直接獲取

這種方法只能在oracle 10g以後可以使用。

sql> select userenv('sid') from dual;

userenv('sid')

--------------

1152

3. 結合 userenv('sessionid') 與 v$session 檢視

userenv('sessionid') 返回的是session audit id.其對應v$session 的audsid欄位。

在session 連線到資料庫的時候,會從sys.audses$序列中獲取一個audid 分配給session。

sql> select sid from v$session where audsid=userenv('sessionid');

sid----------

7731152

--這裡返回了2個值,直接檢視userenv('sessionid') 值:

sql> select userenv('sessionid') from dual;

userenv('sessionid')

--------------------

4294967295

對於internal使用者(』/as sysoper』 和 『/as sysdba』)和後臺程序,其對應的audid 為0.

在oracle 10g中,如果audid的值為0,表明是internal 使用者,如果audid 值是4294967295,那麼就表明是用sys 使用者直接連線的。

這裡返回三個結果是把所有sys 使用者的session都返回了,所以這種方法有時的準確性並不高。

2樓:答題菜菜鳥

如何取得oracle當前會話的id(session id)

取得oracle當前會話的id(session id)有3種方法:

1. 下面這個應當是大家常用的.

sql> select sid from v$mystat where rownum =1;

sid----------

1402. 下面一個更簡單, 但只能在oracle 10g及以上版本中使用.

sql> select userenv('sid') from dual;

userenv('sid')

--------------

1403. 下面這個方法我有時也用, 因為不想用最上面的sql去寫一個子查詢, 發現在oracle 9i上很正常, 但在oracle 10g上常常返回兩行, 因此不能再使用它了.

sql> select sid from v$session where audsid=userenv('sessionid');

sid----------

140142

如何取得oracle當前會話的id

3樓:匿名使用者

取得oracle當前會話的id(session id)有3種方法:

1. 下面這個應當是大家常用的.

sql> select sid from v$mystat where rownum =1;

sid----------

1402. 下面一個更簡單, 但只能在oracle 10g及以上版本中使用.

sql> select userenv('sid') from dual;

userenv('sid')

--------------

1403. 下面這個方法我有時也用, 因為不想用最上面的sql去寫一個子查詢, 發現在oracle 9i上很正常, 但在oracle 10g上常常返回兩行, 因此不能再使用它了.

sql> select sid from v$session where audsid=userenv('sessionid');

sid----------

140142

4樓:匿名使用者

select sid from v$mystat where rownum=1;

5樓:匿名使用者

select sid from v$session ;

6樓:匿名使用者

檢視當前會話的session id 有如下三種方法:

1. v$mystat檢視

sql> select sid from v$mystat where rownum=1;

sid----------

1152

2. 使用userenv(『sid』) 直接獲取

這種方法只能在oracle 10g以後可以使用。

sql> select userenv('sid') from dual;

userenv('sid')

--------------

1152

3. 結合 userenv('sessionid') 與 v$session 檢視

userenv('sessionid') 返回的是session audit id.其對應v$session 的audsid欄位。

在session 連線到資料庫的時候,會從sys.audses$序列中獲取一個audid 分配給session。

sql> select sid from v$session where audsid=userenv('sessionid');

sid----------

7731152

--這裡返回了2個值,直接檢視userenv('sessionid') 值:

sql> select userenv('sessionid') from dual;

userenv('sessionid')

--------------------

4294967295

對於internal使用者(』/as sysoper』 和 『/as sysdba』)和後臺程序,其對應的audid 為0.

在oracle 10g中,如果audid的值為0,表明是internal 使用者,如果audid 值是4294967295,那麼就表明是用sys 使用者直接連線的。

這裡返回三個結果是把所有sys 使用者的session都返回了,所以這種方法有時的準確性並不高。

請問如何在ORACLE中取得毫秒

知道小爺 oracle中獲得毫秒需要用timestamp。工具 oracle 9i以上版本均可 步驟 1 開啟任意一個oracle客戶端工具,以plsql為例。2 在查詢視窗輸入以下語句 select to char systimestamp,yyyy mm dd hh24 mi ss.ff fro...

當前中職生的就業形式如何,面對當前就業形勢中職生該怎麼辦?

當前,大學畢業生就業形勢嚴峻,中職畢業生供不應求。由於大學擴招,每年的畢業生人數不斷增加,而 白領 崗位需要量有限。2007年全國大學畢業生達495萬人,就業率僅佔60 月薪多在1000元左右。國家機關招公務員,考錄比高達50 1,競爭之激烈可想而知。高不成,低不就,參工難是目前大學生面臨的就業現狀...

如何查詢oracle的隱藏引數的值

普通引數 也就是oracle系統正常使用的一些引數,非凡引數 包括三種,過時引數 強調引數和隱藏引數。隨著oracle資料庫新版本的釋出,相應每次都會增加或者刪除一些引數。下面具體介紹如何查詢當前系統版本中的各種引數情況。一 過時引數 和 強調引數。oracle 資料庫中,系統提供了幾個檢視可以檢視...