如何取得oracle當前會話的,如何取得Oracle當前會話的ID

2021-09-24 15:17:11 字數 1673 閱讀 3630

1樓:匿名使用者

取得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

2樓:匿名使用者

select sid from v$mystat where rownum=1;

3樓:匿名使用者

select sid from v$session ;

4樓:匿名使用者

檢視當前會話的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都返回了,所以這種方法有時的準確性並不高。

如何取得客戶的信任,如何取得客戶信任

怎樣贏得客戶的信任呢?1 專業水準。無論客戶是什麼身份,什麼背景,在您從事的領域他肯定沒有您專業,那麼,表現的更專業一點吧。嚴謹的工作作風,專業的建議都是贏得客戶的基礎。2 為對方著想。沒有人會對一個自私自利的人信任的,您只有真正為對方的利益著想,才能得到尊重。3 適當地說 不!態度溫和,原則堅定。...

當前的學校德育如何,如何加強當前中學生的德育教育

正確的指引學生的豆蔻年華。多站在學生的角度上想想某些問題 班級偷盜,可能是本班學生,也可能是其他班級的學生。這個問題的核心是家教。多給學生看.如何加強當前中學生的德育教育 應該說,加強中學生德育教育是一個老生常談的問題了社會大環境下,造就了當前浮躁的風氣,同時家庭結構變,離婚率激增,都對青少年產生了...

如何在Eclipse中設定Oracle的JDBC

在myeclipse或者eclipse下面做專案的時候會在每一個專案的根目標下面自動生成一個.classpath檔案,這就是相當classpath的配置 當然主要是在你的myeclipse和eclipse能夠正確安裝的情況下。如何在eclipse中設定classpath 能用,在 復myeclips...