2016-07-28 61 views
0

我使用Oracle企業管理器來監視我的數據庫上的當前負載。如果有高負載SQL,我可以看到它的詳細信息,還有「統計信息」選項卡。在「常規」節中,我可以看到:

Module: JDBC Thin Client 
Action: (empty) 
Parsing schema: SCHEMA1 
PL/SQL Source (Line Number): SCHEMA1.PACKAGE_ABC (1457) 
SQL Profile: n/a 
SQL Plan Baseline n/a 

另外,我有,我可以在我的數據庫運行看一個簡單的查詢通常是怎麼回事:

SELECT 
    q.sql_id, 
    q.PARSING_SCHEMA_NAME, 
    q.ADDRESS, 
    q.SQL_TEXT, 
    q.last_active_time 
FROM v$sqlarea q 
WHERE q.last_active_time > sysdate - 1 
ORDER BY last_active_time DESC 

的問題是:有沒有任何添加到我的查詢列PL/SQL源(行號)的結果的方式,它將呈現與Oracle企業管理器相同的信息?

回答

0

您可以從v $ session獲取大量信息。我的首選方法是通過以下方式調用您的pl/sql代碼:

DBMS_APPLICATION_INFO.set_action('Doing XXX in YYY); 

當您想知道您身處何處時。這可隨後在V $ session.action找到

另請參閱下面的列可能會感興趣:

PLSQL_ENTRY_OBJECT_ID 
PLSQL_ENTRY_SUBPROGRAM_ID 
PLSQL_OBJECT_ID 
PLSQL_SUBPROGRAM_ID 

你可以在這裏閱讀更多:

https://docs.oracle.com/cd/B28359_01/server.111/b28320/dynviews_3016.htm