在Oracle Application Server 10g中运行长时间运行的报告时,OAS管理控制台中存在报告的状态,例如“完成了2525页中的25个”。
如何从OAS获取此值,以便能够以oracle格式向用户显示该值。
答案 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