如何获得长时间运行报告的当前状态?

时间:2012-04-10 19:58:55

标签: oracle oas oraclereports

在Oracle Application Server 10g中运行长时间运行的报告时,OAS管理控制台中存在报告的状态,例如“完成了2525页中的25个”。

如何从OAS获取此值,以便能够以oracle格式向用户显示该值。

1 个答案:

答案 0 :(得分: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