1

在 Oracle 应用服务器 10g 中运行长时间运行的报告时,报告的状态存在于 OAS 管理控制台中,类似于“25 of 3225 Pages completed”。

我如何从 OAS 获得这个值,以便能够以 oracle 形式将其显示给用户。

4

1 回答 1

0

不确定,但它可能存储在 v$session_longops 中。有关示例,请参见此处

一些 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
于 2012-08-01T13:32:10.293 回答