1
在Oracle應用服務器10g中運行長時間運行的報告時,報告的狀態在OAS管理控制檯中存在,例如「完成了3225個頁面中的25個」。如何獲得長時間運行的報告當前狀態?
如何從OAS獲得該值以便能夠以oracle形式將其顯示給用戶。
在Oracle應用服務器10g中運行長時間運行的報告時,報告的狀態在OAS管理控制檯中存在,例如「完成了3225個頁面中的25個」。如何獲得長時間運行的報告當前狀態?
如何從OAS獲得該值以便能夠以oracle形式將其顯示給用戶。
不確定,但它可能存儲在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