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的話,呼叫方法如