2012-04-10 72 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 
相关问题