2012-04-10 117 views
1

在Oracle應用服務器10g中運行長時間運行的報告時,報告的狀態在OAS管理控制檯中存在,例如「完成了3225個頁面中的25個」。如何獲得長時間運行的報告當前狀態?

如何從OAS獲得該值以便能夠以oracle形式將其顯示給用戶。

回答

0

不確定,但它可能存儲在v $ session_longops中。例子見here

某些oracle代碼寫入V $ session_longops,但您也可以使用某些提供的PLSQL函數將代碼編碼到您自己的應用程序中。

如果OAS或報告本身正在寫入某些內容,則可以從Oracle窗體中獲取該信息以在報告運行時向用戶顯示。

雖然上面的代碼正在運行,但v $ session_longops視圖的內容可以按如下查詢。

COLUMN opname FORMAT A20 
COLUMN target_desc FORMAT A20 
COLUMN units FORMAT A10 

SELECT 
    opname, 
target_desc, 
    sofar, 
    totalwork, 
    time_remaining, 
    units 
FROM 
    v$session_longops 

此v $ session_longops查詢的預期輸出類型如下所示。

OPNAME    TARGET_DESC    SOFAR TOTALWORK UNITS 
-------------------- -------------------- ---------- ---------- ---- 
BATCH_LOAD   BATCH_LOAD_TABLE    3   10 rows 
相關問題