2017-02-17 65 views
0

我写了一个PIVOT查询来获得过去15天的系统和sysaux表空间增长。该查询没有给我一个正确的输出。它用E表示数字。我的企业管理器版本13C和版本库db版本是12.1.0.2。如果有人能帮助我,我将不胜感激。可能是我在转换为GB时犯了错误。请帮忙。PIVOT查询不给我正确的输出在OEM 13C

with pivot_data AS (
     select target_name, key_value, to_char(rollup_timestamp,'mm/dd/yy')as DT, average 
     from sysman.mgmt$metric_daily 
     where target_TYPE in ('rac_database') AND KEY_VALUE in ('SYSTEM','SYSAUX') AND TARGET_NAME IN ('DBKUH','ETPUZ','ZLDFK') 
and column_label = 'Tablespace Used Space (MB)' 
     and trunc(rollup_timestamp) >= trunc(sysdate)-15) 
    select * from pivot_data 
    pivot 
     (sum(average/1024/1024/1024) 
      for TARGET_NAME 
      in ('DBKUH' AS ETPUZ,'ETPUZ' AS ETPUZ,'ZLDFK' AS ZLDFK) 
     ) 
    order by DT 
/
+0

请学习如何使用格式化工具 - 这非常简单。特别格式化代码。 – mathguy

+0

我很抱歉哥们。 – user3297431

回答

0

您正在通过标记为'Tablespace Used Space(MB)'的列取平均值。我会冒险猜测它是以MB为单位的大小,所以要转换为GB,你只应该除以1024。

其他的事情,我注意到:

    在PIVOT
  • ,你的意思'DBKUH' as ETPUZ或者是一个错字?
  • 同样在PIVOT中,您正在添加15个日均值...您的意思是 平均值是多少?
  • trunc(timestamp) >= trunc(sysdate)-15相当于 到timestamp >= ...,后者将允许您使用timestamp上的索引 ,而前者不会。
+0

是的,这些不是错字。 – user3297431

+0

@ user3297431 - 我不明白,你是否在说''DBKUH作为ETPUZ'不是拼写错误?您将在输出到PIVOT中获得两个名为“ETPUZ”的列? – mathguy

+0

我道歉。是的,这是一个错字。 – user3297431