<ROOT>
 <APPS_INITIALIZE_DATA>
  <USER_NAME>ENGINATICS</USER_NAME>
  <RESPONSIBILITY_KEY>SYSTEM_ADMINISTRATOR</RESPONSIBILITY_KEY>
  <APPLICATION_SHORT_NAME>SYSADMIN</APPLICATION_SHORT_NAME>
 </APPS_INITIALIZE_DATA>
<REPORTS>
<!-- loader xml for Enginatics Blitz Report: DBA Undo Statistics -->
 <REPORTS_ROW>
  <GUID>105710807812443F8798F21BC3AA2410</GUID><ENABLED>Y</ENABLED>
  <SQL_TEXT>select
gu.inst_id,
xxen_util.client_time(gu.begin_time) begin_time,
xxen_util.client_time(gu.end_time) end_time,
gu.undo_tablespace,
gu.undoblks*gu.block_size/1000000 undo_generated,
gu.undoblks*gu.block_size/1000000/xxen_util.zero_to_null((gu.end_time-gu.begin_time)*86400) undo_per_second,
gu.txncount transactions,
gu.maxconcurrency max_concurrent_transactions,
xxen_util.time(gu.maxquerylen) longest_query,
gu.maxquerylen longest_query_seconds,
gu.maxqueryid longest_query_sql_id,
xxen_util.time(gu.tuned_undoretention) tuned_undo_retention,
gu.tuned_undoretention tuned_undo_retention_seconds,
gu.undo_retention undo_retention_parameter,
gu.activeblks*gu.block_size/1000000 active_undo,
gu.unexpiredblks*gu.block_size/1000000 unexpired_undo,
gu.expiredblks*gu.block_size/1000000 expired_undo,
xxen_util.zero_to_null(gu.ssolderrcnt) ora_01555_errors,
xxen_util.zero_to_null(gu.nospaceerrcnt) out_of_space_errors,
xxen_util.zero_to_null(gu.unxpstealcnt) unexpired_steal_attempts,
xxen_util.zero_to_null(gu.unxpblkrelcnt) unexpired_blocks_released,
xxen_util.zero_to_null(gu.unxpblkreucnt) unexpired_blocks_reused,
xxen_util.zero_to_null(gu.expstealcnt) expired_steal_attempts
from
(
select
gu.*,
(select gt.name from gv$tablespace gt where gu.inst_id=gt.inst_id and gu.undotsn=gt.ts#) undo_tablespace,
(select dt.block_size from gv$tablespace gt, dba_tablespaces dt where gu.inst_id=gt.inst_id and gu.undotsn=gt.ts# and gt.name=dt.tablespace_name) block_size,
(select to_number(gp.value) from gv$parameter gp where gu.inst_id=gp.inst_id and gp.name=&apos;undo_retention&apos;) undo_retention
from
gv$undostat gu
where
1=1
) gu
order by
gu.begin_time desc,
gu.inst_id</SQL_TEXT>
  <REPORT_TRANSLATIONS>
   <REPORT_TRANSLATIONS_ROW>
    <LANGUAGE>US</LANGUAGE>
    <REPORT_NAME>DBA Undo Statistics</REPORT_NAME>
    <DESCRIPTION>Undo generation, longest running query and undo errors per 10-minute interval from gv$undostat, which keeps about four days of history.

ORA-01555 snapshot too old occurs when a query needs undo that has already been overwritten. Compare the Longest Query Seconds with the Tuned Undo Retention Seconds: unexpired steal attempts and blocks show undo that was overwritten before its retention expired because the undo tablespace was too small.</DESCRIPTION>
   </REPORT_TRANSLATIONS_ROW>
  </REPORT_TRANSLATIONS>
  <CATEGORY_ASSIGNMENTS>
   <CATEGORY_ASSIGNMENTS_ROW>
    <CATEGORY>Enginatics</CATEGORY>
   </CATEGORY_ASSIGNMENTS_ROW>
  </CATEGORY_ASSIGNMENTS>
  <ANCHORS>
   <ANCHORS_ROW>
    <ANCHOR>1=1</ANCHOR>
   </ANCHORS_ROW>
  </ANCHORS>
  <PARAMETERS>
   <PARAMETERS_ROW>
    <SORT_ORDER>1</SORT_ORDER>
    <DISPLAY_SEQUENCE>10</DISPLAY_SEQUENCE>
    <ANCHOR>1=1</ANCHOR>
    <SQL_TEXT>(gu.ssolderrcnt&gt;0 or gu.nospaceerrcnt&gt;0)</SQL_TEXT>
    <PARAMETER_TYPE_DSP>LOV</PARAMETER_TYPE_DSP>
    <LOV_NAME>Yes</LOV_NAME>
    <LOV_GUID>8E2FF36EDEA679D2E0530100007F1FF2</LOV_GUID>
    <VALIDATE_FROM_LIST_DSP>Y</VALIDATE_FROM_LIST_DSP>
    <LOV_QUERY_DSP>select &apos;Y&apos; id, xxen_util.meaning(&apos;Y&apos;,&apos;YES_NO&apos;,0) value, null description from dual</LOV_QUERY_DSP>
    <PARAMETER_TRANSLATIONS>
     <PARAMETER_TRANSLATIONS_ROW>
      <LANGUAGE>US</LANGUAGE>
      <PARAMETER_NAME>Errors only</PARAMETER_NAME>
      <DESCRIPTION>Show only intervals with ORA-01555 or out of space errors</DESCRIPTION>
     </PARAMETER_TRANSLATIONS_ROW>
    </PARAMETER_TRANSLATIONS>
   </PARAMETERS_ROW>
   <PARAMETERS_ROW>
    <SORT_ORDER>2</SORT_ORDER>
    <DISPLAY_SEQUENCE>20</DISPLAY_SEQUENCE>
    <ANCHOR>1=1</ANCHOR>
    <SQL_TEXT>gu.end_time&gt;=sysdate-:hours_back/24</SQL_TEXT>
    <PARAMETER_TYPE_DSP>Number</PARAMETER_TYPE_DSP>
    <PARAMETER_TRANSLATIONS>
     <PARAMETER_TRANSLATIONS_ROW>
      <LANGUAGE>US</LANGUAGE>
      <PARAMETER_NAME>Hours Back</PARAMETER_NAME>
      <DESCRIPTION>Show only the intervals of the last number of hours, for example the time since the previous scheduled run</DESCRIPTION>
     </PARAMETER_TRANSLATIONS_ROW>
    </PARAMETER_TRANSLATIONS>
   </PARAMETERS_ROW>
   <PARAMETERS_ROW>
    <SORT_ORDER>3</SORT_ORDER>
    <DISPLAY_SEQUENCE>30</DISPLAY_SEQUENCE>
    <ANCHOR>1=1</ANCHOR>
    <SQL_TEXT>gu.inst_id=:inst_id</SQL_TEXT>
    <PARAMETER_TYPE_DSP>LOV</PARAMETER_TYPE_DSP>
    <LOV_NAME>DBA Instance Id</LOV_NAME>
    <LOV_GUID>8E2FF36EDF1279D2E0530100007F1FF2</LOV_GUID>
    <VALIDATE_FROM_LIST_DSP>Y</VALIDATE_FROM_LIST_DSP>
    <LOV_QUERY_DSP>select
gi.inst_id value,
gi.instance_name||&apos; &apos;||gi.host_name||&apos; &apos;||gi.startup_time description
from
gv$instance gi</LOV_QUERY_DSP>
    <PARAMETER_TRANSLATIONS>
     <PARAMETER_TRANSLATIONS_ROW>
      <LANGUAGE>US</LANGUAGE>
      <PARAMETER_NAME>Instance Id</PARAMETER_NAME>
     </PARAMETER_TRANSLATIONS_ROW>
    </PARAMETER_TRANSLATIONS>
   </PARAMETERS_ROW>
  </PARAMETERS>
  <TEMPLATES>
  </TEMPLATES>
  <DEFAULT_TEMPLATES>
  </DEFAULT_TEMPLATES>
  <UPLOAD_COLUMNS>
  </UPLOAD_COLUMNS>
  <UPLOAD_PARAMETERS>
  </UPLOAD_PARAMETERS>
  <UPLOAD_SQLS>
  </UPLOAD_SQLS>
 </REPORTS_ROW>
</REPORTS>
</ROOT>
