Rem drv:
Rem
Rem $Header: db_outofbox_storage.sql 28-nov-2006.06:34:03 mnihalan Exp $
Rem
Rem db_outofbox_storage.sql
Rem
Rem Copyright (c) 2004, 2006, Oracle. All rights reserved.
Rem
Rem NAME
Rem db_outofbox_storage.sql -
Rem
Rem DESCRIPTION
Rem
Rem
Rem NOTES
Rem !!! Please update upgrade script if updates are made. !!!
Rem
Rem MODIFIED (MM/DD/YY)
Rem mnihalan 11/28/06 - Fix bug 5683385
Rem qsong 08/25/05 - 4574597
Rem qsong 08/22/05 - 4396074
Rem qsong 04/13/05 - grabtrans 'rreilly_bug-4262522'
Rem qsong 03/29/05 -
Rem rreilly 04/05/05 - bug 4262522 make sure db elements do not run for
Rem racinst.
Rem xshen 03/21/05 - Add comments
Rem qsong 02/23/05 - swap the instruction and separator position
Rem pbantis 02/16/05 - Use db_init_params.
Rem qsong 02/14/05 - Add instruction texts for the reports
Rem mnihalan 01/13/05 - Change control file report
Rem mnihalan 12/30/04 - Fix sql
Rem mnihalan 12/21/04 - Fix bugs
Rem qsong 12/13/04 -
Rem mnihalan 12/09/04 - Change translated strings
Rem qsong 11/12/04 - qsong_asm_reports
Rem qsong 10/27/04 -
Rem mnihalan 10/13/04 - Change layout of reports
Rem mnihalan 10/04/04 - Add reports
Rem mnihalan 09/30/04 - Created
Rem
SET DEFINE OFF
BEGIN
DECLARE
l_target_types MGMT_IP_TARGET_TYPES;
l_param_classes MGMT_IP_PARAM_CLASSES;
l_param_values MGMT_IP_PARAM_VALUE_LIST;
l_targets MGMT_IP_TARGET_LIST;
l_report_guid RAW(16);
l_element_guid RAW(16);
l_sql VARCHAR2(32767);
BEGIN
-- -------------------------------------------------------------------------
-- Element and Report Definitions
-- -------------------------------------------------------------------------
-- -------------------------------------------------------------------------
-- Text Field Instructions
-- -------------------------------------------------------------------------
-- Database Group Space Usage Report Instructions
l_param_values := MGMT_IP_PARAM_VALUE_LIST();
l_param_values.extend(3);
l_param_values(1) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TextParamBean.textResourceBundleName',
'oracle.sysman.db.rsc.reports.StorageReportsMsg');
l_param_values(2) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TextParamBean.textMessage',
'DB_GROUP_SPACE_USAGE_REPORT_INSTRUCTION');
l_param_values(3) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TextParamBean.textStyle',
'OraInstructionText');
mgmt_ip.add_element_definition
('DBMSG_GROUP_SPACE_USAGE_REPORT_INSTRUCTION',
'database_target_type',
'',
'oracle.sysman.eml.ip.render.elem.TextRenderController',
1,
null,
l_param_values);
-- Database Group Space Usage Report Instructions
l_param_values := MGMT_IP_PARAM_VALUE_LIST();
l_param_values.extend(3);
l_param_values(1) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TextParamBean.textResourceBundleName',
'oracle.sysman.db.rsc.reports.StorageReportsMsg');
l_param_values(2) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TextParamBean.textMessage',
'DB_GROUP_SPACE_USAGE_TBSPFULL_ALERT_INSTRUCTION');
l_param_values(3) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TextParamBean.textStyle',
'OraInstructionText');
mgmt_ip.add_element_definition
('DBMSG_GROUP_SPACE_USAGE_TBSPFULL_ALERT_INSTRUCTION',
'database_target_type',
'',
'oracle.sysman.eml.ip.render.elem.TextRenderController',
1,
null,
l_param_values);
-- Database Space Usage Report Instructions
l_param_values := MGMT_IP_PARAM_VALUE_LIST();
l_param_values.extend(3);
l_param_values(1) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TextParamBean.textResourceBundleName',
'oracle.sysman.db.rsc.reports.StorageReportsMsg');
l_param_values(2) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TextParamBean.textMessage',
'DB_SPACE_USAGE_REPORT_INSTRUCTION');
l_param_values(3) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TextParamBean.textStyle',
'OraInstructionText');
mgmt_ip.add_element_definition
('DBMSG_DB_SPACE_USAGE_REPORT_INSTRUCTION',
'database_target_type',
'',
'oracle.sysman.eml.ip.render.elem.TextRenderController',
1,
null,
l_param_values);
-- Tablespace Monthly Space Usage Report Instructions
l_param_values := MGMT_IP_PARAM_VALUE_LIST();
l_param_values.extend(3);
l_param_values(1) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TextParamBean.textResourceBundleName',
'oracle.sysman.db.rsc.reports.StorageReportsMsg');
l_param_values(2) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TextParamBean.textMessage',
'TBSP_MONTHLY_SPACE_USAGE_REPORT_INSTRUCTION');
l_param_values(3) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TextParamBean.textStyle',
'OraInstructionText');
mgmt_ip.add_element_definition
('DBMSG_TBSP_MONTHLY_SPACE_USAGE_REPORT_INSTRUCTION',
'database_target_type',
'',
'oracle.sysman.eml.ip.render.elem.TextRenderController',
1,
null,
l_param_values);
-- Tablespace Monthly Space Usage Report Collection Timestamp Text
l_sql :=
'SELECT min(rollup_timestamp) as EARLEST_COLLECTION_TIMESTAMP,
max(rollup_timestamp) as LATEST_COLLECTION_TIMESTAMP
FROM mgmt$metric_daily
WHERE metric_name = ''tbspAllocation'' AND
metric_column = ''spaceAllocated'' OR
metric_column = ''spaceUsed''';
mgmt_ip.register_sql_statement (
p_version => '10.2',
p_name => 'oracle.sysman.db.storage.reports.TbspAllocMetricTimestampSql',
p_sql_statement => l_sql);
l_param_values := MGMT_IP_PARAM_VALUE_LIST();
l_param_values.extend(4);
l_param_values(1) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.resourceBundle',
'oracle.sysman.db.rsc.reports.StorageReportsMsg');
l_param_values(2) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.sqlStatement.bindSingleTarget',
'true');
l_param_values(3) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.nameValueDisplay',
'1');
l_param_values(4) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.NamedSqlStatement',
'oracle.sysman.db.storage.reports.TbspAllocMetricTimestampSql');
mgmt_ip.add_element_definition
('DBMSG_TBSP_USAGE_COLLECTION_TIMESTAMP',
'database_target_type',
'',
'oracle.sysman.eml.ip.render.elem.TableRenderController',
1,
null,
l_param_values);
-- ---------------------------------------
-- REPORT - Database Space Usage Summary report
-- ---------------------------------------
-- ------------------------------------------------------------
-- NAME VALUE 1.1: Current Tablespace Space Usage
--
-- Data Scope: Repository (Latest Data)
-- Chart Type: Label Value Pair
-- Agent Version:
-- 1) For 10.2 GC show all columns
-- 2) 10.1.0.4 DB Control Agent show all columns
-- 3) 10.1.0.4 Agent (no DB Control
-- hide the used and free values (used size was added
-- in 10.2 DB Control).
-- NOTE: test the oracle_database.xml meta version for this
--
-- Description: Shows 3 label/value pairs:
-- Total Allocated Size (GB)
-- Total Allocated Used (GB)
-- Total Allocated Free (GB)
--
-- ------------------------------------------------------------
-- Element Definition Historical Database Total Space Usage - chart
-- ------------------------------------------------------------
-- CHART 1.2: Historical Tablespace Space Usage
--
-- Data Scope: Repository (Metric Data)
-- Chart Type: Stacked Line Chart
-- Agent Version: 10.2 Grid Control Agent
-- (historical metric was added in 10.2 GC)
-- For pre-10.2 GC agents, hide this chart
--
-- Description: Shows all available history for 2 values:
-- Total Allocated Size (GB) <-- Free (GB) line
-- Total Allocated Used (GB) <-- Used (GB) line
--
-- ------------------------------------------------------------
l_sql :=
'SELECT
''TOTAL_ALLOCATED_GB'',
''USED_GB'',
f.rollup_timestamp AS timestamp,
round(f.total_gb,2) AS allocated_free_gb,
round(u.used_gb,2) AS allocated_used_gb
FROM
( SELECT rollup_timestamp, sum(average/1024) AS total_gb
FROM mgmt$metric_daily
WHERE target_guid = ??EMIP_BIND_TARGET_GUID?? AND
metric_name=''tbspAllocation'' AND metric_column=''spaceAllocated''
GROUP BY rollup_timestamp ) f,
( SELECT rollup_timestamp, sum(average/1024) AS used_gb
FROM mgmt$metric_daily
WHERE target_guid = ??EMIP_BIND_TARGET_GUID?? AND
metric_name=''tbspAllocation'' AND metric_column=''spaceUsed''
GROUP BY rollup_timestamp ) u
WHERE
f.rollup_timestamp = u.rollup_timestamp AND
f.rollup_timestamp >= ??EMIP_BIND_START_DATE?? AND
f.rollup_timestamp <= ??EMIP_BIND_END_DATE??
order by timestamp';
mgmt_ip.register_sql_statement (
p_version => '10.2',
p_name => 'oracle.sysman.db.storage.reports.DBHistTbspUsageChartSql',
p_sql_statement => l_sql);
l_param_values := MGMT_IP_PARAM_VALUE_LIST();
l_param_values.extend(8);
l_param_values(1) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.ChartParamController.resourceBundle',
'oracle.sysman.db.rsc.reports.StorageReportsMsg');
l_param_values(2) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.NamedSqlStatement',
'oracle.sysman.db.storage.reports.DBHistTbspUsageChartSql');
l_param_values(3) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.ChartParamController.chartType',
'timeSeriesChart');
l_param_values(4) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.sqlStatement.bindSingleTarget',
'true');
l_param_values(5) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.emo.util.reports.ChartVersionRender.agentVersionGtOrEq',
'10.2');
l_param_values(6) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.ChartParamController.yAxisLabel',
'SIZE_GB');
l_param_values(7) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.ChartParamController.translateKeyValues',
'true');
l_param_values(8) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.ChartParamController.legendPosition',
'south');
mgmt_ip.add_element_definition
('DBMSG_HISTORICAL_DATABASE_SPACE_USAGE',
'database_target_type',
'DBMSG_HISTORICAL_DATABASE_SPACE_USAGE_DESC',
'oracle.sysman.db.util.reports.storage.StorageChartRenderController',
1,
null,
l_param_values);
-- Element Definition - Current Tablespace Allocation and Space Usage - table
-- ------------------------------------------------------------
-- CHART 1.3: Tablespace Allocation and Space Usage
--
-- Data Scope: Repository (Latest and Historical Data)
-- Chart Type: Table
-- Agent Version:
-- 1) For 10.2 GC Agent show all columns
-- 2) 10.1.0.4 DB Control Agent
-- * Since tbspAllocation is only available in 10.2GC
-- hide the 2 Avg and 2 Max columns, they're historical
-- so they require the metric.
-- * Hide the Segment Space Management column
-- (it was added in 10.2GC)
-- 3) For 10.1.0.4 agents that do not have DB Control,
-- The used size is not available, so hide
-- the Current Allocated Used, Current Allocated Free and
-- Current Allocated Used (%) cols.
-- NOTE: test the oracle_database.xml meta version for this
--
-- Description: This table will report on every tablespace in
-- the database. Historical columns will be
-- based on all historical data available in the
-- database. The table will contain the following
-- columns:
-- Tablespace Name
-- Current Allocated Size (MB)
-- Current Allocated Used (MB)
-- Current Allocated Free (MB)
-- Current Allocated Used (%)
-- Avg Allocated Size (MB)
-- Avg Allocated Used (MB)
-- Max Allocated Size (MB)
-- Max Allocated Used (MB)
-- Autoextensible
-- Status
-- # Datafiles
-- Type
-- Extent Management
-- Segment Space Management <-- data not currently available
-- ------------------------------------------------------------
l_sql :=
'SELECT
u.timestamp TIME_STAMP,
ts.tablespace_name AS TBNAME,
round(t.avg_size_mb,2) AS SIZE_MB,
round(u.avg_used_mb,2) AS USED_MB,
round((t.avg_size_mb - u.avg_used_mb),2) AS FREE_MB,
round(u.avg_used_mb*100/t.avg_size_mb,2) AS USED_PCT,
round(t.max_size_mb,2) AS SIZE_MB,
round(u.max_used_mb,2) AS USED_MB,
round((t.max_size_mb - u.max_used_mb),2) AS FREE_MB,
round((u.max_used_mb*100/t.max_size_mb),2) AS USED_PCT,
round(t.min_size_mb,2) AS SIZE_MB,
round(u.min_used_mb,2) AS USED_MB,
round((t.min_size_mb - u.min_used_mb),2) AS FREE_MB,
round((u.min_used_mb*100/t.min_size_mb),2) AS USED_PCT
FROM
mgmt$db_tablespaces ts,
(SELECT key_value AS tbsp_name, avg(average) AS avg_size_mb,
max(maximum) AS max_size_mb, min(minimum) AS min_size_mb
FROM mgmt$metric_daily
WHERE target_guid = ??EMIP_BIND_TARGET_GUID?? AND
metric_name=''tbspAllocation'' AND metric_column=''spaceAllocated'' AND
rollup_timestamp >= ??EMIP_BIND_START_DATE?? AND
rollup_timestamp <= ??EMIP_BIND_END_DATE??
GROUP BY key_value) t,
(SELECT TO_CHAR(rollup_timestamp, ''MON RR'') as timestamp,
key_value AS tbsp_name, avg(average) AS avg_used_mb,
max(maximum) AS max_used_mb, min(minimum) AS min_used_mb
FROM mgmt$metric_daily
WHERE target_guid = ??EMIP_BIND_TARGET_GUID?? AND
metric_name=''tbspAllocation'' AND metric_column=''spaceUsed'' AND
rollup_timestamp >= ??EMIP_BIND_START_DATE?? AND
rollup_timestamp <= ??EMIP_BIND_END_DATE??
GROUP BY TO_CHAR(rollup_timestamp, ''MON RR''), key_value) u,
(SELECT tablespace_name, count(file_name) df_count,
sum(decode(autoextensible, ''YES'', 1, 0)) auto_extend
FROM mgmt$db_datafiles
WHERE target_guid = ??EMIP_BIND_TARGET_GUID??
GROUP BY tablespace_name) df
WHERE
t.tbsp_name(+) = u.tbsp_name AND
ts.target_guid = ??EMIP_BIND_TARGET_GUID?? AND
ts.tablespace_name = u.tbsp_name(+) AND
df.tablespace_name = ts.tablespace_name';
mgmt_ip.register_sql_statement (
p_version => '10.2',
p_name => 'oracle.sysman.db.storage.reports.TbspUsageMonthly',
p_sql_statement => l_sql);
l_param_values := MGMT_IP_PARAM_VALUE_LIST();
l_param_values.extend(16);
l_param_values(1) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.tableSplitColumn',
'TIME_STAMP');
l_param_values(2) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.tableHeaderMsgID',
'MONTHLY_TBSP_USAGE_BY_MONTH_HEADER');
l_param_values(3) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.resourceBundle',
'oracle.sysman.db.rsc.stor.TablespaceMsg');
l_param_values(4) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.sqlStatement.bindSingleTarget',
'true');
l_param_values(5) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.initialSortColumn',
'1');
l_param_values(6) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.initialSortOrder',
'descending');
l_param_values(7) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.columnGroupHeader1',
'AVERAGE_HDR');
l_param_values(8) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.columnGroupStartCol1',
'2');
l_param_values(9) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.columnGroupEndCol1',
'5');
l_param_values(10) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.columnGroupHeader2',
'MAXIMUM_HDR');
l_param_values(11) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.columnGroupStartCol2',
'6');
l_param_values(12) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.columnGroupEndCol2',
'9');
l_param_values(13) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.columnGroupHeader3',
'MINIMUM_HDR');
l_param_values(14) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.columnGroupStartCol3',
'10');
l_param_values(15) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.columnGroupEndCol3',
'13');
l_param_values(16) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.NamedSqlStatement',
'oracle.sysman.db.storage.reports.TbspUsageMonthly');
mgmt_ip.add_element_definition
('DBMSG_TBLSPC_ALLOCATION_SPACE_USAGE_MONTHLY',
'database_target_type',
'DBMSG_TBLSPC_ALLOCATION_SPACE_USAGE_MONTHLY_DESC',
'oracle.sysman.eml.ip.render.elem.TableRenderController',
1,
null,
l_param_values);
-- ------------------------------------------------------------
-- CHART 1.3: Monthly Tablespace Allocation and Space Usage Summary
--
-- Data Scope: Repository (Latest and Historical Data)
-- Chart Type: Table
-- Agent Version:
-- 1) For 10.2 GC Agent show all columns
-- 2) 10.1.0.4 DB Control Agent
-- * Since tbspAllocation is only available in 10.2GC
-- hide the 2 Avg and 2 Max columns, they're historical
-- so they require the metric.
-- * Hide the Segment Space Management column
-- (it was added in 10.2GC)
-- 3) For 10.1.0.4 agents that do not have DB Control,
-- The used size is not available, so hide
-- the Current Allocated Used, Current Allocated Free and
-- Current Allocated Used (%) cols.
-- NOTE: test the oracle_database.xml meta version for this
--
-- Description: This table will report on every tablespace in
-- the database. Historical columns will be
-- based on all historical data available in the
-- database. The table will contain the following
-- columns:
-- Collection timestamp
-- Current Allocated Size (MB)
-- Current Allocated Used (MB)
-- Current Allocated Free (MB)
-- Current Allocated Used (%)
-- Avg Allocated Size (MB)
-- Avg Allocated Used (MB)
-- Max Allocated Size (MB)
-- Max Allocated Used (MB)
-- ------------------------------------------------------------
l_sql :=
'SELECT
u.timestamp CALENDAR_MONTH,
sum(round(t.avg_size_mb,2)) AS SIZE_MB,
sum(round(u.avg_used_mb,2)) AS USED_MB,
round(sum(t.avg_size_mb) - sum(u.avg_used_mb), 2) AS FREE_MB,
round((sum(u.avg_used_mb) * 100)/sum(t.avg_size_mb), 2) AS USED_PCT,
sum(round(t.max_size_mb,2)) AS SIZE_MB,
sum(round(u.max_used_mb,2)) AS USED_MB,
round(sum(t.max_size_mb) - sum(u.max_used_mb), 2) AS FREE_MB,
round((sum(u.max_used_mb) * 100)/sum(t.max_size_mb), 2) AS USED_PCT,
sum(round(t.min_size_mb,2)) AS SIZE_MB,
sum(round(u.min_used_mb,2)) AS USED_MB,
round(sum(t.min_size_mb) - sum(u.min_used_mb), 2) AS FREE_MB,
round((sum(u.min_used_mb) * 100)/sum(t.min_size_mb), 2) AS USED_PCT
FROM
mgmt$db_tablespaces ts,
(SELECT key_value AS tbsp_name, avg(average) AS avg_size_mb,
max(maximum) AS max_size_mb, min(minimum) AS min_size_mb
FROM mgmt$metric_daily
WHERE target_guid = ??EMIP_BIND_TARGET_GUID?? AND
metric_name=''tbspAllocation'' AND metric_column=''spaceAllocated'' AND
rollup_timestamp >= ??EMIP_BIND_START_DATE?? AND
rollup_timestamp <= ??EMIP_BIND_END_DATE??
GROUP BY key_value) t,
(SELECT TO_DATE(TO_CHAR(rollup_timestamp, ''MON RR''),''MON RR'') as timestamp,
key_value AS tbsp_name, avg(average) AS avg_used_mb,
max(maximum) AS max_used_mb, min(minimum) AS min_used_mb
FROM mgmt$metric_daily
WHERE target_guid = ??EMIP_BIND_TARGET_GUID?? AND
metric_name=''tbspAllocation'' AND metric_column=''spaceUsed'' AND
rollup_timestamp >= ??EMIP_BIND_START_DATE?? AND
rollup_timestamp <= ??EMIP_BIND_END_DATE??
GROUP BY TO_DATE(TO_CHAR(rollup_timestamp, ''MON RR''), ''MON RR''), key_value) u,
(SELECT tablespace_name, count(file_name) df_count,
sum(decode(autoextensible, ''YES'', 1, 0)) auto_extend
FROM mgmt$db_datafiles
WHERE target_guid = ??EMIP_BIND_TARGET_GUID??
GROUP BY tablespace_name) df
WHERE
t.tbsp_name(+) = u.tbsp_name AND
ts.target_guid = ??EMIP_BIND_TARGET_GUID?? AND
ts.tablespace_name = u.tbsp_name(+) AND
df.tablespace_name = ts.tablespace_name
group by timestamp order by timestamp desc';
mgmt_ip.register_sql_statement (
p_version => '10.2',
p_name => 'oracle.sysman.db.storage.reports.TbspUsageMonthlySplit',
p_sql_statement => l_sql);
l_param_values := MGMT_IP_PARAM_VALUE_LIST();
l_param_values.extend(16);
l_param_values(1) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.tableHeaderMsgID',
'MONTHLY_TBSP_USAGE_BY_MONTH_HEADER');
l_param_values(2) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.resourceBundle',
'oracle.sysman.db.rsc.stor.TablespaceMsg');
l_param_values(3) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.sqlStatement.bindSingleTarget',
'true');
l_param_values(4) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.sqlStatementIsPlSql',
'false');
l_param_values(5) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.NamedSqlStatement',
'oracle.sysman.db.storage.reports.TbspUsageMonthlySplit');
l_param_values(6) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.columnGroupHeader1',
'AVERAGE_HDR');
l_param_values(7) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.columnGroupStartCol1',
'1');
l_param_values(8) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.columnGroupEndCol1',
'4');
l_param_values(9) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.columnGroupHeader2',
'MAXIMUM_HDR');
l_param_values(10) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.columnGroupStartCol2',
'5');
l_param_values(11) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.columnGroupEndCol2',
'8');
l_param_values(12) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.columnGroupHeader3',
'MINIMUM_HDR');
l_param_values(13) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.columnGroupStartCol3',
'9');
l_param_values(14) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.columnGroupEndCol3',
'12');
l_param_values(15) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.initialSortColumn',
'0');
l_param_values(16) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.initialSortOrder',
'descending');
mgmt_ip.add_element_definition
('DBMSG_TBLSPC_ALLOCATION_SPACE_USAGE_MONTHLY_SUMMARY',
'database_target_type',
'DBMSG_TBLSPC_ALLOCATION_SPACE_USAGE_MONTHLY_SUMMARY_DESC',
'oracle.sysman.db.util.reports.storage.MonthlyTbspAllocSpaceSummaryRenderController',
1,
null,
l_param_values);
-- Element Definition - Historical Tablespace Allocation and Usage Monthly Chart
l_sql :=
'SELECT TO_DATE(u.timestamp,''YYYY-MM'') TIME_STAMP,
sum(round(t.avg_size_mb, 2)) AS AVERAGE_SIZE,
sum(round(u.avg_used_mb,2)) AS AVERAGE_USED
FROM
mgmt$db_tablespaces ts,
(SELECT key_value AS tbsp_name, avg(average) AS avg_size_mb, max(maximum) AS max_size_mb
FROM mgmt$metric_daily
WHERE target_guid = ??EMIP_BIND_TARGET_GUID?? AND
metric_name=''tbspAllocation'' AND metric_column=''spaceAllocated'' AND
rollup_timestamp >= ??EMIP_BIND_START_DATE?? AND
rollup_timestamp <= ??EMIP_BIND_END_DATE??
GROUP BY key_value) t,
(SELECT TO_CHAR(rollup_timestamp, ''YYYY-MM'') as timestamp,
key_value AS tbsp_name, avg(average) AS avg_used_mb, max(maximum) AS max_used_mb
FROM mgmt$metric_daily
WHERE target_guid = ??EMIP_BIND_TARGET_GUID?? AND
metric_name=''tbspAllocation'' AND metric_column=''spaceUsed'' AND
rollup_timestamp >= ??EMIP_BIND_START_DATE?? AND
rollup_timestamp <= ??EMIP_BIND_END_DATE??
GROUP BY TO_CHAR(rollup_timestamp, ''YYYY-MM''), key_value) u,
(SELECT tablespace_name, count(file_name) df_count,
sum(decode(autoextensible, ''YES'', 1, 0)) auto_extend
FROM mgmt$db_datafiles
WHERE target_guid = ??EMIP_BIND_TARGET_GUID??
GROUP BY tablespace_name) df
WHERE
t.tbsp_name(+) = u.tbsp_name AND
ts.target_guid = ??EMIP_BIND_TARGET_GUID?? AND
ts.tablespace_name = u.tbsp_name(+) AND
df.tablespace_name = ts.tablespace_name
group by timestamp order by timestamp';
mgmt_ip.register_sql_statement (
p_version => '10.2',
p_name => 'oracle.sysman.db.storage.reports.TbspUsageMonthlyChartSql',
p_sql_statement => l_sql);
l_param_values := MGMT_IP_PARAM_VALUE_LIST();
l_param_values.extend(6);
l_param_values(1) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.ChartParamController.resourceBundle',
'oracle.sysman.db.rsc.stor.TablespaceMsg');
l_param_values(2) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.NamedSqlStatement',
'oracle.sysman.db.storage.reports.TbspUsageMonthlyChartSql');
l_param_values(3) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.ChartParamController.chartType',
'barChart');
l_param_values(4) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.ChartParamController.translateKeyValues',
'true');
l_param_values(5) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.ChartParamController.legendPosition',
'south');
l_param_values(6) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.ChartParamController.yAxisLabel',
'MB');
mgmt_ip.add_element_definition
('DBMSG_TBLSPC_ALLOCATION_SPACE_USAGE_MONTHLY_SUMMARY_CHART',
'database_target_type',
'DBMSG_TBLSPC_ALLOCATION_SPACE_USAGE_MONTHLY_SUMMARY_CHART_DESC',
'oracle.sysman.db.util.reports.storage.MonthlyTbspAllocSpaceRenderController',
1,
null,
l_param_values);
-- Element Definition Recovery Area size
l_param_values := MGMT_IP_PARAM_VALUE_LIST();
l_param_values.extend(6);
l_param_values(1) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.resourceBundle',
'oracle.sysman.db.rsc.reports.StorageReportsMsg');
l_param_values(2) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.sqlStatement',
'BEGIN
DECLARE
TYPE CURSOR_TYPE IS REF CURSOR;
result_cursor_out CURSOR_TYPE;
tgt_guid_in MGMT_IP_TGT_GUID_ARRAY;
start_date_in DATE DEFAULT NULL;
end_date_in DATE DEFAULT NULL;
query_string VARCHAR(6000);
BEGIN
result_cursor_out := ?;
tgt_guid_in := ?;
start_date_in := ?;
end_date_in := ?;
query_string := ''SELECT nvl(ra_loc.value, '''' '''') AS RA_LOCATION,
ra_size.value AS RA_SIZE
FROM
(SELECT p.value
FROM mgmt_db_init_params_ecm p,
mgmt_ecm_gen_snapshot s
WHERE
p.ecm_snapshot_id = s.snapshot_guid AND
s.target_guid = :1 AND
(s.snapshot_type=''''oracle_dbconfig'''' OR
s.snapshot_type=''''oracle_racconfig'''') AND
s.is_current=''''Y'''' AND
p.name=''''db_recovery_file_dest'''') ra_loc,
(SELECT p.value
FROM mgmt_db_init_params_ecm p, mgmt_ecm_gen_snapshot s
WHERE p.ecm_snapshot_id = s.snapshot_guid AND
s.target_guid = :1 AND
(s.snapshot_type=''''oracle_dbconfig'''' OR
s.snapshot_type=''''oracle_racconfig'''') AND
s.is_current=''''Y'''' AND
p.name=''''db_recovery_file_dest_size'''') ra_size '';
OPEN result_cursor_out for query_string using tgt_guid_in(1), tgt_guid_in(1);
END; END;');
l_param_values(3) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.nameValueDisplay',
'1');
l_param_values(4) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.sqlStatement.bindSingleTarget',
'true');
l_param_values(5) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.sqlStatementIsPlSql',
'true');
l_param_values(6) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.emo.util.reports.TableDBVersionRender.dbVersionGtOrEq',
'10');
mgmt_ip.add_element_definition
('DBMSG_RECOVERY_AREA_SIZE',
'database_target_type',
'DBMSG_RECOVERY_AREA_SIZE_DESC',
'oracle.sysman.db.util.reports.TableDBVersionRenderController',
1,
null,
l_param_values);
-- Element Definition Datafile Space Usage
l_sql :=
'SELECT d.file_name AS FILE_NAME,
ROUND(d.file_size/1024/1024, 2) AS FILE_SIZE_MB,
d.tablespace_name AS TABLESPACE,
d.status AS STATUS,
d.autoextensible AS AUTO_EXTEND,
ROUNd(d.max_file_size/1024/1024, 2) AS MAX_FILE_SIZE_MB,
ROUND(d.increment_by, 2) AS INCREMENT_SIZE_MB
FROM mgmt$db_datafiles d
WHERE target_guid = ??EMIP_BIND_TARGET_GUID??
ORDER BY HOST_NAME, FILE_SIZE_MB DESC';
mgmt_ip.register_sql_statement (
p_version => '10.2',
p_name => 'oracle.sysman.db.storage.reports.DBDatafileSpcUsage',
p_sql_statement => l_sql);
l_param_values := MGMT_IP_PARAM_VALUE_LIST();
l_param_values.extend(5);
l_param_values(1) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.resourceBundle',
'oracle.sysman.db.rsc.stor.DatafileMsg');
l_param_values(2) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.NamedSqlStatement',
'oracle.sysman.db.storage.reports.DBDatafileSpcUsage');
l_param_values(3) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.sqlStatement.bindSingleTarget',
'true');
l_param_values(4) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.initialSortColumn',
'1');
l_param_values(5) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.initialSortOrder',
'descending');
mgmt_ip.add_element_definition
('DBMSG_DATAFILE_SPACE_USAGE',
'database_target_type',
'DBMSG_DATAFILE_SPACE_USAGE_DESC',
'oracle.sysman.eml.ip.render.elem.TableRenderController',
1,
null,
l_param_values);
-- Report Definition
l_target_types := MGMT_IP_TARGET_TYPES();
l_target_types.extend(1);
l_target_types(1) := 'oracle_database';
l_param_values := MGMT_IP_PARAM_VALUE_LIST();
l_param_values.extend(3);
l_param_values(1) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TimePeriodOption',
'true');
l_param_values(2) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TimePeriodUserCust',
'true');
l_param_values(3) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TimePeriodParam',
'0:1');
-- space usage for last 7 days
l_report_guid := mgmt_ip.create_report_definition (
p_title_nlsid => 'DBMSG_DATABASE_SPACE_USAGE',
p_description_nlsid => 'DBMSG_DATABASE_SPACE_USAGE_DESC',
p_owner => 'SYSMAN',
p_sub_category_nlsid => 'DBMSG_SPACE_USAGE',
p_category_nlsid => 'DBMSG_DATABASE',
p_late_binding_target_types => l_target_types,
p_late_binding_multi_targets => 0,
p_show_table_of_contents => 0,
p_system_report => 1,
p_parameters => l_param_values);
l_element_guid := mgmt_ip.add_element_to_report_def (
l_report_guid,
'DBMSG_DB_SPACE_USAGE_REPORT_INSTRUCTION',
'database_target_type',
'',
1,
1,
null,
null);
-- Element Definition - Total Tablespace Allocation and Space Usage - name value pair
l_sql :=
'SELECT
ROUND(SUM(t.tablespace_size/1024/1024/1024), 2) AS ALLOC_GB,
ROUND(SUM(t.tablespace_used_size/1024/1024/1024), 2) AS USED_GB,
ROUND(SUM((t.tablespace_size - tablespace_used_size)/1024/1024/1024), 2) AS ALLOC_FREE_GB
FROM
mgmt_db_tablespaces_ecm t,
mgmt_ecm_gen_snapshot s
WHERE
t.ecm_snapshot_id = s.snapshot_guid AND
s.target_guid=??EMIP_BIND_TARGET_GUID?? AND
(s.snapshot_type=''oracle_dbconfig'' OR
s.snapshot_type=''oracle_racconfig'') AND
s.is_current=''Y''';
mgmt_ip.register_sql_statement (
p_version => '10.2',
p_name => 'oracle.sysman.db.storage.reports.CurrentDBStorageSql',
p_sql_statement => l_sql);
l_param_values := MGMT_IP_PARAM_VALUE_LIST();
l_param_values.extend(4);
l_param_values(1) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.resourceBundle',
'oracle.sysman.db.rsc.stor.TablespaceMsg');
l_param_values(2) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.sqlStatement.bindSingleTarget',
'true');
l_param_values(3) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.nameValueDisplay',
'1');
l_param_values(4) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.NamedSqlStatement',
'oracle.sysman.db.storage.reports.CurrentDBStorageSql');
-- Element 1 - Current Database Space Usage Area
l_element_guid := mgmt_ip.add_element_to_report_def (
p_report_guid => l_report_guid,
p_element_name_nlsid => 'DBMSG_TABLE_FROM_SQL_ELEM',
p_element_type_nlsid => 'DBMSG_DBINSTANCE_RAC_TARGET_TYPE',
p_header_nlsid => 'DBMSG_CURRENT_DATABASE_SPACE_USAGE_DESC',
p_element_order => 2,
p_element_row => 2,
p_parameters => l_param_values,
p_targets => null);
-- Element 2 - Historical Database Space Usage
l_element_guid := mgmt_ip.add_element_to_report_def (
l_report_guid,
'DBMSG_HISTORICAL_DATABASE_SPACE_USAGE',
'database_target_type',
'DBMSG_HISTORICAL_DATABASE_SPACE_USAGE',
3,
2,
null,
null);
-- - Element 3 Tablespace Allocation and Space Usage
l_element_guid := mgmt_ip.add_element_to_report_def (
l_report_guid,
'DBMSG_TBLSPC_ALLOCATION_SPACE_USAGE',
'database_target_type',
'DBMSG_TBLSPC_ALLOCATION_SPACE_USAGE_DESC',
4,
3,
null,
null);
-- - Element 4 Datafile Space Usage
l_element_guid := mgmt_ip.add_element_to_report_def (
l_report_guid,
'DBMSG_DATAFILE_SPACE_USAGE',
'database_target_type',
'DBMSG_DATAFILE_SPACE_USAGE',
5,
4,
null,
null);
-- -------------------------------------------------------------------------
-- REPORT - Tablespace Space Usage Summary
-- -------------------------------------------------------------------------
-- Element Definition 1 - Total Tablespace Allocation and Space Usage - nameValue pair
l_param_values := MGMT_IP_PARAM_VALUE_LIST();
l_param_values.extend(3);
l_param_values(1) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.resourceBundle',
'oracle.sysman.db.rsc.stor.TablespaceMsg');
l_param_values(2) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.sqlStatement.bindSingleTarget',
'true');
l_param_values(3) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.nameValueDisplay',
'1');
mgmt_ip.add_element_definition
('DBMSG_TOTAL_TBLSPC_ALLOCATION_SPACE_USAGE',
'database_target_type',
'DBMSG_TOTAL_TBLSPC_ALLOCATION_SPACE_USAGE_DESC',
'oracle.sysman.db.util.reports.storage.CurrentTablespaceSpaceRenderController',
1,
null,
l_param_values);
-- Element Definition 2 - Current Tablespace Allocation and Space Usage - table
l_param_values := MGMT_IP_PARAM_VALUE_LIST();
l_param_values.extend(7);
l_param_values(1) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.resourceBundle',
'oracle.sysman.db.rsc.stor.TablespaceMsg');
l_param_values(2) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.sqlStatement.bindSingleTarget',
'true');
l_param_values(3) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.initialSortColumn',
'1');
l_param_values(4) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.initialSortOrder',
'descending');
l_param_values(5) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.columnGroupHeader1',
'CURRENT_ALLOCATED');
l_param_values(6) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.columnGroupStartCol1',
'1');
l_param_values(7) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.columnGroupEndCol1',
'4');
mgmt_ip.add_element_definition
('DBMSG_TBLSPC_ALLOCATION_SPACE_USAGE',
'database_target_type',
'DBMSG_TBLSPC_ALLOCATION_SPACE_USAGE_DESC',
'oracle.sysman.db.util.reports.storage.TablespaceAllocSpaceRenderController',
1,
null,
l_param_values);
-- Report Definition
l_target_types := MGMT_IP_TARGET_TYPES();
l_target_types.extend(1);
l_target_types(1) := 'oracle_database';
l_param_values := MGMT_IP_PARAM_VALUE_LIST();
l_param_values.extend(3);
l_param_values(1) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TimePeriodOption',
'true');
l_param_values(2) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TimePeriodUserCust',
'true');
l_param_values(3) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TimePeriodParam',
'1:3:2');
-- monthly report for the last 3 months
l_report_guid := mgmt_ip.create_report_definition (
p_title_nlsid => 'DBMSG_TBLSPC_MONTHLY_SPACE_USAGE',
p_description_nlsid => 'DBMSG_TBLSPC_MONTHLY_SPACE_USAGE_DESC',
p_owner => 'SYSMAN',
p_sub_category_nlsid => 'DBMSG_SPACE_USAGE',
p_category_nlsid => 'DBMSG_DATABASE',
p_late_binding_target_types => l_target_types,
p_late_binding_multi_targets => 0,
p_show_table_of_contents => 0,
p_system_report => 1,
p_parameters => l_param_values);
l_element_guid := mgmt_ip.add_element_to_report_def (
l_report_guid,
'DBMSG_TBSP_MONTHLY_SPACE_USAGE_REPORT_INSTRUCTION',
'database_target_type',
'',
1,
1,
null,
null);
-- - Element 2 Tablespace Allocation and Space Usage
l_element_guid := mgmt_ip.add_element_to_report_def (
l_report_guid,
'DBMSG_TBSP_USAGE_COLLECTION_TIMESTAMP',
'database_target_type',
'',
2,
2,
null,
null);
-- - Element 2 Tablespace Allocation and Space Usage
l_element_guid := mgmt_ip.add_element_to_report_def (
l_report_guid,
'DBMSG_TBLSPC_ALLOCATION_SPACE_USAGE_MONTHLY_SUMMARY',
'database_target_type',
'DBMSG_TBLSPC_ALLOCATION_SPACE_USAGE_MONTHLY_SUMMARY_DESC',
3,
3,
null,
null);
-- - Element 2 Tablespace Allocation and Space Usage
l_element_guid := mgmt_ip.add_element_to_report_def (
l_report_guid,
'DBMSG_TBLSPC_ALLOCATION_SPACE_USAGE_MONTHLY_SUMMARY_CHART',
'database_target_type',
'',
4,
4,
null,
null);
-- - Element 2 Tablespace Allocation and Space Usage
l_element_guid := mgmt_ip.add_element_to_report_def (
l_report_guid,
'DBMSG_TBLSPC_ALLOCATION_SPACE_USAGE_MONTHLY',
'database_target_type',
'DBMSG_TBLSPC_ALLOCATION_SPACE_USAGE_MONTHLY_DESC',
5,
5,
null,
null);
-----------------------------------------------------------
-- Database Group Report
-----------------------------------------------------------
-- Element Definition - Total Tablespace Allocation and Space Usage - name value pair
-- ------------------------------------------------------------
-- CHART 2.1: Current Group Tablespace Space Usage
--
-- Data Scope: Repository (Latest Data)
-- Chart Type: Label Value Pair
-- Agent Version:
-- 1) For 10.2 GC show all columns
-- 2) 10.1.0.4 DB Control Agent show all columns
-- 3) 10.1.0.4 Agent (no DB Control
-- hide the used and free values (used size was added
-- in 10.2 DB Control).
-- NOTE: test the oracle_database.xml meta version for this
--
-- Description: Shows 3 label/value pairs:
-- Total Allocated Size (GB)
-- Total Allocated Used (GB)
-- Total Allocated Free (GB)
--
-- ------------------------------------------------------------
l_sql :=
'SELECT
round(sum(t.tablespace_size/1024/1024/1024),2) AS TOTAL_SIZE_GB,
round(sum(t.tablespace_used_size/1024/1024/1024),2) AS TOTAL_USED_GB,
round(sum((t.tablespace_size-t.tablespace_used_size)/1024/1024/1024),2) AS TOTAL_FREE_GB
FROM
mgmt$db_tablespaces t,
(SELECT member_target_guid AS target_guid
FROM mgmt$group_flat_memberships
WHERE composite_target_guid = ??EMIP_BIND_TARGET_GUID??
AND (member_target_type=''oracle_database''
OR member_target_type=''rac_database'')) dbs
WHERE
t.target_guid=dbs.target_guid';
mgmt_ip.register_sql_statement (
p_version => '10.2',
p_name => 'oracle.sysman.db.storage.reports.DBGroupCurrDBSpcUsage',
p_sql_statement => l_sql);
l_param_values := MGMT_IP_PARAM_VALUE_LIST();
l_param_values.extend(4);
l_param_values(1) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.resourceBundle',
'oracle.sysman.db.rsc.stor.TablespaceMsg');
l_param_values(2) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.sqlStatement.bindSingleTarget',
'true');
l_param_values(3) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.nameValueDisplay',
'1');
l_param_values(4) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.NamedSqlStatement',
'oracle.sysman.db.storage.reports.DBGroupCurrDBSpcUsage');
mgmt_ip.add_element_definition
('DBMSG_CURRENT_DBGROUP_CUMULATIVE_SPACE_USAGE',
'database_target_type',
'DBMSG_CURRENT_DBGROUP_CUMULATIVE_SPACE_USAGE_DESC',
'oracle.sysman.eml.ip.render.elem.TableRenderController',
1,
null,
l_param_values);
-- ------------------------------------------------------------
-- CHART 2.2: Historical Group Tablespace Space Usage
--
-- Data Scope: Repository (Metric Data)
-- Chart Type: Stacked Line Chart
-- Agent Version: 10.2 Grid Control Agent
-- (historical metric was added in 10.2 GC)
-- For pre-10.2 GC agents, hide this chart
--
-- Description: Shows all available history for 2 values:
-- Total Allocated Size (GB) <-- Free (GB) line
-- Total Allocated Used (GB) <-- Used (GB) line
--
-- ------------------------------------------------------------
-- Element Definition Historical Database Total Space Usage - Chart
l_sql :=
'SELECT
''TOTAL_ALLOCATED_GB'',
''USED_GB'',
a.rollup_timestamp AS rollup_timestamp,
round(a.allocated_gb,2) AS total_allocated_gb,
round(u.used_gb,2) AS total_used_gb
FROM
( SELECT m.rollup_timestamp AS rollup_timestamp,
sum(m.average/1024) AS allocated_gb
FROM mgmt$metric_daily m,
(SELECT member_target_guid AS target_guid FROM mgmt$group_flat_memberships
WHERE composite_target_guid=??EMIP_BIND_TARGET_GUID?? AND
(member_target_type=''oracle_database'' OR member_target_type=''rac_database'')) dbs
WHERE m.target_guid=dbs.target_guid AND
m.metric_name=''tbspAllocation'' AND
m.metric_column=''spaceAllocated''
GROUP BY m.rollup_timestamp ) a,
( SELECT m.rollup_timestamp AS rollup_timestamp,
sum(m.average/1024) AS used_gb
FROM mgmt$metric_daily m,
(SELECT member_target_guid AS target_guid FROM mgmt$group_flat_memberships
WHERE composite_target_guid=??EMIP_BIND_TARGET_GUID??
AND (member_target_type=''oracle_database'' OR member_target_type=''rac_database'')) dbs
WHERE m.target_guid=dbs.target_guid AND
m.metric_name=''tbspAllocation'' AND
m.metric_column=''spaceUsed''
GROUP BY m.rollup_timestamp ) u
WHERE
a.rollup_timestamp=u.rollup_timestamp AND
a.rollup_timestamp >= ??EMIP_BIND_START_DATE?? AND
a.rollup_timestamp <= ??EMIP_BIND_END_DATE??';
mgmt_ip.register_sql_statement (
p_version => '10.2',
p_name => 'oracle.sysman.db.storage.reports.DBGroupHistStorageChartSql',
p_sql_statement => l_sql);
l_param_values := MGMT_IP_PARAM_VALUE_LIST();
l_param_values.extend(8);
l_param_values(1) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.ChartParamController.resourceBundle',
'oracle.sysman.db.rsc.reports.StorageReportsMsg');
l_param_values(2) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.NamedSqlStatement',
'oracle.sysman.db.storage.reports.DBGroupHistStorageChartSql');
l_param_values(3) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.ChartParamController.chartType',
'timeSeriesChart');
l_param_values(4) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.sqlStatement.bindSingleTarget',
'true');
l_param_values(5) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.emo.util.reports.ChartVersionRender.agentVersionGtOrEq',
'10.2');
l_param_values(6) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.ChartParamController.yAxisLabel',
'SIZE_GB');
l_param_values(7) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.ChartParamController.translateKeyValues',
'true');
l_param_values(8) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.ChartParamController.legendPosition',
'south');
mgmt_ip.add_element_definition
('DBMSG_HISTORICAL_GROUP_CUMULATIVE_SPACE_USAGE',
'database_target_type',
'DBMSG_HISTORICAL_GROUP_CUMULATIVE_SPACE_USAGE_DESC',
'oracle.sysman.db.util.reports.storage.StorageChartRenderController',
1,
null,
l_param_values);
-- ------------------------------------------------------------
-- CHART 2.3: Database Group Open Alert Count for Tablespace Full Alert
--
-- Data Scope: Repository (Latest)
-- Chart Type: Label/Value Pairs
-- Agent Version:
-- 1) For 10.2 GC Agent and 10.1.0.4 DB Control Agent
-- show all columns
-- 2) For Pre-10.1.0.4 DB Control Agent
-- hide the 2 Free Space(MB) columns
-- NOTE: test the oracle_database.xml meta version for this
--
-- Description: This table will report on every databsae in
-- the group. It will give warning and critical
-- alert counts:
-- Critical Space Used(%) Count
-- Warning Space Used(%) Count
-- Critical Free Space(MB) Count
-- Critical Free Space(MB) Count
--
-- Queries: VIEW and BASE TABLE
-- ------------------------------------------------------------
l_sql :=
'SELECT
round(su_c.num_su_alerts_crit,0) AS SPC_USED_CRIT_ALERT_CNT,
round(su_w.num_su_alerts_warn,0) AS SPC_USED_WRNG_ALERT_CNT,
round(bf_c.num_bf_alerts_crit,0) AS FREE_SPC_CRIT_ALERT_CNT,
round(bf_w.num_bf_alerts_warn,0) AS FREE_SPC_WRNG_ALERT_CNT
FROM
( SELECT count(ac.alert_state) AS num_su_alerts_crit
FROM mgmt$alert_current ac,
(SELECT member_target_guid AS target_guid
FROM mgmt$group_flat_memberships
WHERE composite_target_guid=??EMIP_BIND_TARGET_GUID??
AND (member_target_type=''oracle_database''
OR member_target_type=''rac_database'')) dbs
WHERE ac.target_guid=dbs.target_guid AND
(ac.metric_name=''problemTbsp'' OR ac.metric_name=''problemTbsp10iDct'') AND
ac.metric_column=''pctUsed'' AND
decode(alert_state, ''Critical'', 25, ''Warning'', 20, 15)=25) su_c,
( SELECT count(ac.alert_state) AS num_su_alerts_warn
FROM mgmt$alert_current ac,
(SELECT member_target_guid AS target_guid
FROM mgmt$group_flat_memberships
WHERE composite_target_guid=??EMIP_BIND_TARGET_GUID??
AND (member_target_type=''oracle_database''
OR member_target_type=''rac_database'')) dbs
WHERE ac.target_guid=dbs.target_guid AND
(ac.metric_name=''problemTbsp'' OR ac.metric_name=''problemTbsp10iDct'') AND
ac.metric_column=''pctUsed'' AND
decode(alert_state, ''Critical'', 25, ''Warning'', 20, 15)=20) su_w,
( SELECT count(ac.alert_state) AS num_bf_alerts_crit
FROM mgmt$alert_current ac,
(SELECT member_target_guid AS target_guid
FROM mgmt$group_flat_memberships
WHERE composite_target_guid=??EMIP_BIND_TARGET_GUID??
AND (member_target_type=''oracle_database''
OR member_target_type=''rac_database'')) dbs
WHERE ac.target_guid=dbs.target_guid AND
(ac.metric_name=''problemTbsp'' OR ac.metric_name=''problemTbsp10iDct'') AND
ac.metric_column=''bytesFree'' AND
decode(alert_state, ''Critical'', 25, ''Warning'', 20, 15)=25) bf_c,
( SELECT count(ac.alert_state) AS num_bf_alerts_warn
FROM mgmt$alert_current ac,
(SELECT member_target_guid AS target_guid
FROM mgmt$group_flat_memberships
WHERE composite_target_guid=??EMIP_BIND_TARGET_GUID??
AND (member_target_type=''oracle_database''
OR member_target_type=''rac_database'')) dbs
WHERE ac.target_guid=dbs.target_guid AND
(ac.metric_name=''problemTbsp'' OR ac.metric_name=''problemTbsp10iDct'') AND
ac.metric_column=''bytesFree'' AND
decode(alert_state, ''Critical'', 25, ''Warning'', 20, 15)=20) bf_w';
mgmt_ip.register_sql_statement (
p_version => '10.2',
p_name => 'oracle.sysman.db.storage.reports.CurrDBGroupTbspFullAlertSummary',
p_sql_statement => l_sql);
l_param_values := MGMT_IP_PARAM_VALUE_LIST();
l_param_values.extend(4);
l_param_values(1) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.resourceBundle',
'oracle.sysman.db.rsc.stor.TablespaceMsg');
l_param_values(2) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.NamedSqlStatement',
'oracle.sysman.db.storage.reports.CurrDBGroupTbspFullAlertSummary');
l_param_values(3) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.sqlStatement.bindSingleTarget',
'true');
l_param_values(4) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.nameValueDisplay',
'1');
mgmt_ip.add_element_definition
('DBMSG_CURRENT_DATABASE_GROUP_TBSPFULL_ALERT_SUMMARY',
'database_target_type',
'DBMSG_CURRENT_DATABASE_GROUP_TBSPFULL_ALERT_SUMMARY_DESC',
'oracle.sysman.eml.ip.render.elem.TableRenderController',
1,
null,
l_param_values);
-- ------------------------------------------------------------
-- CHART 2.4: Database Group Space Allocation
--
-- Data Scope: Repository (Latest and Historical Data)
-- Chart Type: Table
-- Agent Version:
-- 1) For 10.2 GC Agent show all columns
-- 2) 10.1.0.4 DB Control Agent
-- * Since tbspAllocation is only available in 10.2GC
-- hide the 2 Avg and 2 Max columns, they're historical
-- so they require the metric.
-- 3) For 10.1.0.4 agents that do not have DB Control,
-- The used size is not available, so hide
-- the Current Allocated Used, Current Allocated Free and
-- Current Allocated Used (%) cols.
-- NOTE: test the oracle_database.xml meta version for this
--
-- Description: This table will report on every databsae in
-- the group. Historical columns will be
-- based on all historical data available in the
-- database. The table will contain the following
-- columns:
-- Database Name
-- Current Allocated Size (GB)
-- Current Allocated Used (GB)
-- Current Allocated Free (GB)
-- Current Allocated Used (%)
-- Avg Allocated Size (GB)
-- Avg Allocated Used (GB)
-- Max Allocated Size (GB)
-- Max Allocated Used (GB)
-- ------------------------------------------------------------
l_sql :=
'SELECT
curr.db_name AS DBNAME,
round(curr.curr_alloc_size_gb,2) AS SIZE_GB,
round(curr.curr_alloc_used_gb,2) AS USED_GB,
round(curr.curr_alloc_free_gb,2) AS FREE_GB,
round(curr.curr_alloc_used_pct,2) AS USED_PCT,
round(tsize.avg_alloc_size_gb,2) AS SIZE_GB,
round(usize.avg_alloc_used_gb,2) AS USED_GB,
round((tsize.avg_alloc_size_gb - usize.avg_alloc_used_gb),2) AS FREE_GB,
round(usize.avg_alloc_used_gb*100/tsize.avg_alloc_size_gb,2) AS USED_PCT,
round(tsize.max_alloc_size_gb,2) AS SIZE_GB,
round(usize.max_alloc_used_gb,2) AS USED_GB,
round((tsize.max_alloc_size_gb - usize.max_alloc_used_gb),2) AS FREE_GB,
round(usize.max_alloc_used_gb*100/tsize.max_alloc_size_gb,2) AS USED_PCT,
round(tsize.min_alloc_size_gb,2) AS SIZE_GB,
round(usize.min_alloc_used_gb,2) AS USED_GB,
round((tsize.min_alloc_size_gb - usize.min_alloc_used_gb),2) AS FREE_GB,
round(usize.min_alloc_used_gb*100/tsize.min_alloc_size_gb,2) AS USED_PCT
FROM
( SELECT dbs.member_target_guid AS target_guid,
max(dbs.member_target_name) AS db_name,
sum(t.tablespace_size/1024/1024/1024) AS curr_alloc_size_gb,
sum(t.tablespace_used_size/1024/1024/1024) AS curr_alloc_used_gb,
sum((t.tablespace_size - t.tablespace_used_size)/1024/1024/1024) AS curr_alloc_free_gb,
(sum(t.tablespace_used_size) * 100)/sum(t.tablespace_size) AS curr_alloc_used_pct
FROM mgmt$group_flat_memberships dbs,
mgmt$db_tablespaces t
WHERE dbs.composite_target_guid=??EMIP_BIND_TARGET_GUID?? AND
(dbs.member_target_type=''oracle_database'' OR dbs.member_target_type=''rac_database'') AND
t.target_guid=dbs.member_target_guid
GROUP BY dbs.member_target_guid ) curr,
( SELECT target_guid AS target_guid,
avg(sum_avg_alloc_size_gb) AS avg_alloc_size_gb,
max(sum_max_alloc_size_gb) AS max_alloc_size_gb,
max(sum_min_alloc_size_gb) AS min_alloc_size_gb
FROM (SELECT dbs.member_target_guid AS target_guid,
sum(md.average)/1024 AS sum_avg_alloc_size_gb,
sum(md.maximum)/1024 AS sum_max_alloc_size_gb,
sum(md.minimum)/1024 AS sum_min_alloc_size_gb
FROM mgmt$group_flat_memberships dbs, mgmt$metric_daily md
WHERE dbs.composite_target_guid=??EMIP_BIND_TARGET_GUID?? AND
(dbs.member_target_type=''oracle_database'' OR dbs.member_target_type=''rac_database'') AND
md.target_guid = dbs.member_target_guid AND
md.metric_name=''tbspAllocation'' AND
md.metric_column=''spaceAllocated'' AND
md.rollup_timestamp >= ??EMIP_BIND_START_DATE?? AND
md.rollup_timestamp <= ??EMIP_BIND_END_DATE??
GROUP BY dbs.member_target_guid, md.rollup_timestamp)
GROUP BY target_guid ) tsize,
( SELECT target_guid AS target_guid,
avg(sum_avg_alloc_used_gb) AS avg_alloc_used_gb,
max(sum_max_alloc_used_gb) AS max_alloc_used_gb,
max(sum_min_alloc_used_gb) AS min_alloc_used_gb
FROM (SELECT dbs.member_target_guid AS target_guid,
sum(md.average)/1024 AS sum_avg_alloc_used_gb,
sum(md.maximum)/1024 AS sum_max_alloc_used_gb,
sum(md.minimum)/1024 AS sum_min_alloc_used_gb
FROM mgmt$group_flat_memberships dbs, mgmt$metric_daily md
WHERE dbs.composite_target_guid=??EMIP_BIND_TARGET_GUID?? AND
(dbs.member_target_type=''oracle_database'' OR dbs.member_target_type=''rac_database'') AND
md.target_guid = dbs.member_target_guid AND
md.metric_name=''tbspAllocation'' AND
md.metric_column=''spaceUsed'' AND
md.rollup_timestamp >= ??EMIP_BIND_START_DATE?? AND
md.rollup_timestamp <= ??EMIP_BIND_END_DATE??
GROUP BY dbs.member_target_guid, md.rollup_timestamp)
GROUP BY target_guid ) usize
WHERE
tsize.target_guid=curr.target_guid AND
usize.target_guid=curr.target_guid';
mgmt_ip.register_sql_statement (
p_version => '10.2',
p_name => 'oracle.sysman.db.storage.reports.DBGroupTbspAllocUsage',
p_sql_statement => l_sql);
-- Element Definition 3 - Current Tablespace Allocation and Space Usage
l_param_values := MGMT_IP_PARAM_VALUE_LIST();
l_param_values.extend(18);
l_param_values(1) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.resourceBundle',
'oracle.sysman.db.rsc.stor.TablespaceMsg');
l_param_values(2) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.NamedSqlStatement',
'oracle.sysman.db.storage.reports.DBGroupTbspAllocUsage');
l_param_values(3) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.sqlStatement.bindSingleTarget',
'true');
l_param_values(4) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.initialSortColumn',
'1');
l_param_values(5) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.initialSortOrder',
'descending');
l_param_values(6) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.emo.util.reports.storage.reportElement',
'DATABASE_GROUP_TBLSPC_ALLOCATION_SPACE_USAGE');
l_param_values(7) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.columnGroupHeader1',
'CURRENT_HDR');
l_param_values(8) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.columnGroupStartCol1',
'1');
l_param_values(9) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.columnGroupEndCol1',
'4');
l_param_values(10) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.columnGroupHeader2',
'AVERAGE_HDR');
l_param_values(11) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.columnGroupStartCol2',
'5');
l_param_values(12) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.columnGroupEndCol2',
'8');
l_param_values(13) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.columnGroupHeader3',
'MAXIMUM_HDR');
l_param_values(14) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.columnGroupStartCol3',
'9');
l_param_values(15) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.columnGroupEndCol3',
'12');
l_param_values(16) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.columnGroupHeader4',
'MINIMUM_HDR');
l_param_values(17) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.columnGroupStartCol4',
'13');
l_param_values(18) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.columnGroupEndCol4',
'16');
mgmt_ip.add_element_definition
('DBMSG_SPACE_USAGE_BY_DB',
'database_target_type',
'DBMSG_SPACE_USAGE_BY_DB_DESC',
'oracle.sysman.eml.ip.render.elem.TableRenderController',
1,
null,
l_param_values);
-- ------------------------------------------------------------
-- CHART 2.5: Database Open Alert Count for Tablespace Full Alert
--
-- Data Scope: Repository (Latest)
-- Chart Type: Table
-- Agent Version:
-- 1) For 10.2 GC Agent and 10.1.0.4 DB Control Agent
-- show all columns
-- 2) For Pre-10.1.0.4 DB Control Agent
-- hide the 2 Free Space(MB) columns
-- NOTE: test the oracle_database.xml meta version for this
--
-- Description: This table will report on every databsae in
-- the group. It will give warning and critical
-- alert counts. The following columns will be shown:
-- Database
-- Critical Space Used(%)
-- Warning Space Used(%)
-- Critical Free Space(MB)
-- Critical Free Space(MB)
--
-- Queries: VIEW and BASE_TABLE
-- ------------------------------------------------------------
l_sql :=
'SELECT
dbs.target_name AS DBNAME,
NVL(round(su_c.num_su_alerts_crit,0),0) AS CRITICAL,
NVL(round(su_w.num_su_alerts_warn,0),0) AS WARNING,
NVL(round(bf_c.num_bf_alerts_crit,0),0) AS CRITICAL,
NVL(round(bf_w.num_bf_alerts_warn,0),0) AS WARNING
FROM
( SELECT member_target_guid AS target_guid , member_target_name AS target_name
FROM mgmt$group_flat_memberships
WHERE composite_target_guid=??EMIP_BIND_TARGET_GUID??
AND (member_target_type=''oracle_database''
OR member_target_type=''rac_database'')) dbs,
( SELECT ac.target_guid, count(ac.alert_state) AS num_su_alerts_crit
FROM mgmt$alert_current ac,
(SELECT member_target_guid AS target_guid FROM mgmt$group_flat_memberships
WHERE composite_target_guid=??EMIP_BIND_TARGET_GUID??
AND (member_target_type=''oracle_database''
OR member_target_type=''rac_database'')) dbs
WHERE ac.target_guid=dbs.target_guid AND
(ac.metric_name=''problemTbsp'' OR ac.metric_name=''problemTbsp10iDct'') AND
ac.metric_column=''pctUsed'' AND
decode(alert_state, ''Critical'', 25, ''Warning'', 20, 15)=25
GROUP BY ac.target_guid) su_c,
( SELECT ac.target_guid, count(ac.alert_state) AS num_su_alerts_warn
FROM mgmt$alert_current ac,
(SELECT member_target_guid AS target_guid FROM mgmt$group_flat_memberships
WHERE composite_target_guid=??EMIP_BIND_TARGET_GUID??
AND (member_target_type=''oracle_database''
OR member_target_type=''rac_database'')) dbs
WHERE ac.target_guid=dbs.target_guid AND
(ac.metric_name=''problemTbsp'' OR ac.metric_name=''problemTbsp10iDct'') AND
ac.metric_column=''pctUsed'' AND
decode(alert_state, ''Critical'', 25, ''Warning'', 20, 15)=20
GROUP BY ac.target_guid) su_w,
( SELECT ac.target_guid, count(ac.alert_state) AS num_bf_alerts_crit
FROM mgmt$alert_current ac,
(SELECT member_target_guid AS target_guid FROM mgmt$group_flat_memberships
WHERE composite_target_guid=??EMIP_BIND_TARGET_GUID??
AND (member_target_type=''oracle_database''
OR member_target_type=''rac_database'')) dbs
WHERE ac.target_guid=dbs.target_guid AND
(ac.metric_name=''problemTbsp'' OR ac.metric_name=''problemTbsp10iDct'') AND
ac.metric_column=''bytesFree'' AND
decode(alert_state, ''Critical'', 25, ''Warning'', 20, 15)=25
GROUP BY ac.target_guid) bf_c,
( SELECT ac.target_guid, count(ac.alert_state) AS num_bf_alerts_warn
FROM mgmt$alert_current ac,
(SELECT member_target_guid AS target_guid FROM mgmt$group_flat_memberships
WHERE composite_target_guid=??EMIP_BIND_TARGET_GUID??
AND (member_target_type=''oracle_database''
OR member_target_type=''rac_database'')) dbs
WHERE ac.target_guid=dbs.target_guid AND
(ac.metric_name=''problemTbsp'' OR ac.metric_name=''problemTbsp10iDct'') AND
ac.metric_column=''bytesFree'' AND
decode(alert_state, ''Critical'', 25, ''Warning'', 20, 15)=20
GROUP BY ac.target_guid) bf_w
WHERE
su_c.target_guid(+) = dbs.target_guid AND
su_w.target_guid(+) = dbs.target_guid AND
bf_c.target_guid(+) = dbs.target_guid AND
bf_w.target_guid(+) = dbs.target_guid';
mgmt_ip.register_sql_statement (
p_version => '10.2',
p_name => 'oracle.sysman.db.storage.reports.DBGroupFullAlertCount',
p_sql_statement => l_sql);
l_param_values := MGMT_IP_PARAM_VALUE_LIST();
l_param_values.extend(11);
l_param_values(1) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.resourceBundle',
'oracle.sysman.db.rsc.stor.TablespaceMsg');
l_param_values(2) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.NamedSqlStatement',
'oracle.sysman.db.storage.reports.DBGroupFullAlertCount');
l_param_values(3) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.sqlStatement.bindSingleTarget',
'true');
l_param_values(4) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.initialSortColumn',
'0');
l_param_values(5) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.initialSortOrder',
'ascending');
l_param_values(6) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.columnGroupHeader1',
'SPACE_USED_ALERT_COUNT');
l_param_values(7) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.columnGroupStartCol1',
'1');
l_param_values(8) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.columnGroupEndCol1',
'2');
l_param_values(9) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.columnGroupHeader2',
'FREE_SPACE_ALERT_COUNT');
l_param_values(10) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.columnGroupStartCol2',
'3');
l_param_values(11) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TableRender.columnGroupEndCol2',
'4');
mgmt_ip.add_element_definition
('DBMSG_DATABASE_GROUP_TBSPFULL_ALERT_COUNT',
'database_target_type',
'DBMSG_DATABASE_GROUP_TBSPFULL_ALERT_COUNT_DESC',
'oracle.sysman.eml.ip.render.elem.TableRenderController',
1,
null,
l_param_values);
l_target_types := MGMT_IP_TARGET_TYPES();
l_target_types.extend(1);
l_target_types(1) := 'composite';
l_param_values := MGMT_IP_PARAM_VALUE_LIST();
l_param_values.extend(3);
l_param_values(1) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TimePeriodOption',
'true');
l_param_values(2) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TimePeriodUserCust',
'true');
l_param_values(3) := MGMT_IP_PARAM_VALUE_RECORD(
'oracle.sysman.eml.ip.render.elem.TimePeriodParam',
'0:1');
-- group space usage for last 7 days
l_report_guid := mgmt_ip.create_report_definition (
p_title_nlsid => 'DBMSG_DATABASE_GROUP_SPACE_USAGE',
p_description_nlsid => 'DBMSG_DATABASE_GROUP_SPACE_USAGE_DESC',
p_owner => 'SYSMAN',
p_sub_category_nlsid => 'DBMSG_SPACE_USAGE',
p_category_nlsid => 'DBMSG_DATABASE',
p_late_binding_target_types => l_target_types,
p_late_binding_multi_targets => 0,
p_show_table_of_contents => 0,
p_system_report => 1,
p_parameters => l_param_values);
l_element_guid := mgmt_ip.add_element_to_report_def (
l_report_guid,
'DBMSG_GROUP_SPACE_USAGE_REPORT_INSTRUCTION',
'database_target_type',
'',
1,
1,
null,
null);
-- Current Database Space Usage Area Label/Value
l_element_guid := mgmt_ip.add_element_to_report_def (
l_report_guid,
'DBMSG_CURRENT_DBGROUP_CUMULATIVE_SPACE_USAGE',
'database_target_type',
'DBMSG_CURRENT_DBGROUP_CUMULATIVE_SPACE_USAGE_DESC',
2,
2,
null,
null);
-- Historical Database Space Usage Chart
l_element_guid := mgmt_ip.add_element_to_report_def (
l_report_guid,
'DBMSG_HISTORICAL_GROUP_CUMULATIVE_SPACE_USAGE',
'database_target_type',
'DBMSG_HISTORICAL_GROUP_CUMULATIVE_SPACE_USAGE_DESC',
3,
2,
null,
null);
-- Group Tablespace Allocation Space Usage By Database
l_element_guid := mgmt_ip.add_element_to_report_def (
l_report_guid,
'DBMSG_SPACE_USAGE_BY_DB',
'database_target_type',
'DBMSG_SPACE_USAGE_BY_DB_DESC',
4,
3,
null,
null);
l_element_guid := mgmt_ip.add_element_to_report_def (
l_report_guid,
'IPMSG_SEPARATOR',
'IPMSG_NO_TARGET_TYPE',
'',
5,
4,
null,
null);
l_element_guid := mgmt_ip.add_element_to_report_def (
l_report_guid,
'DBMSG_GROUP_SPACE_USAGE_TBSPFULL_ALERT_INSTRUCTION',
'database_target_type',
'',
6,
5,
null,
null);
-- Element 4 - Group Tablespace Full Allert Summary Label/Value
l_element_guid := mgmt_ip.add_element_to_report_def (
l_report_guid,
'DBMSG_CURRENT_DATABASE_GROUP_TBSPFULL_ALERT_SUMMARY',
'database_target_type',
'DBMSG_CURRENT_DATABASE_GROUP_TBSPFULL_ALERT_SUMMARY_DESC',
7,
6,
null,
null);
-- Element 5 - Group Tablespace Full Alert by Database
l_element_guid := mgmt_ip.add_element_to_report_def (
l_report_guid,
'DBMSG_DATABASE_GROUP_TBSPFULL_ALERT_COUNT',
'database_target_type',
'DBMSG_DATABASE_GROUP_TBSPFULL_ALERT_COUNT',
8,
6,
null,
null);
COMMIT;
END;
END;
/
SET DEFINE ON