2017-02-17 64 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