2012-07-02 32 views
2

我想了解一個oracle窗體正在調用哪些軟件包/函數。 我有sysdba訪問數據庫。有沒有簡單的方法來確定這一點?我知道一個非常粗糙的方法(使用文件編寫包將文本文件寫入文件系統),但是我確定必須有一些更容易監視SQL和被調用的內容嗎?監視什麼軟件包被調用

我正在使用SQL Developer。

任何幫助表示讚賞!

+0

看到這個[DBMS_PROFILER](http://docs.oracle.com/cd/B28359_01/appdev.111/b28419/d_profil.htm)或這個:[DBMS_HPROF](http://docs.oracle.com/ CD/B28359_01/appdev.111/b28419/d_hprof.htm) –

回答

0

這是我自己的會話監控查詢,看一看:

SELECT SUBSTR(program, 1, 15), SUBSTR(event, 1, 21), DBMS_LOB.SUBSTR(WRH.sql_text, 100), 
     ( TO_CHAR(FLOOR((SYSDATE - logon_time) * 24), 'FM000') 
     || ':' 
     || TO_CHAR(FLOOR(MOD((SYSDATE - logon_time) * 1440, 60)), 'FM00') 
     || ':' 
     || TO_CHAR(MOD((SYSDATE - logon_time) * 86400, 60), 'FM00')) 
     "Elapsed Time", --WRS.cpu_cost,WRS.operation,WRS.options,WRS.position,WRS.search_columns,WRS.cost,WRS.bytes,WRS.TIME, 
     schemaname, terminal, plsql_entry_object_id, osuser, 
     process, username, MODULE, ROW_WAIT_OBJ#, "ROW_WAIT_FILE#", "ROW_WAIT_BLOCK#", sid, 
     USER#, command, SCHEMA#, logon_time, blocking_session_status, "SEQ#", wait_class, 
     state, service_name 
    FROM V$SESSION SS, SYS.WRH$_SQLTEXT WRH       --,SYS.WRH$_SQL_PLAN WRS 
WHERE WRH.sql_id = SS.sql_id 
    --AND program LIKE '[email protected]%' 
    --AND username NOT IN ('SYS', 'SYSMAN') 
ORDER BY program 

與DBMS_LOB.SUBSTR(WRH.sql_text,100)工作,以實現在當前活動更好的效果。 我想你最好使用Sql navigator或者Toad,因爲它們有很好的會話瀏覽器。

相關問題