1. 程式人生 > >Oracle 檢視當前會話 SESSION ID 方法

Oracle 檢視當前會話 SESSION ID 方法

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

1.   v$mystat檢視

SQL> desc v$mystat

 Name                                     Null?    Type

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

 SID                                               NUMBER

 STATISTIC#                                         NUMBER

 VALUE                                             NUMBER

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

      SID

----------

       19

2.   使用userenv(‘sid’) 直接獲取

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

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

USERENV('SID')

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

            19

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

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

這在之前的blog中有說明。

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

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

      SID

----------

       19

       25

      469

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

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

USERENV('SESSIONID')

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

         4294967295

在之前的AUDSES$的blog中提到:

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

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

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

相關推薦

Oracle 檢視當前會話 SESSION ID 方法

檢視當前會話的session  ID 有如下三種方法: 1.   v$mystat檢視 SQL> desc v$mystat  Name                                     Null?    Type  --------

Oracle 檢視活動的Session

--01:活動的session SELECT S.USERNAME, S.SID, S.SERIAL#, S.INST_ID, S.EVENT, S.WAIT_CLASS, S.SQL_EXEC_START,

全志平臺Tina系統檢視當前cpu頻率的方法(沒開cpu_freq節點的情況下)

全志平臺Tina系統想檢視當前cpu的頻率,又沒有在編譯的時候make kernel_menuconfig中開啟調頻策略的節點,可以通過cat pl_cpu下的clk_rate來檢視,方法如下: [email protected]:/sys/kernel/debu

Oracle檢視當前使用者許可權

--檢視使用者和預設表空間的關係 select username,default_tablespace from dba_users; --檢視當前使用者能訪問的表 select * from user_tables;  --Oracle查詢使用者表 select

oracle檢視當前的資料庫例項名稱,主機名稱

SQL> column host_name format a30                 --先對欄位進行格式化操作 SQL> select instance_name,host_

oracle檢視當前登陸的使用者資訊

檢視當前登陸的使用者名稱: select user from dual; 或者 select * from user_users; 或者 show user 檢視當前使用者擁有的角色和

ORACLE 檢視當前連線數、修改最大連線數相關SQL或命令

SQL: 1. 檢視當前的資料庫連線數  select count(*) fromv$process  select count(*) from v$process where program=‘Oracle.EXE(SHAD)’; 2. 檢視資料庫允許的最大連線數  s

oracle 檢視session當前正執行的sql及近期執行的sql語句

 ORACLE中可以通過v$session表檢視當前有效的session資訊,並且可以通過v$session的sql_id或sql_address通過關聯查詢v$sql檢視當前正在執行的sql語句;  如果我們想檢視session近期執行的sql語句,可以通過v$activ

如何檢視oracle當前session連線數

怎樣檢視oracle當前的連線數呢?只要用下面的SQL語句 #檢視當前不為空的連線 select * from v$session where username is not null; #檢視不同使用者的連線數 select username,count(username

oracle 檢視某張表的會話程序id ,並刪除該程序

查詢某張表的會話程序id ,有時候會話關閉了,但是程序還在,這樣就會造成這張表還被使用, SELECT SID, SERIAL# FROM GV$SESSION V WHERE SID I

spring jdbcTemplate insert插入Oracle數據庫後返回當前主鍵id

spring bsp java ntc oracl statement ava head ora 最近做一個spring版本3.0.4的老項目功能,應用場景要用到jdbctemplate插入oracle表後返回主鍵ID拿來和其他表關聯。 用oralce的可以一直用這種處理

檢視當前oracle中正在執行的sql語句——即查詢oracle程序的sql

select a.program, b.spid, c.sql_text,c.SQL_ID from v$session a, v$process b, v$sqlarea c where a.paddr = b.addr and a.sql_hash_value = c.hash_value an

Oracle檢視正在執行的SQL,當前被鎖物件以及解鎖物件

1、檢視正在執行的SQL SELECT b.sid, b.username, b.serial#, spid, paddr, sql_text,--正在執行的SQL, b.machine --計算機名 FROM

Oracle刪除當前使用者下的所有表、檢視、序列、函式、儲存過程、包(轉)

最近在用oracle,發現了一個批量刪除資料庫中的各種結構的好方法。 --delete tables  select 'drop table ' ||&

Oracle之SQL優化專題01-檢視SQL執行計劃的方法

在我2014年總結的“SQL Tuning 基礎概述”中,其實已經介紹了一些檢視SQL執行計劃的方法,但是不夠系統和全面,所以本次SQL優化專題,就首先要系統的介紹一下檢視SQL執行計劃的方法。 本文示例SQL為: --set lines 1000 pages 1000 select a.emp

linux中檢視當前所用系統及核心版本的方法

問題: 1. 當使用一臺linux機器的時候,常常需要確認當前所用作業系統的版本資訊,核心資訊等, 作業系統的版本資訊可以通過以下命令完成,比如:lsb_release -a;cat /etc/issue 而檢視核心版本可以通過以下命令完成,比如:uname -a;cat

Oracle資料庫如何檢視當前伺服器有多少個數據庫?

現在剛接觸Oracle資料庫,發現SQL server在SSMS能夠很直觀地檢視當前伺服器有多少個數據庫,但是Oracle(我用的是developer)卻沒有那麼方便。Oracle要怎麼知道多少個數據庫呢?? 目前所瞭解到方法是: DBCA上面可以檢視; 通過oradata

檢視當前oracle中正在執行的sql語句

問題現象 最近一直在做,通過java後臺,如何知道Oracle正在執行sql。因為不能與客戶進行有效的溝通,也沒有到現場瞭解,資料是如何進行的匯入,所以這方面一直沒有得到有效的突破;原因分析 在查詢資

Oracle 匯入資料庫 刪除使用者、刪除表空間、刪除表空間下所有表,檢視當前表空間

匯入資料庫 在cmd下用 imp匯入  格式: imp userName/passWord file=bmp檔案路徑 ignore = y (忽略建立錯誤)full=y(匯入檔案中全部內容); 例: imp DISASTERV2/DISASTERV2 file=C:\Use

dedecms呼叫當前欄目ID當前欄目頂級ID方法

一、採用dedecms獲取當前所在欄目ID的方法如下: 1.模板中呼叫欄目ID採用如下方法: 複製程式碼 程式碼如下: {dede:type}[field:ID /]{/dede:type} 2.如果是在{dede:sql}裡面呼叫當前欄目ID的話,呼叫方法如