【发布时间】:2018-05-11 23:56:59
【问题描述】:
作为试图将这些数据拉入 Powershell 的大型项目的一部分,我使用 PL/SQL 脚本从 Oracle 提取撤消值 - 当前和推荐值,然后输出到 XML 文件,然后我可以使用 Powershell 解析该文件.我最终还希望推荐的 undo 参数返回运行查询的时间戳,以比较它在一段时间内的变化。
不过,此时我只是在尝试输出如下:
<currundo>903</currundo>
<recundo>14400</recundo>
当我运行这个 pl/sql 时,我得到:
ERROR at line 5:
ORA-06550: line 5, column 5:
PLS-00428: an INTO clause is expected in this SELECT statement
代码如下:
set heading off
DECLARE
l_xmltype XMLTYPE;
BEGIN
select dbms_xmlgen.getxml('SELECT SUBSTR(e.value,1,25) "curundo", ROUND(d.undo_size / (to_number(f.value) * g.undo_block_per_sec)) "recundo"
FROM (
SELECT SUM(a.bytes) undo_size
FROM v$datafile a,
v$tablespace b,
dba_tablespaces c
WHERE c.contents = ''UNDO''
AND c.status = ''ONLINE''
AND b.name = c.tablespace_name
AND a.ts# = b.ts#
) into d,
v$parameter e,
v$parameter f,
(
SELECT MAX(undoblks/((end_time-begin_time)*3600*24))
undo_block_per_sec
FROM v$undostat
) into g
WHERE e.name = ''undo_retention''
AND f.name = ''db_block_size''') from dual;
END;
/
【问题讨论】:
标签: xml oracle powershell plsql