PL/SQL DEVELOPER 6會話管理(原創)
2024-07-21 02:05:38
供稿:網友
pl/sql developer 6會話管理
pl/sql developer 6的會話管理功能非常出色,幾可以完成所有常用的會話管理功能,主要功能有:
查詢會話列表信息
結束會話
會話跟蹤
導出會話信息
查詢會話具體的詳細信息
會話當前打開的游標
會話當前正在執行的sql
會話所有的統計信息
會話當前鎖定的對象
還可以根據個人要求定制查詢與會話相關的信息
下面我將全面介紹pl/sql developer 6會話管理功能:
打開tools/sessions菜單,會話窗口顯示如下:
中間主區域顯示的是當前oracle數據庫的用戶會話信息列表
底部顯示的是選擇會話的查詢停息
用戶會話信息列表比較常用的字段信息說明
username:會話登錄的oracle用戶名
sid:會話sid編號
status:會話狀態(active:活動;inactive:未活動; kill:結束;)
osuser:會話登錄的機器操作系統用戶名
machine:會話登錄的機器名
program:會話登錄的程序名
module:會話注冊的模塊名
action:會話注冊的活動名
logon time:會話登錄時間
process:會話在操作系統的進程號
會話管理工具欄說明
每個工具按順序對應說明
l 刷新
l 自動刷新(讓當前會話窗口自動每隔幾秒刷新一次)
l 結束會話(結束當前選擇的會話,相當于命令alter system kill session )
l 開始跟蹤(對當前選擇的會話開始進行調試跟蹤)
相當于執行過程sys.dbms_system.set_sql_trace_in_session
注: 要進行此項功能當前登錄用戶必須擁用sys.dbms_system的執行權限
你可以通過下面語句進行賦權。grant execute on dbms_system to yourusername;
l 結束跟蹤(對當前選擇的會話結束調試跟蹤)
l 定制會話查詢(用于定制會話查詢信息,具有很強的擴展功能)
會話查詢信息說明
注:以下紅色標注為本人定制查詢或者是進行修改的地方。
l cursors:返回當前選擇會話打開的游標
對應的sql語句:
select * from v$open_cursor where sid = :sid
l sql text:返回當前選擇會話正在執行的sql
對應的sql語句:
select sql_text from v$sqltext_with_newlines
where address = hextoraw(:sql_address)
and hash_value = :sql_hash_value
order by piece
l statics:返回當前選擇會話的數據庫統計信息
對應的sql語句:
select names.name, stats.statistic#, stats.value
from v$sesstat stats, v$statname names
where stats.sid = :sid
and names.statistic# = stats.statistic#
order by stats.value desc
l locks(sql語句進行過優化):返回當前選擇會話鎖定的對象
對應的sql語句:
select * from sys.all_objects a,v$locked_object b where a.object_id=b.object_id and b.session_id=:sid
l wait(本人個人定制查詢):返回當前選擇會話的等待信息
對應的sql語句:
select * from v$session_wait where sid=:sid
l event(本人個人定制查詢):返回當前選擇會話的事件信息
對應的sql語句:
select * from v$session_event
where sid = :sid order by total_waits desc
高級功能:定制會話查詢
可以新增會話監視信息,本文中的wait及event信息就是本人通過定制會話查詢增加進去的,新增一個項目后將在會話窗口中自動增加一個選項卡, caption為選項卡的標簽,query為返回監視信息的查詢語句,查詢語句可以使用v$session視圖中所有的字段為綁定變量,如:sid,:username, :sql_address等等。
2005-03-17
葉正盛