Edit D:\app\Administrator\product\11.2.0\dbhome_1\sysman\admin\metadata\instance.xmlp
<!-- $Header: emdb/sysman/admin/metadata/instance.xmlp /st_emdbsa_11.2/12 2009/03/31 12:27:01 sadattaw Exp $ MODIFIED (MM/DD/YY) pbhogara 01/30/09 - Add rdbms group owner property to sga_start metric sshastry 01/21/09 - Stremas forward merge from 10.2.0.5.0GC to 11.2 SA mkiran 01/17/09 - 6216805: Fix repeating key value problem with "Database Services" metric mkiran 01/17/09 - 6361999: Fix repeating key value problem with "Waits by Wait Class" metric ychan 12/10/08 - XbranchMerge ychan_bug-6343005 from st_emdbgc_10.2.0.1.0 jsoule 12/02/08 - Backport jsoule_bug-5857407_main from main ychan 11/26/08 - Fix bug 6343005 kdas 11/18/08 - fix for 7572133 loliu 10/10/08 - Added adrAlertLogContent glavash 10/10/08 - XbranchMerge glavash_proj_26955 from main glavash 09/17/08 - add ocm instrumentation metric manosing 09/16/08 - loliu 09/12/08 - Backported SWB related metrics from 11g loliu 09/08/08 - Added incident_meter metric loliu 09/05/08 - Added ADR alert log from EMDBSA 11.2 to EMDBGC 10.2.0.5 amahalin 09/03/08 - to remove DV status metric rtakeish 07/19/07 - Bug6015337, Can't show Bad SQL and Top SQL Report on 9i database home page yma 08/29/08 - yma 08/20/08 - yma 07/18/08 - bug 6474029 sshastry 06/04/08 - Forward merge of streams/aq metrics from 11.1GC to 11.2 rsamaved 05/08/08 - add 11gR2 version jsoule 07/11/07 - use consistent connect string rtakeish 03/28/07 - bug5940949, hanganalysis doesn't work for rac balnaff 05/24/07 - renabling the incident meter metric jsoule 05/11/07 - use proper machine name for sgastart.pl keiwong 05/20/07 - fix adrAlertLogError metric balnaff 05/10/07 - removing incident meter yma 03/29/07 - Fix bug 5941909 yma 04/11/07 - Fix bug 5969450 mnihalan 03/30/07 - Fix bug 5941130 keiwong 03/01/07 - fix adrAlertLog metrics sudvarma 02/23/07 - To introduce new metric to send mail,when the user's password are about to expire loliu 02/20/07 - Removed AdrEnabled property keiwong 02/19/07 - add adrAlertLogDataFailure metric jsoule 02/15/07 - rename response time per call balnaff 01/26/07 - adding incident_meter metric jsoule 01/03/07 - add last will operations manosing 01/12/07 - XbranchMerge manosing_lastpols from main ganessub 01/07/07 - Bug 5724188 fix. jsoule 10/23/06 - add new server-generated alerts dsukhwal 01/06/07 - XbranchMerge manosing_ntpol from main manosing 01/10/07 - flood control for NT policies manosing 12/04/06 - bug 5443094 manosing 11/28/06 - add Windows NT polcies for 11g jsoule 09/18/06 - add new hanganalyze metric kdas 10/05/06 - fixes for ADDMmetric keiwong 10/31/06 - add adrAlertLogContent manosing 10/09/06 - for 10.2.0.4 policies jsoule 10/11/06 - pass version category to sgastart.pl kdas 08/23/06 - ADDM fixes jsoule 08/29/06 - add 11gR1 version rrawat 08/04/06 - Bug-5444241 kdas 08/09/06 - support ADDM directives keiwong 07/13/06 - Add adrAlertLogIncidentError and adrAlertLogOperationalError kdas 06/14/06 - fix task count for ADDM metric kdas 06/13/06 - fix finding count for ADDM metric kdas 04/24/06 - enhance ADDM metric kdas 06/14/06 - fix task count for ADDM metric kdas 06/13/06 - fix finding count for ADDM metric kdas 04/24/06 - enhance ADDM metric ganessub 06/26/06 - Added textLogContent metric lhan 04/28/06 - move UDM to database.xmlp to support RAC jsoule 03/13/06 - provide access to SGA data in 10.2.0.3 and later yma 01/11/06 - Fix bug 3467825 yfeng 08/29/05 - Fix bug 4571407 - privde date format string ychan 08/16/05 - Add charset for alertlog ychan 08/12/05 - Fix bug 3367389 swexler 07/14/05 - change health check column names dkjain 07/11/05 - Fixed bug 4422016 dkjain 07/06/05 - Fixing the ValidMidTierVersions position for ESA metrics dsukhwal 07/04/05 - ESA support flood control for all metrics dkjain 06/23/05 - Fixed the Bug-4335841 dsukhwal 06/06/05 - limit number of rows for win32 hopark 06/01/05 - add sga_stop, sga_resume blivshit 05/26/05 - fix instance problem in RAC case for dba_hist_sysmetric_summary lhan 05/25/05 - fix udm bug 3301697 dsukhwal 05/17/05 - move sqlnetParams to listener dsukhwal 05/09/05 - limit number of rows blivshit 05/06/05 - hide sga_ metrics from all metrics page sresrini 05/03/05 - add 9i support for streams metrics sresrini 04/22/05 - make config false for streams metrics zsyed 04/20/05 - Adding hang analyze fix xuliu 04/05/05 - use perl script collect intrconn inf zsyed 03/30/05 - Adding new getcpu script zsyed 04/05/05 - grabtrans 'zsyed_addcpu' zsyed 03/24/05 - grabtrans 'zsyed_fix_0203' zsyed 03/24/05 - Adding DBControl changes yfeng 04/08/05 - Fix bug 4291390 - add Begin back sresrini 03/14/05 - fix bug 4210766 jsoule 02/21/05 - adaptive thresholds 10.2 and up swexler 02/25/05 - reenable health check ysun 02/18/05 - update rac_global_cache of 10g ysun 02/16/05 - update based on the files before split zsyed 02/07/05 - Adding hanganalyze sql file hxlin 02/04/05 - Modify sql response metric ychan 01/31/05 - Add alertlog filter kdas 01/13/05 - revert ADDM metric blivshit 12/16/04 - add group_id to where cluase for hour_Awr, service metric zsyed 11/22/04 - Augmenting hang analyze metric zsyed 11/22/04 - Augmenting hang analyze metric lhan 11/16/04 - clean up SQLUDM jsoule 09/30/04 - add dbtime_ps metric xuliu 09/30/04 - intrconn metric reorg xuliu 09/28/04 - rac intrconn type alert zsyed 09/28/04 - New metric to obtain hostname given type and name of target xuliu 09/24/04 - fix intrconn zsyed 09/28/04 - Fixing sga start for Solaris hxlin 09/22/04 - Remove USAGE_TYPE from sql_response_collect metric swexler 09/22/04 - health check changes xuliu 09/21/04 - rac interconn traffic blivshit 09/20/04 - fix unique problem in current_AWR hidden query vshah 09/17/04 - Fix for bug 3884600. Avoid getting duplicate rows from v$servicemetric_history. hxlin 09/14/04 - Rename sql resp time col zsyed 08/20/04 - Adding new SGA start metric swexler 07/28/04 - Health check metric blivshit 08/13/04 - fixup hidden metrics for performance reasons for home pages (DB and RAC) hxlin 08/17/04 - Add collection response time vkgarg 08/05/04 - updating summary_awr sql vkgarg 08/01/04 - correcting aftercode review hxlin 07/16/04 - Add collect sql response time metric kdas 07/21/04 - simpler metric for ADDM vkgarg 07/28/04 - sending start and end date for custom view in AWR metrics ychan 07/13/04 - Fix bug 3738242 ychan 07/09/04 - Remove 10gBeta xuliu 07/01/04 - rac inst interconnects ychan 07/01/04 - Fix comment ychan 06/30/04 - Fix bug 3467825 kranjan 06/28/04 - fix for bug 3576903 lhan 06/25/04 - add NLS support for UDM blivshit 06/29/04 - move hidden metrics back to instance, since it needs instance variables blivshit 06/25/04 - fix query jochen 06/22/04 - Add media failure alert log category blivshit 06/17/04 - change order by for hidden metrics blivshit 06/01/04 - add hidden AWR metrics zsyed 07/02/04 - Adding metrics for SGA and Hang Analyze data jochen 05/26/04 - Add 10gR2 lhan 05/27/04 - add R2 SQLUDM metric definition ysun 04/29/04 - ysun_metadata_split ysun 04/26/04 - creation --> <!-- ====================================================================== == Category: SQL Response Time == Collection Level: Recommended == Purpose: Alerts, Trending ====================================================================== --> <Metric NAME="sql_response" TYPE="TABLE"> <ValidIf> <CategoryProp NAME="MCPkg" CHOICES="2;3"/> </ValidIf> <Display> <Label NLSID="sql_response">SQL Response Time</Label> </Display> <TableDescriptor> <!-- ========================= == Time This Capture (t2) == ========================= --> <ColumnDescriptor NAME="time2" TYPE="NUMBER" TRANSIENT="TRUE" HELP="NO_HELP"/> <ColumnDescriptor NAME="baselineTime" TYPE="NUMBER"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="baseline_sql_response_time">Baseline SQL Response Time</Label> <ShortName NLSID="baseline_sql_response_time_short">Baseline Response</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="currentTime" TYPE="NUMBER"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="current_sql_response_time">Current SQL Response Time</Label> <ShortName NLSID="current_sql_response_time_short">Current Response</ShortName> </Display> </ColumnDescriptor> <!-- ============================= == Time Previous Capture (t1) == ============================= --> <ColumnDescriptor NAME="time1" TYPE="NUMBER" TRANSIENT="TRUE" HELP="NO_HELP" COMPUTE_EXPR="_time2"/> <!-- =========================== == Time 2 Captures Ago (t0) == =========================== --> <ColumnDescriptor NAME="time0" TYPE="NUMBER" TRANSIENT="TRUE" HELP="NO_HELP" COMPUTE_EXPR="_time1"/> <!-- ============== == Max(t2, t1) == ============== --> <ColumnDescriptor NAME="time1vs2" TYPE="NUMBER" TRANSIENT="TRUE" HELP="NO_HELP" COMPUTE_EXPR="(time1 > time2) ? time1 : time2"/> <!-- ============== == Max(t2, t0) == ============== --> <ColumnDescriptor NAME="time0vs2" TYPE="NUMBER" TRANSIENT="TRUE" HELP="NO_HELP" COMPUTE_EXPR="(time0 > time2) ? time0 : time2"/> <!-- ============== == Max(t1, t0) == ============== --> <ColumnDescriptor NAME="time0vs1" TYPE="NUMBER" TRANSIENT="TRUE" HELP="NO_HELP" COMPUTE_EXPR="_time1vs2"/> <!-- ===================== == Median(t0, t1, t2) == ===================== --> <ColumnDescriptor NAME="timeMid" TYPE="NUMBER" TRANSIENT="TRUE" HELP="NO_HELP" COMPUTE_EXPR="((time2 > time0vs1) ? time0vs1 : ((time1 > time0vs2) ? time0vs2 : time1vs2))"/> <!-- ================================================================== == Time This Capture (if not a spike) otherwise Median of latest 3 == ================================================================== --> <ColumnDescriptor NAME="time" TYPE="NUMBER" COMPUTE_EXPR="(time2 > 400) ? timeMid : time2"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="sql_response_time">SQL Response Time (%)</Label> <ShortName NLSID="sql_response_time_short">Response</ShortName> </Display> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="SQL"> <Property NAME="STATEMENT" SCOPE="GLOBAL"><![CDATA[ BEGIN IF (:1 = 'READ WRITE') THEN ---- -- For a read-write database appropriately configured, try to evaluate. ---- IF (:2 = '1') THEN dbsnmp.mgmt_response.get_metric_curs(:3); ELSE execute immediate 'begin dbsnmp.mgmt_response.get_latest_curs(:a); end;' using in out :3; END IF; ELSE ---- -- For a read-only database, do not evaluate, but rather return an empty -- cursor. ---- DECLARE TYPE data_cursor_type IS REF CURSOR; data_cursor data_cursor_type; BEGIN OPEN data_cursor FOR SELECT -1 FROM dual WHERE 0=1; :3 := data_cursor; END; END IF; END; ]]></Property> <Property NAME="SQLINPARAM1" SCOPE="INSTANCE">OpenMode</Property> <Property NAME="SQLINPARAM2" SCOPE="INSTANCE">MCResponse</Property> <Property NAME="SQLOUTPARAMPOS" SCOPE="GLOBAL">3</Property> <Property NAME="SQLOUTPARAMTYPE" SCOPE="GLOBAL">SQL_CURSOR</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> </QueryDescriptor> </Metric> <!-- ====================================================================== == Category: Collect SQL Response Time == Collection Level: Recommended == Purpose: Alerts, Trending ====================================================================== --> <Metric NAME="sql_response_collect" TYPE="TABLE" USAGE_TYPE="HIDDEN_COLLECT"> <ValidIf> <CategoryProp NAME="MCPkg" CHOICES="2;3"/> </ValidIf> <Display> <Label NLSID="collect_sql_response">Collect SQL Response Time</Label> </Display> <TableDescriptor> <ColumnDescriptor NAME="time" TYPE="NUMBER"> <Display> <Label NLSID="sql_response_time">SQL Response Time (%)</Label> <ShortName NLSID="sql_response_time_short">Response</ShortName> </Display> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="SQL"> <Property NAME="STATEMENT" SCOPE="GLOBAL"><![CDATA[ BEGIN IF (:1 = 'READ WRITE' AND (:2 = '2' OR :2 = '3')) THEN ---- -- For a read-write database appropriately configured, try to evaluate. ---- dbsnmp.mgmt_response.get_metric_curs(:3); ELSE ---- -- For a read-only database, do not evaluate, but rather return an empty -- cursor. ---- DECLARE TYPE data_cursor_type IS REF CURSOR; data_cursor data_cursor_type; BEGIN OPEN data_cursor FOR SELECT -1 FROM dual WHERE 0=1; :3 := data_cursor; END; END IF; END; ]]></Property> <Property NAME="SQLINPARAM1" SCOPE="INSTANCE">OpenMode</Property> <Property NAME="SQLINPARAM2" SCOPE="INSTANCE">MCResponse</Property> <Property NAME="SQLOUTPARAMPOS" SCOPE="GLOBAL">3</Property> <Property NAME="SQLOUTPARAMTYPE" SCOPE="GLOBAL">SQL_CURSOR</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> </QueryDescriptor> </Metric> <!-- ====================================================================== == Category: Throughput == Collection Level: Minimum == Purpose: Alerts, Trending ====================================================================== --> <Metric NAME="instance_throughput" TYPE="TABLE"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="pre8;8i;8iR2;9i;9iR2"/> </ValidIf> <Display> <Label NLSID="instance_throughput">Throughput</Label> </Display> <TableDescriptor> <!-- columns provided by the query descriptor's fetchlet call --> <!-- Note: The order of these columns must match the output ADT. --> <!-- The field name matches the column name only for clarity. --> <ColumnDescriptor NAME="logons_current" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_logons_current">All Sessions</Label> <ShortName NLSID="instance_throughput_logons_current">All Sessions</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="logons_cumulative" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="instance_throughput_logons_cumulative">logons cumulative</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="parses" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="instance_throughput_parses">parse count (total)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="hard_parses" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="instance_throughput_hard_parses">parse count (hard)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="executions" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="instance_throughput_executions">execution count</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="user_calls" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="instance_throughput_user_calls">user calls</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="recursive_calls" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="instance_throughput_recursive_calls">recursive calls</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="sorts_memory" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="instance_throughput_sorts_memory">sorts (memory)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="sorts_disk" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="instance_throughput_sorts_disk">sorts (disk)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="sorts_rows" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="instance_throughput_sorts_rows">sorts (rows)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="logical_reads" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="instance_throughput_logical_reads">session logical reads</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="physical_reads" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="instance_throughput_physical_reads">physical reads</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="table_scans_long" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="instance_throughput_table_scans_long">table scans (long tables)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="index_ffs_full" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="instance_throughput_index_ffs_full">index fast full scans (full)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="physical_writes" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="instance_throughput_physical_writes">physical writes</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="bytes_to_client" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="instance_throughput_bytes_to_client">bytes sent via SQL*Net to client</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="bytes_from_client" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="instance_throughput_bytes_from_client">bytes received via SQL*Net from client</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="bytes_to_dblink" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="instance_throughput_bytes_to_dblink">bytes sent via SQL*Net to dblink</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="bytes_from_dblink" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="instance_throughput_bytes_from_dblink">bytes received via SQL*Net from dblink</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="commits" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="instance_throughput_commits">user commits</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="dbwr_checkpoints" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="instance_throughput_dbwr_checkpoints">DBWR checkpoints</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="rollbacks" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="instance_throughput_rollbacks">user rollbacks</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="redo_size" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="instance_throughput_redo_size">redo size</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="redo_writes" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="instance_throughput_redo_writes">redo writes</Label> </Display> </ColumnDescriptor> <!-- intermediate columns to be used in column computations below --> <!-- Note: These columns must precede their use. --> <ColumnDescriptor NAME="transactions" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP" COMPUTE_EXPR="(commits + rollbacks > _commits + _rollbacks) ? (commits - _commits) + (rollbacks - _rollbacks) : 0"> <Display> <Label NLSID="instance_throughput_transactions">transactions</Label> </Display> </ColumnDescriptor> <!-- columns based on deltas or other computations from counters --> <ColumnDescriptor NAME="transactions_ps" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="transactions/__interval"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_transactions_ps">Number of Transactions (per second)</Label> <ShortName NLSID="instance_throughput_transactions_ps_short">Transactions/s</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="physreads_ps" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(_physical_reads > physical_reads) ? (1/0) : (physical_reads - _physical_reads)/__interval"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_physreads_ps">Physical Reads (per second)</Label> <ShortName NLSID="instance_throughput_physreads_ps_short">Physical Reads/s</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="physreads_pt" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(_physical_reads > physical_reads) ? (1/0) : (physical_reads - _physical_reads)/transactions"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_physreads_pt">Physical Reads (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="physwrites_ps" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(_physical_writes > physical_writes) ? (1/0) : (physical_writes - _physical_writes)/__interval"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_physwrites_ps">Physical Writes (per second)</Label> <ShortName NLSID="instance_throughput_physwrites_ps_short">Phys Writes/sec</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="physwrites_pt" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(_physical_writes > physical_writes) ? (1/0) : (physical_writes - _physical_writes)/transactions"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_physwrites_pt">Physical Writes (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="redosize_ps" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(_redo_size > redo_size) ? (1/0) : (redo_size - _redo_size)/__interval"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_redosize_ps">Redo Generated (per second)</Label> <ShortName NLSID="instance_throughput_redosize_ps_short">Redo Size/sec</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="redosize_pt" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(_redo_size > redo_size) ? (1/0) : (redo_size - _redo_size)/transactions"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_redosize_pt">Redo Generated (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="logons_ps" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(_logons_cumulative > logons_cumulative) ? (1/0) : (logons_cumulative - _logons_cumulative)/__interval"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_logons_ps">Cumulative Logons (per second)</Label> <ShortName NLSID="instance_throughput_logons_ps_short">Logons/sec</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="logons_pt" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(_logons_cumulative > logons_cumulative) ? (1/0) : (logons_cumulative - _logons_cumulative)/transactions"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_logons_pt">Cumulative Logons (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="commits_ps" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(_commits > commits) ? (1/0) : (commits - _commits)/__interval"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_commits_ps">User Commits (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="commits_pt" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(_commits > commits) ? (1/0) : (commits - _commits)/transactions"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_commits_pt">User Commits (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="rollbacks_ps" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(_rollbacks > rollbacks) ? (1/0) : (rollbacks - _rollbacks)/__interval"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_rollbacks_ps">User Rollbacks (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="rollbacks_pt" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(_rollbacks > rollbacks) ? (1/0) : (rollbacks - _rollbacks)/transactions"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_rollbacks_pt">User Rollbacks (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="usercalls_ps" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(_user_calls > user_calls) ? (1/0) : (user_calls - _user_calls)/__interval"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_usercalls_ps">User Calls (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="usercalls_pt" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(_user_calls > user_calls) ? (1/0) : (user_calls - _user_calls)/transactions"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_usercalls_pt">User Calls (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="recurscalls_ps" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(_recursive_calls > recursive_calls) ? (1/0) : (recursive_calls - _recursive_calls)/__interval"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_recurscalls_ps">Recursive Calls (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="recurscalls_pt" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(_recursive_calls > recursive_calls) ? (1/0) : (recursive_calls - _recursive_calls)/transactions"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_recurscalls_pt">Recursive Calls (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="logreads_ps" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(_logical_reads > logical_reads) ? (1/0) : (logical_reads - _logical_reads)/__interval"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_logreads_ps">Session Logical Reads (per second)</Label> <ShortName NLSID="instance_throughput_logreads_ps_short">Logical Reads/s</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="logreads_pt" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(_logical_reads > logical_reads) ? (1/0) : (logical_reads - _logical_reads)/transactions"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_logreads_pt">Session Logical Reads (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="dbwrcheckpoints_ps" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(_dbwr_checkpoints > dbwr_checkpoints) ? (1/0) : (dbwr_checkpoints - _dbwr_checkpoints)/__interval"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_dbwrcheckpoints_ps">DBWR Checkpoints (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="redowrites_ps" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(_redo_writes > redo_writes) ? (1/0) : (redo_writes - _redo_writes)/__interval"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_redowrites_ps">Redo Writes (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="redowrites_pt" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(_redo_writes > redo_writes) ? (1/0) : (redo_writes - _redo_writes)/transactions"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_redowrites_pt">Redo Writes (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="tabscanslong_ps" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(_table_scans_long > table_scans_long) ? (1/0) : (table_scans_long - _table_scans_long)/__interval"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_tabscanslong_ps">Scans on Long Tables (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="tabscanslong_pt" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(_table_scans_long > table_scans_long) ? (1/0) : (table_scans_long - _table_scans_long)/transactions"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_tabscanslong_pt">Scans on Long Tables (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="parses_ps" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(_parses > parses) ? (1/0) : (parses - _parses)/__interval"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_parses_ps">Total Parses (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="parses_pt" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(_parses > parses) ? (1/0) : (parses - _parses)/transactions"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_parses_pt">Total Parses (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="hardparses_ps" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(_hard_parses > hard_parses) ? (1/0) : (hard_parses - _hard_parses)/__interval"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_hardparses_ps">Hard Parses (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="hardparses_pt" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(_hard_parses > hard_parses) ? (1/0) : (hard_parses - _hard_parses)/transactions"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_hardparses_pt">Hard Parses (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="executions_ps" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(_executions > executions) ? (1/0) : (executions - _executions)/__interval"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_executions_ps">Executes (per second)</Label> <ShortName NLSID="instance_throughput_executions_ps_short">SQL Executions/s</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="sortsdisk_ps" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(_sorts_disk > sorts_disk) ? (1/0) : (sorts_disk - _sorts_disk)/__interval"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_sortsdisk_ps">Sorts to Disk (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="sortsdisk_pt" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(_sorts_disk > sorts_disk) ? (1/0) : (sorts_disk - _sorts_disk)/transactions"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_sortsdisk_pt">Sorts to Disk (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="rows_psort" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(_sorts_rows + _sorts_disk + _sorts_memory > sorts_rows + sorts_disk + sorts_memory) ? (1/0) : (sorts_rows - _sorts_rows)/((sorts_disk - _sorts_disk) + (sorts_memory - _sorts_memory))"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_rows_psort">Rows Processed (per sort)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="executeswoparse_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(_parses + _executions > parses + executions) ? (1/0) : (((executions - _executions) > (parses - _parses)) ? (100 * (((executions - _executions) - (parses - _parses))/(executions - _executions))) : 0)"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_executeswoparse_pct">Executes Performed without Parses (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="softparse_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(_parses + _hard_parses > parses + hard_parses) ? (1/0) : 100 * (((parses - _parses) - (hard_parses - _hard_parses))/(parses - _parses))"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_softparse_pct">Soft Parse (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="usercall_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(_user_calls + _recursive_calls > user_calls + recursive_calls) ? (1/0) : 100 * ((user_calls - _user_calls)/((user_calls - _user_calls) + (recursive_calls - _recursive_calls)))"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_usercall_pct">User Calls (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="tabscanstotal_ps" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(_table_scans_long + _index_ffs_full > table_scans_long + index_ffs_full) ? (1/0) : ((table_scans_long - _table_scans_long) + (index_ffs_full - _index_ffs_full))/__interval"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_tabscanstotal_ps">Total Table Scans (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="tabscanstotal_pt" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(_table_scans_long + _index_ffs_full > table_scans_long + index_ffs_full) ? (1/0) : ((table_scans_long - _table_scans_long) + (index_ffs_full - _index_ffs_full))/transactions"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_tabscanstotal_pt">Total Table Scans (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="networkbytes_ps" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(_bytes_to_client + _bytes_from_client + _bytes_to_dblink + _bytes_from_dblink > bytes_to_client + bytes_from_client + bytes_to_dblink + bytes_from_dblink) ? (1/0) : ((bytes_to_client - _bytes_to_client) + (bytes_from_client - _bytes_from_client) + (bytes_to_dblink - _bytes_to_dblink) + (bytes_from_dblink - _bytes_from_dblink))/__interval"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_networkbytes_ps">Network Bytes (per second)</Label> </Display> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="SQL"> <Property NAME="STATEMENT" SCOPE="GLOBAL"><![CDATA[ DECLARE logons_current NUMBER := NULL; logons_cumulative NUMBER := NULL; parses NUMBER := NULL; hard_parses NUMBER := NULL; executions NUMBER := NULL; user_calls NUMBER := NULL; recursive_calls NUMBER := NULL; sorts_memory NUMBER := NULL; sorts_disk NUMBER := NULL; sorts_rows NUMBER := NULL; logical_reads NUMBER := NULL; physical_reads NUMBER := NULL; table_scans_long NUMBER := NULL; index_ffs_full NUMBER := NULL; physical_writes NUMBER := NULL; bytes_to_client NUMBER := NULL; bytes_from_client NUMBER := NULL; bytes_to_dblink NUMBER := NULL; bytes_from_dblink NUMBER := NULL; commits NUMBER := NULL; dbwr_checkpoints NUMBER := NULL; rollbacks NUMBER := NULL; redo_size NUMBER := NULL; redo_writes NUMBER := NULL; TYPE data_cursor_type IS REF CURSOR; data_cursor data_cursor_type; BEGIN FOR name_value_pair IN (SELECT sn.name, sv.value FROM v$statname sn, v$sysstat sv WHERE sn.name IN ('DBWR checkpoints', 'bytes received via SQL*Net from client', 'bytes received via SQL*Net from dblink', 'bytes sent via SQL*Net to client', 'bytes sent via SQL*Net to dblink', 'execute count', 'index fast full scans (full)', 'logons cumulative', 'logons current', 'parse count (hard)', 'parse count (total)', 'physical reads', 'physical writes', 'recursive calls', 'redo size', 'redo writes', 'session logical reads', 'sorts (disk)', 'sorts (memory)', 'sorts (rows)', 'table scans (long tables)', 'user calls', 'user commits', 'user rollbacks') AND sn.statistic# = sv.statistic#) LOOP IF name_value_pair.name = 'DBWR checkpoints' THEN dbwr_checkpoints := name_value_pair.value; ELSIF name_value_pair.name = 'bytes received via SQL*Net from client' THEN bytes_from_client := name_value_pair.value; ELSIF name_value_pair.name = 'bytes received via SQL*Net from dblink' THEN bytes_from_dblink := name_value_pair.value; ELSIF name_value_pair.name = 'bytes sent via SQL*Net to client' THEN bytes_to_client := name_value_pair.value; ELSIF name_value_pair.name = 'bytes sent via SQL*Net to dblink' THEN bytes_to_dblink := name_value_pair.value; ELSIF name_value_pair.name = 'execute count' THEN executions := name_value_pair.value; ELSIF name_value_pair.name = 'index fast full scans (full)' THEN index_ffs_full := name_value_pair.value; ELSIF name_value_pair.name = 'logons cumulative' THEN logons_cumulative := name_value_pair.value; ELSIF name_value_pair.name = 'logons current' THEN logons_current := name_value_pair.value; ELSIF name_value_pair.name = 'parse count (hard)' THEN hard_parses := name_value_pair.value; ELSIF name_value_pair.name = 'parse count (total)' THEN parses := name_value_pair.value; ELSIF name_value_pair.name = 'physical reads' THEN physical_reads := name_value_pair.value; ELSIF name_value_pair.name = 'physical writes' THEN physical_writes := name_value_pair.value; ELSIF name_value_pair.name = 'recursive calls' THEN recursive_calls := name_value_pair.value; ELSIF name_value_pair.name = 'redo size' THEN redo_size := name_value_pair.value; ELSIF name_value_pair.name = 'redo writes' THEN redo_writes := name_value_pair.value; ELSIF name_value_pair.name = 'session logical reads' THEN logical_reads := name_value_pair.value; ELSIF name_value_pair.name = 'sorts (disk)' THEN sorts_disk := name_value_pair.value; ELSIF name_value_pair.name = 'sorts (memory)' THEN sorts_memory := name_value_pair.value; ELSIF name_value_pair.name = 'sorts (rows)' THEN sorts_rows := name_value_pair.value; ELSIF name_value_pair.name = 'table scans (long tables)' THEN table_scans_long := name_value_pair.value; ELSIF name_value_pair.name = 'user calls' THEN user_calls := name_value_pair.value; ELSIF name_value_pair.name = 'user commits' THEN commits := name_value_pair.value; ELSIF name_value_pair.name = 'user rollbacks' THEN rollbacks := name_value_pair.value; END IF; END LOOP; -- open the cursor to return OPEN data_cursor FOR SELECT logons_current, logons_cumulative, parses, hard_parses, executions, user_calls, recursive_calls, sorts_memory, sorts_disk, sorts_rows, logical_reads, physical_reads, table_scans_long, index_ffs_full, physical_writes, bytes_to_client, bytes_from_client, bytes_to_dblink, bytes_from_dblink, commits, dbwr_checkpoints, rollbacks, redo_size, redo_writes FROM dual; :1 := data_cursor; END; ]]></Property> <Property NAME="SQLOUTPARAMPOS" SCOPE="GLOBAL">1</Property> <Property NAME="SQLOUTPARAMTYPE" SCOPE="GLOBAL">SQL_CURSOR</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> </QueryDescriptor> </Metric> <!-- ====================================================================== == Category: Efficiency == Collection Level: Complete == Purpose: Alerts ====================================================================== --> <Metric NAME="instance_efficiency" TYPE="TABLE"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="pre8;8i;8iR2;9i;9iR2"/> </ValidIf> <Display> <Label NLSID="instance_efficiency">Efficiency</Label> </Display> <TableDescriptor> <!-- columns provided by the query descriptor's fetchlet call --> <!-- Note: The order of these columns must match the output ADT. --> <!-- The field name matches the column name only for clarity. --> <ColumnDescriptor NAME="sorts_memory" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="instance_efficiency_sorts_memory">sorts (memory)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="sorts_disk" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="instance_efficiency_sorts_disk">sorts (disk)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="logical_reads" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="instance_efficiency_logical_reads">session logical reads</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="physical_reads" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="instance_efficiency_physical_reads">physical reads</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="physical_reads_direct" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="instance_efficiency_physical_reads_direct">physical reads direct</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="redo_entries" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="instance_efficiency_redo_entries">redo entries</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="redo_space_requests" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="instance_efficiency_redo_space_requests">redo log space requests</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="libcache_pins" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="instance_efficiency_libcache_pins">libcache pins</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="libcache_pinhits" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="instance_efficiency_libcache_pinhits">libcache pinhits</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="dictionary_gets" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="instance_efficiency_dictionary_gets">dictionary gets</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="dictionary_misses" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="instance_efficiency_dictionary_misses">dictionary misses</Label> </Display> </ColumnDescriptor> <!-- intermediate columns to be used in column computations below --> <!-- columns based on deltas or other computations from counters --> <ColumnDescriptor NAME="bufcachehit_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(_logical_reads + _physical_reads + _physical_reads_direct > logical_reads + physical_reads + physical_reads_direct) ? (1/0) : ((logical_reads > _logical_reads) ? (100 * (1 - (((physical_reads - _physical_reads) - (physical_reads_direct - _physical_reads_direct))/(logical_reads - _logical_reads)))) : 100)"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_efficiency_bufcachehit_pct">Buffer Cache Hit (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="libcache_hit_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(_libcache_pins + _libcache_pinhits > libcache_pins + libcache_pinhits) ? (1/0) : ((libcache_pins > _libcache_pins) ? (100 * (libcache_pinhits - _libcache_pinhits)/(libcache_pins - _libcache_pins)) : 100)"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_efficiency_libcache_hit_pct">Library Cache Hit (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="dictionaryhit_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(_dictionary_gets + _dictionary_misses > dictionary_gets + dictionary_misses) ? (1/0) : ((dictionary_gets > _dictionary_gets) ? (100 * ((dictionary_gets - _dictionary_gets) - (dictionary_misses - _dictionary_misses))/(dictionary_gets - _dictionary_gets)) : 100)"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_efficiency_dictionaryhit_pct">Data Dictionary Hit (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="inmem_sort_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(_sorts_memory + _sorts_disk > sorts_memory + sorts_disk) ? (1/0) : ((sorts_memory + sorts_disk > _sorts_memory + _sorts_disk) ? (100 * (sorts_memory - _sorts_memory)/((sorts_memory - _sorts_memory) + (sorts_disk - _sorts_disk))) : 100)"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_efficiency_inmem_sort_pct">Sorts in Memory (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="redologalloc_hit_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(_redo_entries + _redo_space_requests > redo_entries + redo_space_requests) ? (1/0) : ((redo_entries > _redo_entries) ? (100 * ((redo_entries - _redo_entries) - (redo_space_requests - _redo_space_requests))/(redo_entries - _redo_entries)) : 100)"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_efficiency_redologalloc_hit_pct">Redo Log Allocation Hit (%)</Label> </Display> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="SQL"> <Property NAME="STATEMENT" SCOPE="GLOBAL"><![CDATA[ DECLARE sorts_memory NUMBER := 0; sorts_disk NUMBER := 0; logical_reads NUMBER := 0; physical_reads NUMBER := 0; physical_reads_direct NUMBER := 0; redo_entries NUMBER := 0; redo_space_requests NUMBER := 0; libcache_pins NUMBER := 0; libcache_pinhits NUMBER := 0; dictionary_gets NUMBER := 0; dictionary_misses NUMBER := 0; TYPE num_sequence IS TABLE OF NUMBER; -- -- The statistic#'s of the v$sysstat statistics we're interested in. -- These numbers are ordered alphabetically, according to the stat name. -- ordered_stat#s num_sequence := num_sequence(); -- keep the MAX(statistic#) as a pseudo-statistic which represents a miss -- in the name lookup max_stat# NUMBER := 0; -- Note: This must be alphabetical (and ending with NULL)! TYPE name_list IS TABLE OF VARCHAR2(64); stat_names CONSTANT name_list := name_list('physical reads', 'physical reads direct', 'redo entries', 'redo log space requests', 'session logical reads', 'sorts (disk)', 'sorts (memory)', NULL); curr_stat#_ord INTEGER := 1; -- since misses are not expected, we'll keep a counter and only post- -- process the stat# array if there were any statname_misses INTEGER := 0; sysstat_vals num_sequence := num_sequence(); i NUMBER; TYPE data_cursor_type IS REF CURSOR; data_cursor data_cursor_type; BEGIN ---- -- initialize ordered_stat#s with the statistic#s (+1, since these are -- PL/SQL array indices) for the statistics we're interested in ---- FOR name_stat#_pair IN (SELECT name, statistic# stat# FROM v$statname ORDER BY name) LOOP -- (compute MAX(statistic#) for the purpose of misses) max_stat# := GREATEST(max_stat#, name_stat#_pair.stat#); IF name_stat#_pair.name = stat_names(curr_stat#_ord) THEN ---- -- log the found statistic# ---- ordered_stat#s.EXTEND; ordered_stat#s(curr_stat#_ord) := name_stat#_pair.stat# + 1; curr_stat#_ord := curr_stat#_ord + 1; ELSIF name_stat#_pair.name > stat_names(curr_stat#_ord) THEN ---- -- we've had a miss, so post-process the array, setting our NULL -- statistic#s to our pseudo-statistic# -- this can only happen if -- a statistic is deprecated by the server (which it doesn't do), or -- a misspelling of a valid statistic name in the list, or -- an incorrect alphabetical ordering of the list ---- ordered_stat#s.EXTEND; ordered_stat#s(curr_stat#_ord) := NULL; curr_stat#_ord := curr_stat#_ord + 1; statname_misses := statname_misses + 1; END IF; END LOOP; IF statname_misses > 0 THEN -- (post-process the misses) FOR stat_ord IN 1..ordered_stat#s.COUNT LOOP IF ordered_stat#s(stat_ord) IS NULL THEN ordered_stat#s(stat_ord) := max_stat# + 2; END IF; END LOOP; END IF; ---- -- query data into sysstat_vals, indexed by statistic#, leaving a zeroed -- slot at the end for misses ---- -- (supply a value for misses) sysstat_vals.EXTEND(max_stat# + 2); sysstat_vals(max_stat# + 2) := 0; -- (populate the stat# table) FOR stat#_val_pair IN (SELECT statistic# stat#, value FROM v$sysstat) LOOP sysstat_vals(stat#_val_pair.stat# + 1) := stat#_val_pair.value; END LOOP; ---- -- populate the SYSSTAT regions of the output record -- -- Note: The order of this list must match the alphabetical order of -- statistic names! ---- i := 1; physical_reads := sysstat_vals(ordered_stat#s(i)); i := i + 1; physical_reads_direct := sysstat_vals(ordered_stat#s(i)); i := i + 1; redo_entries := sysstat_vals(ordered_stat#s(i)); i := i + 1; redo_space_requests := sysstat_vals(ordered_stat#s(i)); i := i + 1; logical_reads := sysstat_vals(ordered_stat#s(i)); i := i + 1; sorts_disk := sysstat_vals(ordered_stat#s(i)); i := i + 1; sorts_memory := sysstat_vals(ordered_stat#s(i)); i := i + 1; ---- -- get library cache pin data ---- SELECT SUM(pins), SUM(pinhits) INTO libcache_pins, libcache_pinhits FROM v$librarycache; ---- -- get dictionary gets data ---- SELECT SUM(gets), SUM(getmisses) INTO dictionary_gets, dictionary_misses FROM v$rowcache; -- open the cursor to return OPEN data_cursor FOR SELECT sorts_memory, sorts_disk, logical_reads, physical_reads, physical_reads_direct, redo_entries, redo_space_requests, libcache_pins, libcache_pinhits, dictionary_gets, dictionary_misses FROM dual; :1 := data_cursor; END; ]]></Property> <Property NAME="SQLOUTPARAMPOS" SCOPE="GLOBAL">1</Property> <Property NAME="SQLOUTPARAMTYPE" SCOPE="GLOBAL">SQL_CURSOR</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> </QueryDescriptor> </Metric> <!-- ====================================================================== == Category: SGA Pool Wastage == Collection Level: Minimum == Purpose: Alerts, Trending ====================================================================== --> <Metric NAME="sga_pool_wastage" TYPE="TABLE"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="pre8;8i;8iR2;9i;9iR2"/> </ValidIf> <Display> <Label NLSID="sga_pool_wastage">SGA Pool Wastage</Label> </Display> <TableDescriptor> <ColumnDescriptor NAME="shared_free_pct" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="sga_pool_wastage_shared_free_pct">Shared Pool Free (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="large_free_pct" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="sga_pool_wastage_large_free_pct">Large Pool Free (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="java_free_pct" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="sga_pool_wastage_java_free_pct">Java Pool Free (%)</Label> </Display> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="SQL"> <Property NAME="STATEMENT" SCOPE="GLOBAL"><![CDATA[ DECLARE shared_free_pct NUMBER; large_free_pct NUMBER; java_free_pct NUMBER; TYPE data_cursor_type IS REF CURSOR; data_cursor data_cursor_type; BEGIN ---- -- compute each percentage ---- FOR pool_pct_pair IN (SELECT pool, DECODE(total_bytes, 0, NULL, 100 * free_bytes / total_bytes) pct FROM (SELECT pool, SUM(bytes) total_bytes, SUM(DECODE(name, 'free memory', bytes, 0)) free_bytes FROM v$sgastat GROUP BY pool)) LOOP IF pool_pct_pair.pool = 'shared pool' THEN shared_free_pct := pool_pct_pair.pct; ELSIF pool_pct_pair.pool = 'java pool' THEN java_free_pct := pool_pct_pair.pct; ELSIF pool_pct_pair.pool = 'large pool' THEN large_free_pct := pool_pct_pair.pct; END IF; END LOOP; -- open the cursor to return OPEN data_cursor FOR SELECT shared_free_pct, large_free_pct, java_free_pct FROM dual; :1 := data_cursor; END; ]]></Property> <Property NAME="SQLOUTPARAMPOS" SCOPE="GLOBAL">1</Property> <Property NAME="SQLOUTPARAMTYPE" SCOPE="GLOBAL">SQL_CURSOR</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> </QueryDescriptor> </Metric> <!-- ====================================================================== == Category: Wait Bottlenecks == Collection Level: Minimum == Purpose: Alerts, Trending ====================================================================== --> <Metric NAME="wait_bottlenecks" TYPE="TABLE"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="pre8;8i;8iR2;9i;9iR2"/> </ValidIf> <Display> <Label NLSID="wait_bottlenecks">Wait Bottlenecks</Label> </Display> <TableDescriptor> <!-- columns provided by the query descriptor's fetchlet call --> <!-- Note: The order of these columns must match the output ADT. --> <!-- The field name matches the column name only for clarity. --> <ColumnDescriptor NAME="local_write_wait_time" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="wait_bottlenecks_local_write_wait_time">local_write_wait_time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="net_reset_to_client_time" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="wait_bottlenecks_net_reset_to_client_time">net_reset_to_client_time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="net_reset_to_dblink_time" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="wait_bottlenecks_net_reset_to_dblink_time">net_reset_to_dblink_time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="enqueue_dml_time" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="wait_bottlenecks_enqueue_dml_time">enqueue_dml_time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="enqueue_row_lock_time" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="wait_bottlenecks_enqueue_row_lock_time">enqueue_row_lock_time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="enqueue_userdef_time" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="wait_bottlenecks_enqueue_userdef_time">enqueue_userdef_time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="log_file_sync_time" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="wait_bottlenecks_log_file_sync_time">log_file_sync_time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="buffer_busy_waits_time" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="wait_bottlenecks_buffer_busy_waits_time">buffer_busy_waits_time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="latch_cache_buffer_chains_time" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="wait_bottlenecks_latch_cache_buffer_chains_time">latch_cache_buffer_chains_time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="latch_library_cache_time" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="wait_bottlenecks_latch_library_cache_time">latch_library_cache_time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="library_cache_load_lock_time" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="wait_bottlenecks_library_cache_load_lock_time">library_cache_load_lock_time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="library_cache_lock_time" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="wait_bottlenecks_library_cache_lock_time">library_cache_lock_time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="library_cache_pin_time" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="wait_bottlenecks_library_cache_pin_time">library_cache_pin_time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="pipe_put_time" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="wait_bottlenecks_pipe_put_time">pipe_put_time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="row_cache_lock_time" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="wait_bottlenecks_row_cache_lock_time">row_cache_lock_time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="enqueue_hw_time" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="wait_bottlenecks_enqueue_hw_time">enqueue_hw_time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="enqueue_st_time" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="wait_bottlenecks_enqueue_st_time">enqueue_st_time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="enqueue_alloc_itl_time" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="wait_bottlenecks_enqueue_alloc_itl_time">enqueue_alloc_itl_time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="free_buffer_waits_time" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="wait_bottlenecks_free_buffer_waits_time">free_buffer_waits_time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="latch_redo_copy_time" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="wait_bottlenecks_latch_redo_copy_time">latch_redo_copy_time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="latch_shared_pool_time" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="wait_bottlenecks_latch_shared_pool_time">latch_shared_pool_time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="log_buffer_space_time" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="wait_bottlenecks_log_buffer_space_time">log_buffer_space_time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="log_file_switch_arch_time" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="wait_bottlenecks_log_file_switch_arch_time">log_file_switch_arch_time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="log_file_switch_ckpt_time" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="wait_bottlenecks_log_file_switch_ckpt_time">log_file_switch_ckpt_time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="log_file_switch_complete_time" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="wait_bottlenecks_log_file_switch_complete_time">log_file_switch_complete_time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="log_switch_arch_time" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="wait_bottlenecks_log_switch_arch_time">log_switch_arch_time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="write_complete_waits_time" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="wait_bottlenecks_write_complete_waits_time">write_complete_waits_time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="net_msg_to_client_time" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="wait_bottlenecks_net_msg_to_client_time">net_msg_to_client_time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="net_msg_to_dblink_time" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="wait_bottlenecks_net_msg_to_dblink_time">net_msg_to_dblink_time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="net_more_from_client_time" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="wait_bottlenecks_net_more_from_client_time">net_more_from_client_time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="net_more_from_dblink_time" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="wait_bottlenecks_net_more_from_dblink_time">net_more_from_dblink_time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="net_more_to_client_time" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="wait_bottlenecks_net_more_to_client_time">net_more_to_client_time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="net_more_to_dblink_time" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="wait_bottlenecks_net_more_to_dblink_time">net_more_to_dblink_time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="db_file_scattered_read_time" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="wait_bottlenecks_db_file_scattered_read_time">db_file_scattered_read_time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="db_file_sequential_read_time" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="wait_bottlenecks_db_file_sequential_read_time">db_file_sequential_read_time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="db_file_single_write_time" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="wait_bottlenecks_db_file_single_write_time">db_file_single_write_time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="direct_path_read_time" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="wait_bottlenecks_direct_path_read_time">direct_path_read_time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="direct_path_read_lob_time" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="wait_bottlenecks_direct_path_read_lob_time">direct_path_read_lob_time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="direct_path_write_time" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="wait_bottlenecks_direct_path_write_time">direct_path_write_time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="direct_path_write_lob_time" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="wait_bottlenecks_direct_path_write_lob_time">direct_path_write_lob_time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="latch_free_time" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="wait_bottlenecks_latch_free_time">latch_free_time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="enqueue_time" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="wait_bottlenecks_enqueue_time">enqueue_time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="user_wait_time" TYPE="NUMBER" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="wait_bottlenecks_user_wait_time">Wait Time (sec)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="user_cpu_time" TYPE="NUMBER" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="wait_bottlenecks_user_cpu_time">CPU Time (sec)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="userio_time" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="wait_bottlenecks_userio_wait_time">User I/O Wait Time (sec)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="cpu_cnt" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="wait_bottlenecks_cpu_cnt">CPU Count</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="service_time_fg_delta" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP" COMPUTE_EXPR="(_user_wait_time > user_wait_time) ? 0 : ((_user_cpu_time > user_cpu_time) ? 0 : (user_wait_time - _user_wait_time) + (user_cpu_time - _user_cpu_time))"> <Display> <Label NLSID="wait_bottlenecks_service_time_fg">Service Time Delta (sec)</Label> </Display> </ColumnDescriptor> <!-- columns based on deltas or other computations from counters --> <ColumnDescriptor NAME="local_write_wait_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(local_write_wait_time > _local_write_wait_time) ? 100*(local_write_wait_time - _local_write_wait_time)/service_time_fg_delta : 0"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_local_write_wait_pct">Local write wait (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="net_reset_to_client_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(net_reset_to_client_time > _net_reset_to_client_time) ? 100*(net_reset_to_client_time - _net_reset_to_client_time)/service_time_fg_delta : 0"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_net_reset_to_client_pct">SQL*Net break/reset to client (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="net_reset_to_dblink_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(net_reset_to_dblink_time > _net_reset_to_dblink_time) ? 100*(net_reset_to_dblink_time - _net_reset_to_dblink_time)/service_time_fg_delta : 0"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_net_reset_to_dblink_pct">SQL*Net break/reset to dblink (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="enqueue_dml_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(enqueue_dml_time > _enqueue_dml_time) ? 100*(enqueue_dml_time - _enqueue_dml_time)/service_time_fg_delta : 0"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_enqueue_dml_pct">Enqueue: DML - contention (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="enqueue_row_lock_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(enqueue_row_lock_time > _enqueue_row_lock_time) ? 100*(enqueue_row_lock_time - _enqueue_row_lock_time)/service_time_fg_delta : 0"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_enqueue_row_lock_pct">Enqueue: TM, TX, Transaction - row lock contention (%)</Label> <ShortName NLSID="wait_bottlenecks_enqueue_row_lock_pct_sht">Enqueue: TM, TX, Txn (%)</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="enqueue_userdef_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(enqueue_userdef_time > _enqueue_userdef_time) ? 100*(enqueue_userdef_time - _enqueue_userdef_time)/service_time_fg_delta : 0"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_enqueue_userdef_pct">Enqueue: UL: User-defined - contention (%)</Label> <ShortName NLSID="wait_bottlenecks_enqueue_userdef_pct_sht">Enqueue: UL (%)</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="log_file_sync_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(log_file_sync_time > _log_file_sync_time) ? 100*(log_file_sync_time - _log_file_sync_time)/service_time_fg_delta : 0"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_log_file_sync_pct">Log file sync (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="buffer_busy_waits_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(buffer_busy_waits_time > _buffer_busy_waits_time) ? 100*(buffer_busy_waits_time - _buffer_busy_waits_time)/service_time_fg_delta : 0"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_buffer_busy_waits_pct">Buffer busy waits (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="latch_cache_buffer_chains_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(latch_cache_buffer_chains_time > _latch_cache_buffer_chains_time) ? 100*(latch_cache_buffer_chains_time - _latch_cache_buffer_chains_time)/service_time_fg_delta : 0"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_latch_cache_buffer_chains_pct">Latch: cache buffer chains (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="latch_library_cache_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(latch_library_cache_time > _latch_library_cache_time) ? 100*(latch_library_cache_time - _latch_library_cache_time)/service_time_fg_delta : 0"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_latch_library_cache_pct">Latch: library cache (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="library_cache_load_lock_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(library_cache_load_lock_time > _library_cache_load_lock_time) ? 100*(library_cache_load_lock_time - _library_cache_load_lock_time)/service_time_fg_delta : 0"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_library_cache_load_lock_pct">Library cache load lock (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="library_cache_lock_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(library_cache_lock_time > _library_cache_lock_time) ? 100*(library_cache_lock_time - _library_cache_lock_time)/service_time_fg_delta : 0"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_library_cache_lock_pct">Library cache lock (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="library_cache_pin_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(library_cache_pin_time > _library_cache_pin_time) ? 100*(library_cache_pin_time - _library_cache_pin_time)/service_time_fg_delta : 0"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_library_cache_pin_pct">Library cache pin (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="pipe_put_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(pipe_put_time > _pipe_put_time) ? 100*(pipe_put_time - _pipe_put_time)/service_time_fg_delta : 0"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_pipe_put_pct">Pipe put (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="row_cache_lock_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(row_cache_lock_time > _row_cache_lock_time) ? 100*(row_cache_lock_time - _row_cache_lock_time)/service_time_fg_delta : 0"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_row_cache_lock_pct">Row cache lock (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="enqueue_hw_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(enqueue_hw_time > _enqueue_hw_time) ? 100*(enqueue_hw_time - _enqueue_hw_time)/service_time_fg_delta : 0"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_enqueue_hw_pct">Enqueue: HW, Segment High Water Mark - contention (%)</Label> <ShortName NLSID="wait_bottlenecks_enqueue_hw_pct_sht">Enqueue: HW Segment HWM (%)</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="enqueue_st_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(enqueue_st_time > _enqueue_st_time) ? 100*(enqueue_st_time - _enqueue_st_time)/service_time_fg_delta : 0"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_enqueue_st_pct">Enqueue: ST, Space Transaction - contention (%)</Label> <ShortName NLSID="wait_bottlenecks_enqueue_st_pct_sht">Enqueue: ST, Space Txn (%)</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="enqueue_alloc_itl_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(enqueue_alloc_itl_time > _enqueue_alloc_itl_time) ? 100*(enqueue_alloc_itl_time - _enqueue_alloc_itl_time)/service_time_fg_delta : 0"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_enqueue_alloc_itl_pct">Enqueue: TX mode 4, Transaction - allocate ITL entry (%)</Label> <ShortName NLSID="wait_bottlenecks_enqueue_alloc_itl_pct_sht">Enqueue: TX mode 4, Txn (%)</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="free_buffer_waits_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(free_buffer_waits_time > _free_buffer_waits_time) ? 100*(free_buffer_waits_time - _free_buffer_waits_time)/service_time_fg_delta : 0"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_free_buffer_waits_pct">Free buffer waits (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="latch_redo_copy_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(latch_redo_copy_time > _latch_redo_copy_time) ? 100*(latch_redo_copy_time - _latch_redo_copy_time)/service_time_fg_delta : 0"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_latch_redo_copy_pct">Latch: redo copy (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="latch_shared_pool_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(latch_shared_pool_time > _latch_shared_pool_time) ? 100*(latch_shared_pool_time - _latch_shared_pool_time)/service_time_fg_delta : 0"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_latch_shared_pool_pct">Latch: shared pool (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="log_buffer_space_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(log_buffer_space_time > _log_buffer_space_time) ? 100*(log_buffer_space_time - _log_buffer_space_time)/service_time_fg_delta : 0"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_log_buffer_space_pct">Log buffer space (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="log_file_switch_arch_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(log_file_switch_arch_time > _log_file_switch_arch_time) ? 100*(log_file_switch_arch_time - _log_file_switch_arch_time)/service_time_fg_delta : 0"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_log_file_switch_arch_pct">Log file switch (archiving needed) (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="log_file_switch_ckpt_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(log_file_switch_ckpt_time > _log_file_switch_ckpt_time) ? 100*(log_file_switch_ckpt_time - _log_file_switch_ckpt_time)/service_time_fg_delta : 0"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_log_file_switch_ckpt_pct">Log file switch (checkpoint complete) (%)</Label> <ShortName NLSID="wait_bottlenecks_log_file_switch_ckpt_pct_sht">Log file switch (ckpt complete) (%)</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="log_file_switch_complete_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(log_file_switch_complete_time > _log_file_switch_complete_time) ? 100*(log_file_switch_complete_time - _log_file_switch_complete_time)/service_time_fg_delta : 0"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_log_file_switch_complete_pct">Log file switch completion (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="log_switch_arch_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(log_switch_arch_time > _log_switch_arch_time) ? 100*(log_switch_arch_time - _log_switch_arch_time)/service_time_fg_delta : 0"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_log_switch_arch_pct">Log switch/archive (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="write_complete_waits_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(write_complete_waits_time > _write_complete_waits_time) ? 100*(write_complete_waits_time - _write_complete_waits_time)/service_time_fg_delta : 0"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_write_complete_waits_pct">Write complete waits (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="net_msg_to_client_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(net_msg_to_client_time > _net_msg_to_client_time) ? 100*(net_msg_to_client_time - _net_msg_to_client_time)/service_time_fg_delta : 0"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_net_msg_to_client_pct">SQL*Net message to client (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="net_msg_to_dblink_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(net_msg_to_dblink_time > _net_msg_to_dblink_time) ? 100*(net_msg_to_dblink_time - _net_msg_to_dblink_time)/service_time_fg_delta : 0"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_net_msg_to_dblink_pct">SQL*Net message to dblink (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="net_more_from_client_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(net_more_from_client_time > _net_more_from_client_time) ? 100*(net_more_from_client_time - _net_more_from_client_time)/service_time_fg_delta : 0"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_net_more_from_client_pct">SQL*Net more data from client (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="net_more_from_dblink_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(net_more_from_dblink_time > _net_more_from_dblink_time) ? 100*(net_more_from_dblink_time - _net_more_from_dblink_time)/service_time_fg_delta : 0"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_net_more_from_dblink_pct">SQL*Net more data from dblink (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="net_more_to_client_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(net_more_to_client_time > _net_more_to_client_time) ? 100*(net_more_to_client_time - _net_more_to_client_time)/service_time_fg_delta : 0"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_net_more_to_client_pct">SQL*Net more data to client (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="net_more_to_dblink_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(net_more_to_dblink_time > _net_more_to_dblink_time) ? 100*(net_more_to_dblink_time - _net_more_to_dblink_time)/service_time_fg_delta : 0"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_net_more_to_dblink_pct">SQL*Net more data to dblink (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="db_file_scattered_read_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(db_file_scattered_read_time > _db_file_scattered_read_time) ? 100*(db_file_scattered_read_time - _db_file_scattered_read_time)/service_time_fg_delta : 0"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_db_file_scattered_read_pct">DB file scattered read (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="db_file_sequential_read_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(db_file_sequential_read_time > _db_file_sequential_read_time) ? 100*(db_file_sequential_read_time - _db_file_sequential_read_time)/service_time_fg_delta : 0"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_db_file_sequential_read_pct">DB file sequential read (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="db_file_single_write_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(db_file_single_write_time > _db_file_single_write_time) ? 100*(db_file_single_write_time - _db_file_single_write_time)/service_time_fg_delta : 0"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_db_file_single_write_pct">DB file single write (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="direct_path_read_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(direct_path_read_time > _direct_path_read_time) ? 100*(direct_path_read_time - _direct_path_read_time)/service_time_fg_delta : 0"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_direct_path_read_pct">Direct path read (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="direct_path_read_lob_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(direct_path_read_lob_time > _direct_path_read_lob_time) ? 100*(direct_path_read_lob_time - _direct_path_read_lob_time)/service_time_fg_delta : 0"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_direct_path_read_lob_pct">Direct path read (lob) (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="direct_path_write_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(direct_path_write_time > _direct_path_write_time) ? 100*(direct_path_write_time - _direct_path_write_time)/service_time_fg_delta : 0"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_direct_path_write_pct">Direct path write (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="direct_path_write_lob_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(direct_path_write_lob_time > _direct_path_write_lob_time) ? 100*(direct_path_write_lob_time - _direct_path_write_lob_time)/service_time_fg_delta : 0"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_direct_path_write_lob_pct">Direct path write (lob) (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="latch_free_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(latch_free_time > _latch_free_time) ? 100*(latch_free_time - _latch_free_time)/service_time_fg_delta : 0"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_latch_free_pct">Latch free - other (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="enqueue_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(enqueue_time > _enqueue_time) ? 100*(enqueue_time - _enqueue_time)/service_time_fg_delta : 0"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_enqueue_pct">Enqueue - other (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="user_wait_time_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(user_wait_time > _user_wait_time) ? 100*(user_wait_time - _user_wait_time)/service_time_fg_delta : 0"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_user_wait_time_pct">Wait Time (%)</Label> <ShortName NLSID="wait_bottlenecks_user_wait_time_pct_short">Wait Time %</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="user_cpu_time_delta" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="_user_cpu_time > user_cpu_time ? (1/0) : user_cpu_time - _user_cpu_time"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_user_cpu_time_delta">CPU Time Delta (sec)</Label> <ShortName NLSID="wait_bottlenecks_user_cpu_time_delta_short">CPU (sec)</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="wait_time_delta" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP" COMPUTE_EXPR="_user_wait_time > user_wait_time ? (1/0) : user_wait_time - _user_wait_time"> <Display> <Label NLSID="wait_bottlenecks_wait_time_delta">Wait Time Delta (sec)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="userio_time_delta" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP" COMPUTE_EXPR="_userio_time > userio_time ? (1/0) : userio_time - _userio_time"> <Display> <Label NLSID="wait_bottlenecks_wait_time_delta">User I/O Wait Time Delta (sec)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="active_sessions" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="service_time_fg_delta/__interval" TRANSIENT="TRUE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_active_sessions">Active Sessions</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="userio_wait_cnt" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="userio_time_delta/__interval"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_userio_wait_cnt">Active Sessions Waiting: I/O</Label> <ShortName NLSID="wait_bottlenecks_userio_wait_cnt_short">Sessions: I/O</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="user_cpu_time_cnt" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="user_cpu_time_delta/__interval"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_user_cpu_time_cnt">Active Sessions Using CPU</Label> <ShortName NLSID="wait_bottlenecks_user_cpu_time_cnt_short">Sessions: CPU</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="other_wait_cnt" TYPE="NUMBER" COMPUTE_EXPR="active_sessions - user_cpu_time_cnt - userio_wait_cnt"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_other_wait_cnt">Active Sessions Waiting: Other</Label> <ShortName NLSID="wait_bottlenecks_other_wait_cnt_short">Sessions: Other</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="avg_user_cpu_time_pct" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(user_cpu_time_delta/(__interval*cpu_cnt)*100) > 100 ? 100 : (user_cpu_time_delta/(__interval*cpu_cnt)*100)"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_avg_user_cpu_time_pct">Average Instance CPU (%)</Label> <ShortName NLSID="wait_bottlenecks_avg_user_cpu_time_pct_short">Instance CPU (%)</ShortName> </Display> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="SQL"> <Property NAME="STATEMENT" SCOPE="GLOBAL"> <![CDATA[ DECLARE local_write_wait_time NUMBER := NULL; net_reset_to_client_time NUMBER := NULL; net_reset_to_dblink_time NUMBER := NULL; enqueue_dml_time NUMBER := NULL; enqueue_row_lock_time NUMBER := NULL; enqueue_userdef_time NUMBER := NULL; log_file_sync_time NUMBER := NULL; buffer_busy_waits_time NUMBER := NULL; latch_cache_buffer_chains_time NUMBER := NULL; latch_library_cache_time NUMBER := NULL; library_cache_load_lock_time NUMBER := NULL; library_cache_lock_time NUMBER := NULL; library_cache_pin_time NUMBER := NULL; pipe_put_time NUMBER := NULL; row_cache_lock_time NUMBER := NULL; enqueue_hw_time NUMBER := NULL; enqueue_st_time NUMBER := NULL; enqueue_alloc_itl_time NUMBER := NULL; free_buffer_waits_time NUMBER := NULL; latch_redo_copy_time NUMBER := NULL; latch_shared_pool_time NUMBER := NULL; log_buffer_space_time NUMBER := NULL; log_file_switch_arch_time NUMBER := NULL; log_file_switch_ckpt_time NUMBER := NULL; log_file_switch_complete_time NUMBER := NULL; log_switch_arch_time NUMBER := NULL; write_complete_waits_time NUMBER := NULL; net_msg_to_client_time NUMBER := NULL; net_msg_to_dblink_time NUMBER := NULL; net_more_from_client_time NUMBER := NULL; net_more_from_dblink_time NUMBER := NULL; net_more_to_client_time NUMBER := NULL; net_more_to_dblink_time NUMBER := NULL; db_file_scattered_read_time NUMBER := NULL; db_file_sequential_read_time NUMBER := NULL; db_file_single_write_time NUMBER := NULL; direct_path_read_time NUMBER := NULL; direct_path_read_lob_time NUMBER := NULL; direct_path_write_time NUMBER := NULL; direct_path_write_lob_time NUMBER := NULL; latch_free_time NUMBER := NULL; enqueue_time NUMBER := NULL; user_wait_time NUMBER := NULL; user_cpu_time NUMBER := NULL; userio_time NUMBER := NULL; cpu_cnt NUMBER := :1; timed_statistics VARCHAR2(16) := :2; TYPE userio_type IS TABLE OF VARCHAR2(64); userio userio_type := userio_type('BFILE read', 'buffer read retry', 'db file parallel read', 'db file scattered read', 'db file sequential read', 'db file single write', 'direct path read', 'direct path read (lob)', 'direct path write', 'direct path write (lob)' ); TYPE data_cursor_type IS REF CURSOR; data_cursor data_cursor_type; BEGIN IF timed_statistics = 'TRUE' THEN ---- -- initialize the time breakdown accumulators ---- user_wait_time := 0; userio_time := 0; ---- -- get CPU time (total) ---- SELECT NVL(value, 0)/100 INTO user_cpu_time FROM v$sysstat WHERE statistic# = (SELECT statistic# FROM v$statname WHERE name = 'CPU used when call started'); ---- -- get wait time (total) -- deduct idle waits and purely background waits ---- FOR event_time_pair IN (SELECT event, time_waited/100 time_waited FROM v$system_event WHERE event NOT IN ('ARCH random i/o', 'ARCH sequential i/o', 'KXFX: execution message dequeue - Slaves', 'LGWR random i/o', 'LGWR sequential i/o', 'LGWR wait for redo copy', 'Null event', 'PL/SQL lock timer', 'PX Deq Credit: need buffer', 'PX Deq: Execute Reply', 'PX Deq: Execution Msg', 'PX Deq: Index Merge Close', 'PX Deq: Index Merge Execute', 'PX Deq: Index Merge Reply', 'PX Deq: Join ACK', 'PX Deq: Msg Fragment', 'PX Deq: Par Recov Change Vector', 'PX Deq: Par Recov Execute', 'PX Deq: Par Recov Reply', 'PX Deq: Parse Reply', 'PX Deq: Table Q Normal', 'PX Deq: Table Q Sample', 'PX Deq: Txn Recovery Reply', 'PX Deq: Txn Recovery Start', 'PX Deque wait', 'PX Idle Wait', 'Queue Monitor Shutdown Wait', 'Queue Monitor Slave Wait', 'Queue Monitor Wait', 'RFS random i/o', 'RFS sequential i/o', 'RFS write', 'SQL*Net message from client', 'SQL*Net message from dblink', 'STREAMS apply coord waiting for slave message', 'STREAMS apply coord waiting for some work to finish', 'STREAMS apply slave idle wait', 'STREAMS capture process filter callback wait for ruleset', 'STREAMS fetch slave waiting for txns', 'WMON goes to sleep', 'async disk IO', 'client message', 'control file parallel write', 'control file sequential read', 'control file single write', 'db file single write', 'db file parallel write', 'dispatcher timer', 'gcs log flush sync', 'gcs remote message', 'ges reconfiguration to start', 'ges remote message', 'io done', 'jobq slave wait', 'lock manager wait for remote message', 'log file parallel write', 'log file sequential read', 'log file single write', 'parallel dequeue wait', 'parallel recovery coordinator waits for cleanup of slaves', 'parallel query dequeue', 'parallel query idle wait - Slaves', 'pipe get', 'pmon timer', 'queue messages', 'rdbms ipc message', 'recovery read', 'single-task message', 'slave wait', 'smon timer', 'statement suspended, wait error to be cleared', 'unread message', 'virtual circuit', 'virtual circuit status', 'wait for activate message', 'wait for transaction', 'wait for unread message on broadcast channel', 'wait for unread message on multiple broadcast channels', 'wakeup event for builder', 'wakeup event for preparer', 'wakeup event for reader', 'wakeup time manager')) LOOP IF event_time_pair.event = 'SQL*Net break/reset to client' THEN net_reset_to_client_time := event_time_pair.time_waited; ELSIF event_time_pair.event = 'SQL*Net break/reset to dblink' THEN net_reset_to_dblink_time := event_time_pair.time_waited; ELSIF event_time_pair.event = 'SQL*Net message to client' THEN net_msg_to_client_time := event_time_pair.time_waited; ELSIF event_time_pair.event = 'SQL*Net message to dblink' THEN net_msg_to_dblink_time := event_time_pair.time_waited; ELSIF event_time_pair.event = 'SQL*Net more data from client' THEN net_more_from_client_time := event_time_pair.time_waited; ELSIF event_time_pair.event = 'SQL*Net more data from dblink' THEN net_more_from_dblink_time := event_time_pair.time_waited; ELSIF event_time_pair.event = 'SQL*Net more data to client' THEN net_more_to_client_time := event_time_pair.time_waited; ELSIF event_time_pair.event = 'SQL*Net more data to dblink' THEN net_more_to_dblink_time := event_time_pair.time_waited; ELSIF event_time_pair.event = 'buffer busy waits' THEN buffer_busy_waits_time := event_time_pair.time_waited; ELSIF event_time_pair.event = 'db file scattered read' THEN db_file_scattered_read_time := event_time_pair.time_waited; ELSIF event_time_pair.event = 'db file sequential read' THEN db_file_sequential_read_time := event_time_pair.time_waited; ELSIF event_time_pair.event = 'db file single write' THEN db_file_single_write_time := event_time_pair.time_waited; ELSIF event_time_pair.event = 'direct path read' THEN direct_path_read_time := event_time_pair.time_waited; ELSIF event_time_pair.event = 'direct path read (lob)' THEN direct_path_read_lob_time := event_time_pair.time_waited; ELSIF event_time_pair.event = 'direct path write' THEN direct_path_write_time := event_time_pair.time_waited; ELSIF event_time_pair.event = 'direct path write (lob)' THEN direct_path_write_lob_time := event_time_pair.time_waited; ELSIF event_time_pair.event = 'enqueue: DML - contention' THEN enqueue_dml_time := event_time_pair.time_waited; ELSIF event_time_pair.event = 'enqueue: HW, Segment High Water Mark - contention' THEN enqueue_hw_time := event_time_pair.time_waited; ELSIF event_time_pair.event = 'enqueue: ST, Space Transaction - contention' THEN enqueue_st_time := event_time_pair.time_waited; ELSIF event_time_pair.event = 'enqueue: TM,TX, Transaction - row lock contention' THEN enqueue_row_lock_time := event_time_pair.time_waited; ELSIF event_time_pair.event = 'enqueue: TX mode 4, Transaction - allocate ITL entry' THEN enqueue_alloc_itl_time := event_time_pair.time_waited; ELSIF event_time_pair.event = 'enqueue: UL: User-defined - contention' THEN enqueue_userdef_time := event_time_pair.time_waited; ELSIF event_time_pair.event LIKE 'enqueue%' THEN enqueue_time := NVL(enqueue_time, 0) + event_time_pair.time_waited; ELSIF event_time_pair.event = 'free buffer waits' THEN free_buffer_waits_time := event_time_pair.time_waited; ELSIF event_time_pair.event = 'latch: cache buffers chains' THEN latch_cache_buffer_chains_time := event_time_pair.time_waited; ELSIF event_time_pair.event = 'latch: library cache' THEN latch_library_cache_time := event_time_pair.time_waited; ELSIF event_time_pair.event = 'latch: redo copy' THEN latch_redo_copy_time := event_time_pair.time_waited; ELSIF event_time_pair.event = 'latch: shared pool' THEN latch_shared_pool_time := event_time_pair.time_waited; ELSIF event_time_pair.event LIKE 'latch%' THEN latch_free_time := NVL(latch_free_time, 0) + event_time_pair.time_waited; ELSIF event_time_pair.event = 'library cache load lock' THEN library_cache_load_lock_time := event_time_pair.time_waited; ELSIF event_time_pair.event = 'library cache lock' THEN library_cache_lock_time := event_time_pair.time_waited; ELSIF event_time_pair.event = 'library cache pin' THEN library_cache_pin_time := event_time_pair.time_waited; ELSIF event_time_pair.event = 'local write wait' THEN local_write_wait_time := event_time_pair.time_waited; ELSIF event_time_pair.event = 'log buffer space' THEN log_buffer_space_time := event_time_pair.time_waited; ELSIF event_time_pair.event = 'log file switch (archiving needed)' THEN log_file_switch_arch_time := event_time_pair.time_waited; ELSIF event_time_pair.event = 'log file switch (checkpoint incomplete)' THEN log_file_switch_ckpt_time := event_time_pair.time_waited; ELSIF event_time_pair.event = 'log file switch completion' THEN log_file_switch_complete_time := event_time_pair.time_waited; ELSIF event_time_pair.event = 'log file sync' THEN log_file_sync_time := event_time_pair.time_waited; ELSIF event_time_pair.event = 'log switch/archive' THEN log_file_switch_arch_time := event_time_pair.time_waited; ELSIF event_time_pair.event = 'pipe put' THEN pipe_put_time := event_time_pair.time_waited; ELSIF event_time_pair.event = 'row cache lock' THEN row_cache_lock_time := event_time_pair.time_waited; ELSIF event_time_pair.event = 'write complete waits' THEN write_complete_waits_time := event_time_pair.time_waited; END IF; ---- -- add to the accumulated wait time ---- user_wait_time := user_wait_time + event_time_pair.time_waited; -- compute the user io wait time FOR i IN userio.FIRST .. userio.LAST LOOP IF userio(i) = event_time_pair.event THEN userio_time := userio_time + event_time_pair.time_waited; END IF; END LOOP; END LOOP; -- open the cursor to return OPEN data_cursor FOR SELECT local_write_wait_time, net_reset_to_client_time, net_reset_to_dblink_time, enqueue_dml_time, enqueue_row_lock_time, enqueue_userdef_time, log_file_sync_time, buffer_busy_waits_time, latch_cache_buffer_chains_time, latch_library_cache_time, library_cache_load_lock_time, library_cache_lock_time, library_cache_pin_time, pipe_put_time, row_cache_lock_time, enqueue_hw_time, enqueue_st_time, enqueue_alloc_itl_time, free_buffer_waits_time, latch_redo_copy_time, latch_shared_pool_time, log_buffer_space_time, log_file_switch_arch_time, log_file_switch_ckpt_time, log_file_switch_complete_time, log_switch_arch_time, write_complete_waits_time, net_msg_to_client_time, net_msg_to_dblink_time, net_more_from_client_time, net_more_from_dblink_time, net_more_to_client_time, net_more_to_dblink_time, db_file_scattered_read_time, db_file_sequential_read_time, db_file_single_write_time, direct_path_read_time, direct_path_read_lob_time, direct_path_write_time, direct_path_write_lob_time, latch_free_time, enqueue_time, user_wait_time, user_cpu_time, userio_time, cpu_cnt FROM dual; ELSE -- open the cursor to return OPEN data_cursor FOR SELECT local_write_wait_time, net_reset_to_client_time, net_reset_to_dblink_time, enqueue_dml_time, enqueue_row_lock_time, enqueue_userdef_time, log_file_sync_time, buffer_busy_waits_time, latch_cache_buffer_chains_time, latch_library_cache_time, library_cache_load_lock_time, library_cache_lock_time, library_cache_pin_time, pipe_put_time, row_cache_lock_time, enqueue_hw_time, enqueue_st_time, enqueue_alloc_itl_time, free_buffer_waits_time, latch_redo_copy_time, latch_shared_pool_time, log_buffer_space_time, log_file_switch_arch_time, log_file_switch_ckpt_time, log_file_switch_complete_time, log_switch_arch_time, write_complete_waits_time, net_msg_to_client_time, net_msg_to_dblink_time, net_more_from_client_time, net_more_from_dblink_time, net_more_to_client_time, net_more_to_dblink_time, db_file_scattered_read_time, db_file_sequential_read_time, db_file_single_write_time, direct_path_read_time, direct_path_read_lob_time, direct_path_write_time, direct_path_write_lob_time, latch_free_time, enqueue_time, user_wait_time, user_cpu_time, userio_time, cpu_cnt FROM dual WHERE 0 = 1; END IF; :3 := data_cursor; END; ]]> </Property> <Property NAME="SQLINPARAM1" SCOPE="INSTANCE">CPUCount</Property> <Property NAME="SQLINPARAM2" SCOPE="INSTANCE">TimedStatistics</Property> <Property NAME="SQLOUTPARAMPOS" SCOPE="GLOBAL">3</Property> <Property NAME="SQLOUTPARAMTYPE" SCOPE="GLOBAL">SQL_CURSOR</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE" OPTIONAL="TRUE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> </QueryDescriptor> </Metric> <!-- ====================================================================== == Category: Dump Area == Collection Level: Minimum == Purpose: Alerts, Trending ====================================================================== --> <Metric NAME="dumpFull" TYPE="TABLE"> <Display> <Label NLSID="dump">Dump Area</Label> </Display> <TableDescriptor> <ColumnDescriptor NAME="dumpType" TYPE="STRING" IS_KEY="TRUE"> <Display> <Label NLSID="dump_dumpType">Type of Dump Area</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="dumpDir" TYPE="STRING" IS_KEY="FALSE"> <Display> <Label NLSID="dump_dumpDir">Dump Area Directory</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="dumpTotal" TYPE="NUMBER" IS_KEY="FALSE"> <Display> <Label NLSID="dump_dumpTotal">Total Dump Area (KB)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="dumpUsed" TYPE="NUMBER" IS_KEY="FALSE"> <Display> <Label NLSID="dump_dumpUsed">Dump Area Used (KB)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="dumpUsedPercent" TYPE="NUMBER" IS_KEY="FALSE"> <Display> <Label NLSID="dump_dumpUsedPercent">Dump Area Used (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="dumpAvail" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="dumpTotal - dumpUsed"> <Display> <Label NLSID="dump_dumpAvail">Free Dump Area (KB)</Label> </Display> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="OSLineToken"> <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property> <Property NAME="scriptsDir" SCOPE="SYSTEMGLOBAL">scriptsDir</Property> <Property NAME="background_dump_dest" SCOPE="INSTANCE">background_dump_dest</Property> <Property NAME="core_dump_dest" SCOPE="INSTANCE">core_dump_dest</Property> <Property NAME="user_dump_dest" SCOPE="INSTANCE">user_dump_dest</Property> <Property NAME="command" SCOPE="GLOBAL"> %perlBin%/perl %scriptsDir%/db/dbdumpfull.pl %background_dump_dest% %core_dump_dest% %user_dump_dest% </Property> <Property NAME="startsWith" SCOPE="GLOBAL">em_result=</Property> <Property NAME="delimiter" SCOPE="GLOBAL">|</Property> <Property NAME="ENVEM_TARGET_NAME" SCOPE="INSTANCE">NAME</Property> <Property NAME="ENVEM_TARGET_ROLE" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="ENVEM_TARGET_ADDRESS" SCOPE="GLOBAL">(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=%MachineName%)(Port=%Port%))(CONNECT_DATA=(SID=%SID%))) </Property> <Property NAME="ENVEM_TARGET_ORACLE_HOME" SCOPE="INSTANCE">OracleHome</Property> </QueryDescriptor> </Metric> <!-- ====================================================================== == Category: Archive Area == Collection Level: Minimum == Purpose: Alerts, Trending ====================================================================== --> <Metric NAME="archFull" TYPE="TABLE"> <Display> <Label NLSID="arch">Archive Area</Label> </Display> <TableDescriptor> <ColumnDescriptor NAME="archDir" TYPE="STRING" IS_KEY="TRUE"> <Display> <Label NLSID="arch_archDir">Archive Area Destination</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="archTotal" TYPE="NUMBER" IS_KEY="FALSE"> <Display> <Label NLSID="arch_archTotal">Total Archive Area (KB)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="archUsed" TYPE="NUMBER" IS_KEY="FALSE"> <Display> <Label NLSID="arch_archUsed">Archive Area Used (KB)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="archUsedPercent" TYPE="NUMBER" IS_KEY="FALSE"> <Display> <Label NLSID="arch_archUsedPercent">Archive Area Used (%)</Label> <ShortName NLSID="arch_archUsedPercent_short">Archive Area %</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="archAvail" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="archTotal - archUsed"> <Display> <Label NLSID="arch_archAvail">Free Archive Area (KB)</Label> </Display> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="OSLineToken"> <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property> <Property NAME="scriptsDir" SCOPE="SYSTEMGLOBAL">scriptsDir</Property> <Property NAME="command" SCOPE="GLOBAL"> %perlBin%/perl %scriptsDir%/db/dbarchfull.pl </Property> <Property NAME="startsWith" SCOPE="GLOBAL">em_result=</Property> <Property NAME="delimiter" SCOPE="GLOBAL">|</Property> <Property NAME="ENVEM_TARGET_NAME" SCOPE="INSTANCE">NAME</Property> <Property NAME="STDINEM_TARGET_USERNAME" SCOPE="INSTANCE">UserName</Property> <Property NAME="STDINEM_TARGET_PASSWORD" SCOPE="INSTANCE">password</Property> <Property NAME="ENVEM_TARGET_ROLE" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="ENVEM_TARGET_ADDRESS" SCOPE="GLOBAL">(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=%MachineName%)(Port=%Port%))(CONNECT_DATA=(SID=%SID%))) </Property> <Property NAME="ENVEM_TARGET_ORACLE_HOME" SCOPE="INSTANCE">OracleHome</Property> </QueryDescriptor> </Metric> <!-- ====================================================================== == Category: Response == Collection Level: Minimum == Purpose: Alerts, Trending ====================================================================== --> <Metric NAME="Response" TYPE="TABLE"> <Display> <Label NLSID="resp">Response</Label> </Display> <TableDescriptor> <ColumnDescriptor NAME="userLogon" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="resp_userLogon">User Logon Time (msec)</Label> <ShortName NLSID="resp_userLogon_short">Logon Time(ms)</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="Status" TYPE="NUMBER" IS_KEY="FALSE"> <Display> <Label NLSID="resp_status">Status</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="State" TYPE="STRING" IS_KEY="FALSE"> <Display> <Label NLSID="resp_state">State</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="oraerr" TYPE="STRING" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="resp_oraerr">ORA- Error</Label> </Display> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="OSLineToken"> <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property> <Property NAME="scriptsDir" SCOPE="SYSTEMGLOBAL">scriptsDir</Property> <Property NAME="command" SCOPE="GLOBAL"> %perlBin%/perl %scriptsDir%/db/dbresp.pl </Property> <Property NAME="startsWith" SCOPE="GLOBAL">em_result=</Property> <Property NAME="delimiter" SCOPE="GLOBAL">|</Property> <Property NAME="ENVEM_TARGET_NAME" SCOPE="INSTANCE">NAME</Property> <Property NAME="STDINEM_TARGET_USERNAME" SCOPE="INSTANCE">UserName</Property> <Property NAME="STDINEM_TARGET_PASSWORD" SCOPE="INSTANCE">password</Property> <Property NAME="ENVEM_TARGET_ROLE" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="ENVEM_TARGET_ORACLE_HOME" SCOPE="INSTANCE">OracleHome</Property> <Property NAME="ENVEM_TARGET_ADDRESS" SCOPE="GLOBAL">(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=%MachineName%)(Port=%Port%))(CONNECT_DATA=(SID=%SID%))) </Property> </QueryDescriptor> </Metric> <!-- ====================================================================== == Category: Database Limits == Collection Level: Minimum == Purpose: Alerts, Trending ====================================================================== --> <Metric NAME="Database_Resource_Usage" TYPE="TABLE"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="pre8;8i;8iR2;9i;9iR2"/> </ValidIf> <Display> <Label NLSID="resource_usage">Database Limits</Label> </Display> <TableDescriptor> <ColumnDescriptor NAME="lock_usage" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="lock_usage_name">Lock Limit Usage (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="process_usage" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="process_usage">Process Limit Usage (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="session_usage" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="session_usage">Session Limit Usage (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="user_limit" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="user_limit">User Limit Usage (%)</Label> </Display> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="SQL"> <Property NAME="transpose" SCOPE="GLOBAL">TRUE</Property> <Property NAME="STATEMENT" SCOPE="GLOBAL"><![CDATA[ SELECT usage FROM (select RESOURCE_NAME name, 100*DECODE(initial_allocation,' UNLIMITED',0, current_utilization / initial_allocation) usage from v$resource_limit where LTRIM(limit_value) != '0' and LTRIM(initial_allocation) != '0' and resource_name in ('dml_locks', 'processes', 'sessions') union all select 'user' name ,100* DECODE(sessions_max,0,0,sessions_current/sessions_max) usage from v$license ) order by name ]]></Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> </QueryDescriptor> </Metric> <!-- ====================================================================== == Category: Alert Log == Collection Level: Minimum == Purpose: Alerts ====================================================================== --> <Metric NAME="alertLog" TYPE="TABLE"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="pre8;8i;8iR2;9i;9iR2;10gR1;10gR2;10gR203"/> </ValidIf> <Display> <Label NLSID="alertLog">Alert Log</Label> </Display> <TableDescriptor> <ColumnDescriptor NAME="alertTime" TYPE="STRING" IS_TIMESTAMP="TRUE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="alert_time">Alert Time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="timeLine" TYPE="STRING" IS_KEY="TRUE"> <Display> <Label NLSID="alertLog_timeLine">Time/Line Number</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="genericErrStack" TYPE="STRING" STATELESS_ALERTS="TRUE"> <Display> <Label NLSID="alertLog_genericErrStack">Generic Alert Log Error</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="archiveHungErrStack" TYPE="STRING" STATELESS_ALERTS="TRUE"> <Display> <Label NLSID="alertLog_archiveHungErrStack">Archiver Hung Alert Log Error</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="blockCorruptErrStack" TYPE="STRING" STATELESS_ALERTS="TRUE"> <Display> <Label NLSID="alertLog_blockCorruptErrStack">Data Block Corruption Alert Log Error</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="sessTerminateErrStack" TYPE="STRING" STATELESS_ALERTS="TRUE"> <Display> <Label NLSID="alertLog_sessTerminateErrStack">Session Terminated Alert Log Error</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="mediaFailureErrStack" TYPE="STRING" STATELESS_ALERTS="TRUE"> <Display> <Label NLSID="alertLog_mediaFailureErrStack">Media Failure Alert Log Error</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="traceFileName" TYPE="STRING" IS_KEY="FALSE"> <Display> <Label NLSID="alertLog_traceFileName">Alert Log Error Trace File</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="errCodes" TYPE="STRING" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="alertLog_errCodes">Witnessed Error Codes</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="alertLogName" TYPE="STRING" IS_KEY="FALSE"> <Display> <Label NLSID="alertLog_fileName">Alert Log Name</Label> </Display> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="OSLineToken"> <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property> <Property NAME="scriptsDir" SCOPE="SYSTEMGLOBAL">scriptsDir</Property> <Property NAME="startsWith" SCOPE="GLOBAL">em_result=</Property> <Property NAME="delimiter" SCOPE="GLOBAL">|</Property> <Property NAME="log_file_absolute" SCOPE="INSTANCE">alert_log_file</Property> <Property NAME="log_timestamp_format" SCOPE="GLOBAL"><![CDATA[(\w+) (\w+)( | )31 023:059:059 02037]]></Property> <Property NAME="background_dump_dest" SCOPE="INSTANCE">background_dump_dest</Property> <Property NAME="user_dump_dest" SCOPE="INSTANCE">user_dump_dest</Property> <Property NAME="limitSwitch" SCOPE="USER">limitSwitch</Property> <Property NAME="ignorePattern" SCOPE="USER" OPTIONAL="TRUE">ignorePattern</Property> <Property NAME="command" SCOPE="GLOBAL"> %perlBin%/perl %scriptsDir%/alertlog.pl %log_file_absolute% '%log_timestamp_format%' 'ORA' %background_dump_dest% %user_dump_dest% %limitSwitch% %ignorePattern% </Property> <Property NAME="ConvertFromCharset" SCOPE="INSTANCE" OPTIONAL="TRUE">ConvertFromCharset</Property> <Property NAME="needCharsetConvert" SCOPE="INSTANCE" OPTIONAL="TRUE">needCharsetConvert</Property> <Property NAME="ENVEM_TARGET_GUID" SCOPE="INSTANCE">GUID</Property> <Property NAME="ENVEM_TARGET_ORACLE_HOME" SCOPE="INSTANCE">OracleHome</Property> <Property NAME="ENVEM_TARGET_ORACLE_SID" SCOPE="INSTANCE">SID</Property> <Property NAME="ENVEM_AGENT_STATE_DIR" SCOPE="SYSTEMGLOBAL">agentStateDir</Property> <Property NAME="ENVEM_ALERTLOG_ERROR_TYPES" SCOPE="GLOBAL">4</Property> <Property NAME="ENVEM_ALERTLOG_ERROR_TYPE1" SCOPE="GLOBAL">00257,16038</Property> <Property NAME="ENVEM_ALERTLOG_ERROR_TYPE2" SCOPE="GLOBAL">01157,01578,27048</Property> <Property NAME="ENVEM_ALERTLOG_ERROR_TYPE3" SCOPE="GLOBAL">00603</Property> <Property NAME="ENVEM_ALERTLOG_ERROR_TYPE4" SCOPE="GLOBAL">01242,01243</Property> </QueryDescriptor> </Metric> <!-- ====================================================================== == Category: Alert Log Status == Collection Level: Minimum == Purpose: Alerts ====================================================================== --> <Metric NAME="alertLogStatus" TYPE="TABLE"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="pre8;8i;8iR2;9i;9iR2;10gR1;10gR2;10gR203"/> </ValidIf> <Display> <Label NLSID="alertLogStatus">Alert Log Error Status</Label> </Display> <TableDescriptor> <ColumnDescriptor NAME="genericErrors" TYPE="NUMBER"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="alertLogStatus_genericErrors">Generic Alert Log Error Status</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="archiveHungErrors" TYPE="NUMBER"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="alertLogStatus_archiveHungErrors">Archiver Hung Alert Log Error Status</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="blockCorruptErrors" TYPE="NUMBER"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="alertLogStatus_blockCorruptErrors">Data Block Corruption Alert Log Error Status</Label> <ShortName NLSID="alertLogStatus_blockCorruptErrors_sht">Data Block Corruption Error Status</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="sessTerminateErrors" TYPE="NUMBER"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="alertLogStatus_sessTerminateErrors">Session Terminated Alert Log Error Status</Label> <ShortName NLSID="alertLogStatus_sessTerminateErrors_sht">Session Terminated Error Status</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="mediaFailureErrors" TYPE="NUMBER"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="alertLogStatus_mediaFailureErrors">Media Failure Alert Log Error Status</Label> <ShortName NLSID="alertLogStatus_mediaFailureErrors_sht">Media Failure Error Status</ShortName> </Display> </ColumnDescriptor> </TableDescriptor> <ExecutionDescriptor> <GetTable NAME="alert_log_errors" METRIC_NAME="alertLog" USE_CACHE="TRUE"/> <GetView NAME="generic_alert_log_errors" FROM_TABLE="alert_log_errors"> <Column NAME="genericErrStack"/> <Filter COLUMN_NAME="genericErrStack" OPERATOR="ISNOTNULL"/> </GetView> <GroupBy NAME="generic_alert_log_rollup" FROM_TABLE="generic_alert_log_errors"> <AggregateColumn NAME="genericErrors" COLUMN_NAME="genericErrStack" OPERATOR="COUNT"/> </GroupBy> <GetView NAME="archive_hung_alert_log_errors" FROM_TABLE="alert_log_errors"> <Column NAME="archiveHungErrStack"/> <Filter COLUMN_NAME="archiveHungErrStack" OPERATOR="ISNOTNULL"/> </GetView> <GroupBy NAME="archive_hung_alert_log_rollup" FROM_TABLE="archive_hung_alert_log_errors"> <AggregateColumn NAME="archiveHungErrors" COLUMN_NAME="archiveHungErrStack" OPERATOR="COUNT"/> </GroupBy> <GetView NAME="block_corrupt_alert_log_errors" FROM_TABLE="alert_log_errors"> <Column NAME="blockCorruptErrStack"/> <Filter COLUMN_NAME="blockCorruptErrStack" OPERATOR="ISNOTNULL"/> </GetView> <GroupBy NAME="block_corrupt_alert_log_rollup" FROM_TABLE="block_corrupt_alert_log_errors"> <AggregateColumn NAME="blockCorruptErrors" COLUMN_NAME="blockCorruptErrStack" OPERATOR="COUNT"/> </GroupBy> <GetView NAME="sess_terminate_alert_log_errors" FROM_TABLE="alert_log_errors"> <Column NAME="sessTerminateErrStack"/> <Filter COLUMN_NAME="sessTerminateErrStack" OPERATOR="ISNOTNULL"/> </GetView> <GroupBy NAME="sess_terminate_alert_log_rollup" FROM_TABLE="sess_terminate_alert_log_errors"> <AggregateColumn NAME="sessTerminateErrors" COLUMN_NAME="sessTerminateErrStack" OPERATOR="COUNT"/> </GroupBy> <GetView NAME="media_failure_alert_log_errors" FROM_TABLE="alert_log_errors"> <Column NAME="mediaFailureErrStack"/> <Filter COLUMN_NAME="mediaFailureErrStack" OPERATOR="ISNOTNULL"/> </GetView> <GroupBy NAME="media_failure_alert_log_rollup" FROM_TABLE="media_failure_alert_log_errors"> <AggregateColumn NAME="mediaFailureErrors" COLUMN_NAME="mediaFailureErrStack" OPERATOR="COUNT"/> </GroupBy> <JoinTables NAME="alertLogStatus"> <Table NAME="generic_alert_log_rollup"/> <Table NAME="archive_hung_alert_log_rollup"/> <Table NAME="block_corrupt_alert_log_rollup"/> <Table NAME="sess_terminate_alert_log_rollup"/> <Table NAME="media_failure_alert_log_rollup"/> </JoinTables> </ExecutionDescriptor> </Metric> <!-- ====================================================================== == Category: ADR Alert Log Error == Collection Level: Minimum == Purpose: Alerts ====================================================================== --> <Metric NAME="adrAlertLogError" TYPE="TABLE" USAGE_TYPE="HIDDEN_COLLECT" HELP="NO_HELP"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="11gR1;11gR2"/> </ValidIf> <TableDescriptor> <ColumnDescriptor NAME="timeLine" TYPE="STRING" IS_KEY="TRUE"/> <ColumnDescriptor NAME="errorCategory" TYPE="STRING" IS_KEY="FALSE"/> <!-- incident errors --> <ColumnDescriptor NAME="genericInternalErrStack" TYPE="STRING" IS_KEY="FALSE"/> <ColumnDescriptor NAME="sessTerminateErrStack" TYPE="STRING" IS_KEY="FALSE"/> <ColumnDescriptor NAME="internalSqlErrStack" TYPE="STRING" IS_KEY="FALSE"/> <ColumnDescriptor NAME="accessViolationErrStack" TYPE="STRING" IS_KEY="FALSE"/> <ColumnDescriptor NAME="redoLogCorruptErrStack" TYPE="STRING" IS_KEY="FALSE"/> <ColumnDescriptor NAME="fileAccessErrStack" TYPE="STRING" IS_KEY="FALSE"/> <ColumnDescriptor NAME="inconsistentDbStateErrStack" TYPE="STRING" IS_KEY="FALSE"/> <ColumnDescriptor NAME="oraBlockCorruptErrStack" TYPE="STRING" IS_KEY="FALSE"/> <ColumnDescriptor NAME="deadlockErrStack" TYPE="STRING" IS_KEY="FALSE"/> <ColumnDescriptor NAME="outOfMemoryErrStack" TYPE="STRING" IS_KEY="FALSE"/> <ColumnDescriptor NAME="clusterErrStack" TYPE="STRING" IS_KEY="FALSE"/> <!-- catch-all errors should be the last of the group --> <ColumnDescriptor NAME="genericIncidentErrStack" TYPE="STRING" IS_KEY="FALSE"/> <!-- data Failures --> <ColumnDescriptor NAME="dataFailureErrStack" TYPE="STRING" IS_KEY="FALSE"/> <!-- operational errors --> <ColumnDescriptor NAME="archiveHungErrStack" TYPE="STRING" IS_KEY="FALSE"/> <ColumnDescriptor NAME="blockCorruptErrStack" TYPE="STRING" IS_KEY="FALSE"/> <ColumnDescriptor NAME="mediaFailureErrStack" TYPE="STRING" IS_KEY="FALSE"/> <!-- catch-all errors should be the last of the group --> <ColumnDescriptor NAME="genericOperationalErrStack" TYPE="STRING" IS_KEY="FALSE"/> <ColumnDescriptor NAME="traceFileName" TYPE="STRING" IS_KEY="FALSE"/> <ColumnDescriptor NAME="errCodes" TYPE="STRING" IS_KEY="FALSE"/> <ColumnDescriptor NAME="alertLogName" TYPE="STRING" IS_KEY="FALSE"/> <ColumnDescriptor NAME="impact" TYPE="STRING" IS_KEY="FALSE"/> <ColumnDescriptor NAME="incidentId" TYPE="STRING" IS_KEY="FALSE"/> <ColumnDescriptor NAME="numberOfFailures" TYPE="STRING" IS_KEY="FALSE"/> </TableDescriptor> <QueryDescriptor FETCHLET_ID="OSLineToken"> <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property> <Property NAME="scriptsDir" SCOPE="SYSTEMGLOBAL">scriptsDir</Property> <Property NAME="startsWith" SCOPE="GLOBAL">em_result=</Property> <Property NAME="delimiter" SCOPE="GLOBAL">|</Property> <Property NAME="AdrHome" SCOPE="INSTANCE">AdrHome</Property> <Property NAME="limitSwitch" SCOPE="USER">limitSwitch</Property> <Property NAME="command" SCOPE="GLOBAL"> %perlBin%/perl %scriptsDir%/alertlogAdr.pl %AdrHome% %limitSwitch% </Property> <Property NAME="ConvertFromCharset" SCOPE="INSTANCE">ConvertFromCharset</Property> <Property NAME="needCharsetConvert" SCOPE="INSTANCE">needCharsetConvert</Property> <Property NAME="ENVEM_TARGET_GUID" SCOPE="INSTANCE">GUID</Property> <Property NAME="ENVEM_AGENT_STATE_DIR" SCOPE="SYSTEMGLOBAL">agentStateDir</Property> <Property NAME="ENVEM_ALERTLOG_ERROR_TYPES" SCOPE="GLOBAL">17</Property> <!-- error category, match patterns, ... --> <Property NAME="ENVEM_ALERTLOG_ERROR_TYPE1" SCOPE="GLOBAL"><![CDATA[incident,type=["']INCIDENT_ERROR["'],group=["']Generic Internal Error["']]]></Property> <Property NAME="ENVEM_ALERTLOG_ERROR_TYPE2" SCOPE="GLOBAL"><![CDATA[incident,type=["']INCIDENT_ERROR["'],group=["']Session Terminated["']]]></Property> <Property NAME="ENVEM_ALERTLOG_ERROR_TYPE3" SCOPE="GLOBAL"><![CDATA[incident,type=["']INCIDENT_ERROR["'],group=["']Internal SQL Error["']]]></Property> <Property NAME="ENVEM_ALERTLOG_ERROR_TYPE4" SCOPE="GLOBAL"><![CDATA[incident,type=["']INCIDENT_ERROR["'],group=["']Access Violation["']]]></Property> <Property NAME="ENVEM_ALERTLOG_ERROR_TYPE5" SCOPE="GLOBAL"><![CDATA[incident,type=["']INCIDENT_ERROR["'],group=["']Redo Log Corruption["']]]></Property> <Property NAME="ENVEM_ALERTLOG_ERROR_TYPE6" SCOPE="GLOBAL"><![CDATA[incident,type=["']INCIDENT_ERROR["'],group=["']File Access Error["']]]></Property> <Property NAME="ENVEM_ALERTLOG_ERROR_TYPE7" SCOPE="GLOBAL"><![CDATA[incident,type=["']INCIDENT_ERROR["'],group=["']Inconsistent DB State["']]]></Property> <Property NAME="ENVEM_ALERTLOG_ERROR_TYPE8" SCOPE="GLOBAL"><![CDATA[incident,type=["']INCIDENT_ERROR["'],group=["']Data Block Corruption["']]]></Property> <Property NAME="ENVEM_ALERTLOG_ERROR_TYPE9" SCOPE="GLOBAL"><![CDATA[incident,type=["']INCIDENT_ERROR["'],group=["']Deadlock["']]]></Property> <Property NAME="ENVEM_ALERTLOG_ERROR_TYPE10" SCOPE="GLOBAL"><![CDATA[incident,type=["']INCIDENT_ERROR["'],group=["']Out of Memory["']]]></Property> <Property NAME="ENVEM_ALERTLOG_ERROR_TYPE11" SCOPE="GLOBAL"><![CDATA[incident,type=["']INCIDENT_ERROR["'],group=["']Cluster Error["']]]></Property> <Property NAME="ENVEM_ALERTLOG_ERROR_TYPE12" SCOPE="GLOBAL"><![CDATA[incident,level=["'][12]["'],type=["']INCIDENT_ERROR["']]]></Property> <Property NAME="ENVEM_ALERTLOG_ERROR_TYPE13" SCOPE="GLOBAL"><![CDATA[dataFailure,type=["']ERROR["'],group=["']DRA["']]]></Property> <Property NAME="ENVEM_ALERTLOG_ERROR_TYPE14" SCOPE="GLOBAL"><![CDATA[operational,type=["']ERROR["'],group=["']Archiver Hung["']]]></Property> <Property NAME="ENVEM_ALERTLOG_ERROR_TYPE15" SCOPE="GLOBAL"><![CDATA[operational,type=["']ERROR["'],group=["']Data Block Corruption["']]]></Property> <Property NAME="ENVEM_ALERTLOG_ERROR_TYPE16" SCOPE="GLOBAL"><![CDATA[operational,type=["']ERROR["'],group=["']Media Failure["']]]></Property> <Property NAME="ENVEM_ALERTLOG_ERROR_TYPE17" SCOPE="GLOBAL"><![CDATA[operational,level=["'][12]["'],type=["']ERROR["']]]></Property> </QueryDescriptor> </Metric> <!-- ====================================================================== == Category: ADR Alert Log Incident Error == Collection Level: Minimum == Purpose: Alerts ====================================================================== --> <Metric NAME="adrAlertLogIncidentError" TYPE="TABLE"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="11gR1;11gR2"/> </ValidIf> <Display> <Label NLSID="adrAlertLogIncidentError">Incident</Label> </Display> <TableDescriptor> <ColumnDescriptor NAME="timeLine" TYPE="STRING" IS_KEY="TRUE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="adrAlertLog_timeLine">Time/Line Number</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="genericIncidentErrStack" TYPE="STRING" STATELESS_ALERTS="TRUE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="adrAlertLog_genericIncidentErrStack">Generic Incident</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="genericInternalErrStack" TYPE="STRING" STATELESS_ALERTS="TRUE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="adrAlertLog_genericInternalErrStack">Generic Internal Error</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="sessTerminateErrStack" TYPE="STRING" STATELESS_ALERTS="TRUE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="adrAlertLog_sessTerminateErrStack">Session Terminated</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="internalSqlErrStack" TYPE="STRING" STATELESS_ALERTS="TRUE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="adrAlertLog_internalSqlErrStack">Internal SQL Error</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="accessViolationErrStack" TYPE="STRING" STATELESS_ALERTS="TRUE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="adrAlertLog_accessViolationErrStack">Access Violation</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="redoLogCorruptErrStack" TYPE="STRING" STATELESS_ALERTS="TRUE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="adrAlertLog_redoLogCorruptErrStack">Redo Log Corruption</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="fileAccessErrStack" TYPE="STRING" STATELESS_ALERTS="TRUE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="adrAlertLog_fileAccessErrStack">File Access Error</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="inconsistentDbStateErrStack" TYPE="STRING" STATELESS_ALERTS="TRUE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="adrAlertLog_inconsistentDbStateErrStack">Inconsistent DB State</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="oraBlockCorruptErrStack" TYPE="STRING" STATELESS_ALERTS="TRUE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="adrAlertLog_oraBlockCorruptErrStack">Oracle Data Block Corruption</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="deadlockErrStack" TYPE="STRING" STATELESS_ALERTS="TRUE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="adrAlertLog_deadlockErrStack">Deadlock</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="outOfMemoryErrStack" TYPE="STRING" STATELESS_ALERTS="TRUE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="adrAlertLog_outOfMemoryErrStack">Out of Memory</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="clusterErrStack" TYPE="STRING" STATELESS_ALERTS="TRUE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="adrAlertLog_clusterErrStack">Cluster Error</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="traceFileName" TYPE="STRING" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="adrAlertLog_traceFileName">Alert Log Error Trace File</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="errCodes" TYPE="STRING" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="adrAlertLog_errCodes">Witnessed Error Codes</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="alertLogName" TYPE="STRING" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="adrAlertLog_fileName">Alert Log Name</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="impact" TYPE="STRING" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="adrAlertLog_impact">Impact</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="incidentId" TYPE="STRING" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="adrAlertLog_incidentId">Incident ID</Label> </Display> </ColumnDescriptor> </TableDescriptor> <ExecutionDescriptor> <GetTable NAME="alert_log_errors" METRIC_NAME="adrAlertLogError" USE_CACHE="TRUE"/> <GetView NAME="alert_log_incident_errors" FROM_TABLE="alert_log_errors"> <Filter COLUMN_NAME="errorCategory" OPERATOR="EQ">incident</Filter> </GetView> <GetView NAME="alert_log_incident_errors_1" FROM_TABLE="alert_log_incident_errors"> <Column NAME="timeLine"/> <Column NAME="genericIncidentErrStack"/> <Column NAME="genericInternalErrStack"/> <Column NAME="sessTerminateErrStack"/> <Column NAME="internalSqlErrStack"/> <Column NAME="accessViolationErrStack"/> <Column NAME="redoLogCorruptErrStack"/> <Column NAME="fileAccessErrStack"/> <Column NAME="inconsistentDbStateErrStack"/> <Column NAME="oraBlockCorruptErrStack"/> <Column NAME="deadlockErrStack"/> <Column NAME="outOfMemoryErrStack"/> <Column NAME="clusterErrStack"/> <Column NAME="traceFileName"/> <Column NAME="errCodes"/> <Column NAME="alertLogName"/> <Column NAME="impact"/> <Column NAME="incidentId"/> </GetView> </ExecutionDescriptor> </Metric> <!-- ====================================================================== == Category: ADR Alert Log Operational Error == Collection Level: Minimum == Purpose: Alerts ====================================================================== --> <Metric NAME="adrAlertLogOperationalError" TYPE="TABLE"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="11gR1;11gR2"/> </ValidIf> <Display> <Label NLSID="adrAlertLogOperationalError">Operational Error</Label> </Display> <TableDescriptor> <ColumnDescriptor NAME="timeLine" TYPE="STRING" IS_KEY="TRUE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="adrAlertLog_timeLine">Time/Line Number</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="genericOperationalErrStack" TYPE="STRING" STATELESS_ALERTS="TRUE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="adrAlertLog_genericOperationalErrStack">Generic Operational Error</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="archiveHungErrStack" TYPE="STRING" STATELESS_ALERTS="TRUE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="adrAlertLog_archiveHungErrStack">Archiver Hung</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="blockCorruptErrStack" TYPE="STRING" STATELESS_ALERTS="TRUE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="adrAlertLog_blockCorruptErrStack">Data Block Corruption</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="mediaFailureErrStack" TYPE="STRING" STATELESS_ALERTS="TRUE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="adrAlertLog_mediaFailureErrStack">Media Failure</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="traceFileName" TYPE="STRING" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="adrAlertLog_traceFileName">Alert Log Error Trace File</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="errCodes" TYPE="STRING" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="adrAlertLog_errCodes">Witnessed Error Codes</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="alertLogName" TYPE="STRING" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="adrAlertLog_fileName">Alert Log Name</Label> </Display> </ColumnDescriptor> </TableDescriptor> <ExecutionDescriptor> <GetTable NAME="alert_log_errors" METRIC_NAME="adrAlertLogError" USE_CACHE="TRUE"/> <GetView NAME="alert_log_operational_errors" FROM_TABLE="alert_log_errors"> <Filter COLUMN_NAME="errorCategory" OPERATOR="EQ">operational</Filter> </GetView> <GetView NAME="alert_log_operational_errors_1" FROM_TABLE="alert_log_operational_errors"> <Column NAME="timeLine"/> <Column NAME="genericOperationalErrStack"/> <Column NAME="archiveHungErrStack"/> <Column NAME="blockCorruptErrStack"/> <Column NAME="mediaFailureErrStack"/> <Column NAME="traceFileName"/> <Column NAME="errCodes"/> <Column NAME="alertLogName"/> </GetView> </ExecutionDescriptor> </Metric> <!-- ====================================================================== == Category: ADR Alert Log Data Failure == Collection Level: Minimum == Purpose: Alerts ====================================================================== --> <Metric NAME="adrAlertLogDataFailure" TYPE="TABLE"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="11gR1;11gR2"/> </ValidIf> <Display> <Label NLSID="adrAlertLogDataFailure">Data Failure</Label> </Display> <TableDescriptor> <ColumnDescriptor NAME="timeLine" TYPE="STRING" IS_KEY="TRUE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="adrAlertLog_timeLine">Time/Line Number</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="dataFailureErrStack" TYPE="STRING" STATELESS_ALERTS="TRUE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="adrAlertLog_dataFailureErrStack">Data Failure Detected</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="numberOfFailures" TYPE="STRING" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="adrAlertLog_numberOfFailures">Number of Failures</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="alertLogName" TYPE="STRING" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="adrAlertLog_fileName">Alert Log Name</Label> </Display> </ColumnDescriptor> </TableDescriptor> <ExecutionDescriptor> <GetTable NAME="alert_log_errors" METRIC_NAME="adrAlertLogError" USE_CACHE="TRUE"/> <GetView NAME="alert_log_data_failures" FROM_TABLE="alert_log_errors"> <Filter COLUMN_NAME="errorCategory" OPERATOR="EQ">dataFailure</Filter> </GetView> <GetView NAME="alert_log_data_failures_1" FROM_TABLE="alert_log_data_failures"> <Column NAME="timeLine"/> <Column NAME="dataFailureErrStack"/> <Column NAME="numberOfFailures"/> <Column NAME="alertLogName"/> </GetView> </ExecutionDescriptor> </Metric> <!-- ====================================================================== == Category: ADR Alert Log Incident Error Status == Collection Level: Minimum == Purpose: Alerts ====================================================================== --> <Metric NAME="adrAlertLogIncidentErrorStatus" TYPE="TABLE"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="11gR1;11gR2"/> </ValidIf> <Display> <Label NLSID="adrAlertLogIncidentErrorStatus">Incident Status</Label> </Display> <TableDescriptor> <ColumnDescriptor NAME="genericIncidentErrors" TYPE="NUMBER"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="adrAlertLogStatus_genericIncidentErrors">Generic Incident Status</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="genericInternalErrors" TYPE="NUMBER"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="adrAlertLogStatus_genericInternalErrors">Generic Internal Error Status</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="sessTerminateErrors" TYPE="NUMBER"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="adrAlertLogStatus_sessTerminateErrors">Session Terminated Status</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="internalSqlErrors" TYPE="NUMBER"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="adrAlertLogStatus_internalSqlErrors">Internal SQL Error Status</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="accessViolationErrors" TYPE="NUMBER"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="adrAlertLogStatus_accessViolationErrors">Access Violation Status</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="redoLogCorruptErrors" TYPE="NUMBER"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="adrAlertLogStatus_redoLogCorruptErrors">Redo Log Corruption Status</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="fileAccessErrors" TYPE="NUMBER"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="adrAlertLogStatus_fileAccessErrors">File Access Error Status</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="inconsistentDbStateErrors" TYPE="NUMBER"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="adrAlertLogStatus_inconsistentDbStateErrors">Inconsistent DB State Status</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="oraBlockCorruptErrors" TYPE="NUMBER"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="adrAlertLogStatus_oraBlockCorruptErrors">Oracle Data Block Corruption Status</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="deadlockErrors" TYPE="NUMBER"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="adrAlertLogStatus_deadlockErrors">Deadlock Status</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="outOfMemoryErrors" TYPE="NUMBER"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="adrAlertLogStatus_outOfMemoryErrors">Out of Memory Status</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="clusterErrors" TYPE="NUMBER"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="adrAlertLogStatus_clusterErrors">Cluster Error Status</Label> </Display> </ColumnDescriptor> </TableDescriptor> <ExecutionDescriptor> <GetTable NAME="alert_log_errors" METRIC_NAME="adrAlertLogIncidentError" USE_CACHE="TRUE"/> <GetView NAME="generic_incident_alert_log_errors" FROM_TABLE="alert_log_errors"> <Column NAME="genericIncidentErrStack"/> <Filter COLUMN_NAME="genericIncidentErrStack" OPERATOR="ISNOTNULL"/> </GetView> <GroupBy NAME="generic_incident_alert_log_rollup" FROM_TABLE="generic_incident_alert_log_errors"> <AggregateColumn NAME="genericIncidentErrors" COLUMN_NAME="genericIncidentErrStack" OPERATOR="COUNT"/> </GroupBy> <GetView NAME="generic_internal_alert_log_errors" FROM_TABLE="alert_log_errors"> <Column NAME="genericInternalErrStack"/> <Filter COLUMN_NAME="genericInternalErrStack" OPERATOR="ISNOTNULL"/> </GetView> <GroupBy NAME="generic_internal_alert_log_rollup" FROM_TABLE="generic_internal_alert_log_errors"> <AggregateColumn NAME="genericInternalErrors" COLUMN_NAME="genericInternalErrStack" OPERATOR="COUNT"/> </GroupBy> <GetView NAME="sess_terminate_alert_log_errors" FROM_TABLE="alert_log_errors"> <Column NAME="sessTerminateErrStack"/> <Filter COLUMN_NAME="sessTerminateErrStack" OPERATOR="ISNOTNULL"/> </GetView> <GroupBy NAME="sess_terminate_alert_log_rollup" FROM_TABLE="sess_terminate_alert_log_errors"> <AggregateColumn NAME="sessTerminateErrors" COLUMN_NAME="sessTerminateErrStack" OPERATOR="COUNT"/> </GroupBy> <GetView NAME="internal_sql_alert_log_errors" FROM_TABLE="alert_log_errors"> <Column NAME="internalSqlErrStack"/> <Filter COLUMN_NAME="internalSqlErrStack" OPERATOR="ISNOTNULL"/> </GetView> <GroupBy NAME="internal_sql_alert_log_rollup" FROM_TABLE="internal_sql_alert_log_errors"> <AggregateColumn NAME="internalSqlErrors" COLUMN_NAME="internalSqlErrStack" OPERATOR="COUNT"/> </GroupBy> <GetView NAME="access_violation_alert_log_errors" FROM_TABLE="alert_log_errors"> <Column NAME="accessViolationErrStack"/> <Filter COLUMN_NAME="accessViolationErrStack" OPERATOR="ISNOTNULL"/> </GetView> <GroupBy NAME="access_violation_alert_log_rollup" FROM_TABLE="access_violation_alert_log_errors"> <AggregateColumn NAME="accessViolationErrors" COLUMN_NAME="accessViolationErrStack" OPERATOR="COUNT"/> </GroupBy> <GetView NAME="redo_log_corrupt_alert_log_errors" FROM_TABLE="alert_log_errors"> <Column NAME="redoLogCorruptErrStack"/> <Filter COLUMN_NAME="redoLogCorruptErrStack" OPERATOR="ISNOTNULL"/> </GetView> <GroupBy NAME="redo_log_corrupt_alert_log_rollup" FROM_TABLE="redo_log_corrupt_alert_log_errors"> <AggregateColumn NAME="redoLogCorruptErrors" COLUMN_NAME="redoLogCorruptErrStack" OPERATOR="COUNT"/> </GroupBy> <GetView NAME="file_access_alert_log_errors" FROM_TABLE="alert_log_errors"> <Column NAME="fileAccessErrStack"/> <Filter COLUMN_NAME="fileAccessErrStack" OPERATOR="ISNOTNULL"/> </GetView> <GroupBy NAME="file_access_alert_log_rollup" FROM_TABLE="file_access_alert_log_errors"> <AggregateColumn NAME="fileAccessErrors" COLUMN_NAME="fileAccessErrStack" OPERATOR="COUNT"/> </GroupBy> <GetView NAME="inconsistent_db_state_alert_log_errors" FROM_TABLE="alert_log_errors"> <Column NAME="inconsistentDbStateErrStack"/> <Filter COLUMN_NAME="inconsistentDbStateErrStack" OPERATOR="ISNOTNULL"/> </GetView> <GroupBy NAME="inconsistent_db_state_alert_log_rollup" FROM_TABLE="inconsistent_db_state_alert_log_errors"> <AggregateColumn NAME="inconsistentDbStateErrors" COLUMN_NAME="inconsistentDbStateErrStack" OPERATOR="COUNT"/> </GroupBy> <GetView NAME="ora_block_corrupt_alert_log_errors" FROM_TABLE="alert_log_errors"> <Column NAME="oraBlockCorruptErrStack"/> <Filter COLUMN_NAME="oraBlockCorruptErrStack" OPERATOR="ISNOTNULL"/> </GetView> <GroupBy NAME="ora_block_corrupt_alert_log_rollup" FROM_TABLE="ora_block_corrupt_alert_log_errors"> <AggregateColumn NAME="oraBlockCorruptErrors" COLUMN_NAME="oraBlockCorruptErrStack" OPERATOR="COUNT"/> </GroupBy> <GetView NAME="deadlock_alert_log_errors" FROM_TABLE="alert_log_errors"> <Column NAME="deadlockErrStack"/> <Filter COLUMN_NAME="deadlockErrStack" OPERATOR="ISNOTNULL"/> </GetView> <GroupBy NAME="deadlock_alert_log_rollup" FROM_TABLE="deadlock_alert_log_errors"> <AggregateColumn NAME="deadlockErrors" COLUMN_NAME="deadlockErrStack" OPERATOR="COUNT"/> </GroupBy> <GetView NAME="out_of_memory_alert_log_errors" FROM_TABLE="alert_log_errors"> <Column NAME="outOfMemoryErrStack"/> <Filter COLUMN_NAME="outOfMemoryErrStack" OPERATOR="ISNOTNULL"/> </GetView> <GroupBy NAME="out_of_memory_alert_log_rollup" FROM_TABLE="out_of_memory_alert_log_errors"> <AggregateColumn NAME="outOfMemoryErrors" COLUMN_NAME="outOfMemoryErrStack" OPERATOR="COUNT"/> </GroupBy> <GetView NAME="cluster_alert_log_errors" FROM_TABLE="alert_log_errors"> <Column NAME="clusterErrStack"/> <Filter COLUMN_NAME="clusterErrStack" OPERATOR="ISNOTNULL"/> </GetView> <GroupBy NAME="cluster_alert_log_rollup" FROM_TABLE="cluster_alert_log_errors"> <AggregateColumn NAME="clusterErrors" COLUMN_NAME="clusterErrStack" OPERATOR="COUNT"/> </GroupBy> <JoinTables NAME="adrAlertLogIncidentErrorStatus"> <Table NAME="generic_incident_alert_log_rollup"/> <Table NAME="generic_internal_alert_log_rollup"/> <Table NAME="sess_terminate_alert_log_rollup"/> <Table NAME="internal_sql_alert_log_rollup"/> <Table NAME="access_violation_alert_log_rollup"/> <Table NAME="redo_log_corrupt_alert_log_rollup"/> <Table NAME="file_access_alert_log_rollup"/> <Table NAME="inconsistent_db_state_alert_log_rollup"/> <Table NAME="ora_block_corrupt_alert_log_rollup"/> <Table NAME="deadlock_alert_log_rollup"/> <Table NAME="out_of_memory_alert_log_rollup"/> <Table NAME="cluster_alert_log_rollup"/> </JoinTables> </ExecutionDescriptor> </Metric> <!-- ====================================================================== == Category: ADR Alert Log Operational Error Status == Collection Level: Minimum == Purpose: Alerts ====================================================================== --> <Metric NAME="adrAlertLogOperationalErrorStatus" TYPE="TABLE"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="11gR1;11gR2"/> </ValidIf> <Display> <Label NLSID="adrAlertLogOperationalErrorStatus">Operational Error Status</Label> </Display> <TableDescriptor> <ColumnDescriptor NAME="genericOperationalErrors" TYPE="NUMBER"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="adrAlertLogStatus_genericOperationalErrors">Generic Operational Error Status</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="archiveHungErrors" TYPE="NUMBER"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="adrAlertLogStatus_archiveHungErrors">Archiver Hung Status</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="blockCorruptErrors" TYPE="NUMBER"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="adrAlertLogStatus_blockCorruptErrors">Data Block Corruption Status</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="mediaFailureErrors" TYPE="NUMBER"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="adrAlertLogStatus_mediaFailureErrors">Media Failure Status</Label> </Display> </ColumnDescriptor> </TableDescriptor> <ExecutionDescriptor> <GetTable NAME="alert_log_errors" METRIC_NAME="adrAlertLogOperationalError" USE_CACHE="TRUE"/> <GetView NAME="generic_operational_alert_log_errors" FROM_TABLE="alert_log_errors"> <Column NAME="genericOperationalErrStack"/> <Filter COLUMN_NAME="genericOperationalErrStack" OPERATOR="ISNOTNULL"/> </GetView> <GroupBy NAME="generic_operational_alert_log_rollup" FROM_TABLE="generic_operational_alert_log_errors"> <AggregateColumn NAME="genericOperationalErrors" COLUMN_NAME="genericOperationalErrStack" OPERATOR="COUNT"/> </GroupBy> <GetView NAME="archive_hung_alert_log_errors" FROM_TABLE="alert_log_errors"> <Column NAME="archiveHungErrStack"/> <Filter COLUMN_NAME="archiveHungErrStack" OPERATOR="ISNOTNULL"/> </GetView> <GroupBy NAME="archive_hung_alert_log_rollup" FROM_TABLE="archive_hung_alert_log_errors"> <AggregateColumn NAME="archiveHungErrors" COLUMN_NAME="archiveHungErrStack" OPERATOR="COUNT"/> </GroupBy> <GetView NAME="block_corrupt_alert_log_errors" FROM_TABLE="alert_log_errors"> <Column NAME="blockCorruptErrStack"/> <Filter COLUMN_NAME="blockCorruptErrStack" OPERATOR="ISNOTNULL"/> </GetView> <GroupBy NAME="block_corrupt_alert_log_rollup" FROM_TABLE="block_corrupt_alert_log_errors"> <AggregateColumn NAME="blockCorruptErrors" COLUMN_NAME="blockCorruptErrStack" OPERATOR="COUNT"/> </GroupBy> <GetView NAME="media_failure_alert_log_errors" FROM_TABLE="alert_log_errors"> <Column NAME="mediaFailureErrStack"/> <Filter COLUMN_NAME="mediaFailureErrStack" OPERATOR="ISNOTNULL"/> </GetView> <GroupBy NAME="media_failure_alert_log_rollup" FROM_TABLE="media_failure_alert_log_errors"> <AggregateColumn NAME="mediaFailureErrors" COLUMN_NAME="mediaFailureErrStack" OPERATOR="COUNT"/> </GroupBy> <JoinTables NAME="adrAlertLogOperationalErrorStatus"> <Table NAME="generic_operational_alert_log_rollup"/> <Table NAME="archive_hung_alert_log_rollup"/> <Table NAME="block_corrupt_alert_log_rollup"/> <Table NAME="media_failure_alert_log_rollup"/> </JoinTables> </ExecutionDescriptor> </Metric> <!-- ====================================================================== == Category: Alert Log Content == Collection Level: {Not Collected} == Purpose: On-Demand ====================================================================== --> <Metric NAME="alertLogContent" TYPE="TABLE" USAGE_TYPE="HIDDEN" HELP="NO_HELP"> <Display> <Label NLSID="alertLogContent">Alert Log Content</Label> </Display> <TableDescriptor> <ColumnDescriptor NAME="alertLogContent" TYPE="STRING" IS_KEY="FALSE"> <Display> <Label NLSID="alertLog_content">Content</Label> </Display> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="OS"> <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property> <Property NAME="scriptsDir" SCOPE="SYSTEMGLOBAL">scriptsDir</Property> <Property NAME="startsWith" SCOPE="GLOBAL">em_result=</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="OracleHome" SCOPE="INSTANCE">OracleHome</Property> <Property NAME="GetDumpDestination" SCOPE="INSTANCE">background_dump_dest</Property> <Property NAME="ConvertFromCharset" SCOPE="INSTANCE" OPTIONAL="TRUE">ConvertFromCharset</Property> <Property NAME="needCharsetConvert" SCOPE="INSTANCE" OPTIONAL="TRUE">needCharsetConvert</Property> <Property NAME="sizeToView" SCOPE="USER">sizeToView</Property> <Property NAME="startTime" SCOPE="USER" OPTIONAL="TRUE">startTime</Property> <Property NAME="endTime" SCOPE="USER" OPTIONAL="TRUE">endTime</Property> <Property NAME="command" SCOPE="GLOBAL"> %perlBin%/perl %scriptsDir%/alertlogViewer.pl %OracleHome% %GetDumpDestination% %SID% %sizeToView% %startTime% %endTime% </Property> </QueryDescriptor> </Metric> <!-- ====================================================================== == Category: ADR Alert Log Content == Collection Level: {Not Collected} == Purpose: On-Demand ====================================================================== --> <Metric NAME="adrAlertLogContent" TYPE="TABLE" USAGE_TYPE="HIDDEN" HELP="NO_HELP"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="11gR1;11gR2"/> </ValidIf> <TableDescriptor> <ColumnDescriptor NAME="logContent" TYPE="STRING" IS_KEY="FALSE"/> </TableDescriptor> <QueryDescriptor FETCHLET_ID="OS"> <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property> <Property NAME="scriptsDir" SCOPE="SYSTEMGLOBAL">scriptsDir</Property> <Property NAME="startsWith" SCOPE="GLOBAL">em_result=</Property> <Property NAME="ConvertFromCharset" SCOPE="INSTANCE" OPTIONAL="TRUE">ConvertFromCharset</Property> <Property NAME="needCharsetConvert" SCOPE="INSTANCE" OPTIONAL="TRUE">needCharsetConvert</Property> <Property NAME="ENVEM_TARGET_GUID" SCOPE="INSTANCE">GUID</Property> <Property NAME="ENVEM_AGENT_STATE_DIR" SCOPE="SYSTEMGLOBAL">agentStateDir</Property> <Property NAME="AdrHome" SCOPE="INSTANCE">AdrHome</Property> <Property NAME="ARGS" SCOPE="USER" OPTIONAL="TRUE">ARGS</Property> <Property NAME="STDINLARGE_ARGS" SCOPE="USER" OPTIONAL="TRUE">LARGE_ARGS</Property> <Property NAME="command" SCOPE="GLOBAL"> %perlBin%/perl %scriptsDir%/alertlogAdrViewer.pl %AdrHome% "%ARGS%" </Property> </QueryDescriptor> </Metric> <!-- ====================================================================== == Category: User Block == Collection Level: Minimum == Purpose: Alerts ====================================================================== --> <Metric NAME="UserBlock" TYPE="TABLE"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="pre8;8i;8iR2;9i;9iR2"/> <CategoryProp NAME="MetricScope" CHOICES="DB"/> </ValidIf> <Display> <Label NLSID="userBlock">User Block</Label> </Display> <TableDescriptor> <ColumnDescriptor NAME="sid" TYPE="STRING" IS_KEY="TRUE"> <Display> <Label NLSID="userBlock_blocking_sid">Blocking Session ID</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="count" TYPE="NUMBER" IS_KEY="FALSE"> <Display> <Label NLSID="userBlock_count">Blocking Session Count</Label> </Display> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="SQL"> <Property NAME="STATEMENT" SCOPE="GLOBAL"><![CDATA[ SELECT blocking_sid, SUM(num_blocked) num_blocked FROM (SELECT id1, id2, MAX(DECODE(block, 1, sid, 0)) blocking_sid, SUM(DECODE(request, 0, 0, 1)) num_blocked FROM v$lock WHERE block = 1 OR request > 0 GROUP BY id1, id2) GROUP BY blocking_sid ]]></Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> </QueryDescriptor> </Metric> <!-- ====================================================================== == Category: User Audit == Collection Level: Recommended == Purpose: Alerts ====================================================================== --> <Metric NAME="UserAudit" TYPE="TABLE"> <Display> <Label NLSID="user_audit">User Audit</Label> </Display> <TableDescriptor> <ColumnDescriptor NAME="username" TYPE="STRING" IS_KEY="FALSE"> <Display> <Label NLSID="userAudit_username">Audited User</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="machine" TYPE="STRING" IS_KEY="FALSE"> <Display> <Label NLSID="userAudit_machine">Audited User Host</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="Session Count" TYPE="NUMBER" IS_KEY="FALSE"> <Display> <Label NLSID="userAudit_session_count">Audited User Session Count</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="Username_machine" TYPE="STRING" IS_KEY="TRUE"> <Display> <Label NLSID="userAudit_username_machine">Username_Machine</Label> </Display> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="SQL"> <Property NAME="STATEMENT" SCOPE="GLOBAL"><![CDATA[ select uname, mname, TO_CHAR(count(uname)) , concat(concat(uname,'_'), mname) username_machine from (select trim(chr(0) from trim(username)) uname, trim(chr(0) from trim(machine)) mname from v$session where type <> 'BACKGROUND' and username is not null ) group by uname, mname ]]></Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> </QueryDescriptor> </Metric> <!-- ====================================================================== == Category: mgmt_sql_summary == Collection Level: Recommended == Purpose: Reporting ====================================================================== --> <Metric NAME="mgmt_sql_metric_helper" TYPE="RAW"> <ValidIf> <CategoryProp NAME="MCPkg" CHOICES="1;3"/> <CategoryProp NAME="VersionCategory" CHOICES="pre8;8i;8iR2;9i;9iR2"/> </ValidIf> <Display> <Label NLSID="mgmt_sql_metric_helper">mgmt_sql_metric_helper</Label> </Display> <TableDescriptor TABLE_NAME="mgmt_sql_metric_helper" SKIP_COLLTIME_PK="TRUE" SKIP_METRIC_COLUMN="TRUE"> <ColumnDescriptor NAME="snap_time" COLUMN_NAME="snap_time" TYPE="STRING" IS_DATE="TRUE" IS_KEY="FALSE"> <Display> <Label NLSID="mgmt_sql_metric_helper_data_available">Data Available</Label> </Display> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="SQL"> <Property NAME="STATEMENT" SCOPE="GLOBAL"><![CDATA[ DECLARE TYPE data_cursor_type IS REF CURSOR; data_cursor data_cursor_type; BEGIN OPEN data_cursor FOR SELECT to_char(NVL(MAX(s.snap_time), sysdate), 'YYYY-MM-DD HH24:MI:SS') FROM perfstat.stats$snapshot s, v$database d, v$instance i WHERE s.dbid = d.dbid and s.instance_number = i.instance_number; :1 := data_cursor; END; ]]></Property> <Property NAME="SQLOUTPARAMPOS" SCOPE="GLOBAL">1</Property> <Property NAME="SQLOUTPARAMTYPE" SCOPE="GLOBAL">SQL_CURSOR</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> </QueryDescriptor> </Metric> <Metric NAME="mgmt_sql_summary" TYPE="RAW" HELP="NO_HELP"> <ValidIf> <CategoryProp NAME="MCPkg" CHOICES="1;3"/> <CategoryProp NAME="VersionCategory" CHOICES="pre8;8i;8iR2;9i;9iR2"/> </ValidIf> <Display> <Label NLSID="mgmt_sql_summary">mgmt_sql_summary</Label> </Display> <TableDescriptor TABLE_NAME="mgmt_sql_summary" SKIP_COLLTIME_COLUMN="TRUE" SKIP_COLLTIME_PK="TRUE" SKIP_METRIC_COLUMN="TRUE"> <ColumnDescriptor NAME="snap_id" COLUMN_NAME="snap_id" IS_KEY="TRUE" TYPE="STRING"> <Display> <Label NLSID="mgmt_sql_summary_snap_id">Snap ID</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="collection_timestamp" COLUMN_NAME="collection_timestamp" TYPE="STRING" IS_DATE="TRUE" IS_KEY="FALSE"> <Display> <Label NLSID="mgmt_sql_summary_collection_timestamp">Collection Timestamp</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="sql" COLUMN_NAME="sql_text" IS_KEY="FALSE" TYPE="STRING"> <Display> <Label NLSID="mgmt_sql_summary_sql">SQL Statement</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="piece" COLUMN_NAME="piece" IS_KEY="TRUE" TYPE="NUMBER"> <Display> <Label NLSID="mgmt_sql_summary_piece">Piece</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="sharableMem" COLUMN_NAME="sharable_mem" IS_KEY="FALSE" TYPE="NUMBER"> <Display> <Label NLSID="mgmt_sql_summary_sharableMem">Sharable Memory</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="sorts" COLUMN_NAME="sorts" IS_KEY="FALSE" TYPE="NUMBER"> <Display> <Label NLSID="mgmt_sql_summary_sorts">Sorts</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="modName" COLUMN_NAME="module" IS_KEY="FALSE" TYPE="STRING"> <Display> <Label NLSID="mgmt_sql_summary_mod">Module</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="loadedVers" COLUMN_NAME="loaded_versions" IS_KEY="FALSE" TYPE="NUMBER"> <Display> <Label NLSID="mgmt_sql_summary_loadedVers">Loaded Versions</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="executions" COLUMN_NAME="executions" IS_KEY="FALSE" TYPE="NUMBER"> <Display> <Label NLSID="mgmt_sql_summary_executions">Executions</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="loads" COLUMN_NAME="loads" IS_KEY="FALSE" TYPE="NUMBER"> <Display> <Label NLSID="mgmt_sql_summary_loads">Loads</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="invalidations" COLUMN_NAME="invalidations" IS_KEY="FALSE" TYPE="NUMBER"> <Display> <Label NLSID="mgmt_sql_summary_invalidations">Invalidations</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="parseCalls" COLUMN_NAME="parse_calls" IS_KEY="FALSE" TYPE="NUMBER"> <Display> <Label NLSID="mgmt_sql_summary_parseCalls">Parse Calls</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="diskReads" COLUMN_NAME="disk_reads" IS_KEY="FALSE" TYPE="NUMBER"> <Display> <Label NLSID="mgmt_sql_summary_diskReads">Disk Reads</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="bufferGets" COLUMN_NAME="buffer_gets" IS_KEY="FALSE" TYPE="NUMBER"> <Display> <Label NLSID="mgmt_sql_summary_bufferGets">Buffer Gets</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="rowsProc" COLUMN_NAME="rows_processed" IS_KEY="FALSE" TYPE="NUMBER"> <Display> <Label NLSID="mgmt_sql_summary_rowsProc">Rows Processed</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="cmdType" COLUMN_NAME="command_type" IS_KEY="FALSE" TYPE="NUMBER"> <Display> <Label NLSID="mgmt_sql_summary_cmdType">Command Type</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="address" COLUMN_NAME="address" IS_KEY="TRUE" TYPE="STRING"> <Display> <Label NLSID="mgmt_sql_summary_address">Address</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="hashValue" COLUMN_NAME="hash_value" IS_KEY="TRUE" TYPE="NUMBER"> <Display> <Label NLSID="mgmt_sql_summary_hashValue">Hash Value</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="versionCount" COLUMN_NAME="version_count" IS_KEY="FALSE" TYPE="NUMBER"> <Display> <Label NLSID="mgmt_sql_summary_versionCount">Sql Version Count</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="cpuTime" COLUMN_NAME="cpu_time" IS_KEY="FALSE" TYPE="NUMBER"> <Display> <Label NLSID="mgmt_sql_summary_cpuTime">CPU Time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="elapsedTime" COLUMN_NAME="elapsed_time" IS_KEY="FALSE" TYPE="NUMBER"> <Display> <Label NLSID="mgmt_sql_summary_elapsedTime">Elapsed Time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="outlineSid" COLUMN_NAME="outline_sid" IS_KEY="FALSE" TYPE="NUMBER"> <Display> <Label NLSID="mgmt_sql_summary_outlineSid">Outline SID</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="outlineCat" COLUMN_NAME="outline_category" IS_KEY="FALSE" TYPE="STRING"> <Display> <Label NLSID="mgmt_sql_summary_outlineCat">Outline Category</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="planId" COLUMN_NAME="plan_hash_value" IS_KEY="TRUE" TYPE="NUMBER"> <Display> <Label NLSID="mgmt_sql_summary_planId">Plan Hash Value</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="optimizerMode" COLUMN_NAME="optimizer_mode" IS_KEY="FALSE" TYPE="STRING"> <Display> <Label NLSID="mgmt_sql_summary_optimizerMode">Optimizer Mode</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="optimizerCost" COLUMN_NAME="optimizer_cost" IS_KEY="FALSE" TYPE="NUMBER"> <Display> <Label NLSID="mgmt_sql_summary_optimizerCost">Optimizer Cost </Label> </Display> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="SQL"> <Property NAME="STATEMENT" SCOPE="GLOBAL"><![CDATA[ DECLARE TYPE t_statistics_cursor_type IS REF CURSOR; v_stat_cursor_8i t_statistics_cursor_type; v_stat_cursor_9i t_statistics_cursor_type; v_db_version VARCHAR2(10); db_version_min_8i CONSTANT VARCHAR2(10) := '08.1.5.0.0'; db_version_9i CONSTANT VARCHAR2(10) := '09.0.0.0.0'; db_version_92 CONSTANT VARCHAR2(10) := '09.2.0.0.0'; v_dbid NUMBER := 0; v_instance_number NUMBER := 0; c_interval NUMBER := 24; v_snap_id NUMBER; v_snap_time DATE; v_snap_time_dis varchar2(50); v_snap_level NUMBER; v_b_snap_id NUMBER := -1; v_b_snap_time DATE; v_b_snap_level NUMBER := -1; v_e_snap_id NUMBER := -1; v_e_snap_time DATE := sysdate; v_e_snap_time_dis varchar2(50) := to_char(sysdate, 'YYYY-MM-DD HH24:MI:SS'); v_e_snap_level NUMBER := -1; v_time_interval NUMBER := -1; v_current_interval NUMBER := -1; v_total_disk_reads NUMBER := -1; v_total_buf_gets NUMBER := -1; v_e_total_disk_reads NUMBER := -1; v_e_total_buf_gets NUMBER := -1; v_b_total_disk_reads NUMBER := 0; v_b_total_buf_gets NUMBER := 0; v_b_cpu_time NUMBER := -1; v_e_cpu_time NUMBER := -1; v_b_parse_calls NUMBER := -1; v_e_parse_calls NUMBER := -1; v_b_executions NUMBER := -1; v_e_executions NUMBER := -1; v_pect_cpu_time NUMBER := -1; v_pect_parse_calls NUMBER := -1; v_pect_executions NUMBER := -1; v_sql_stmt_8 Varchar2(2000); v_sql_stmt_90 varchar2(3500); v_sql_stmt_92 varchar2(3500); v_pect_disk_reads NUMBER := -1; v_pect_buf_gets NUMBER := -1; c_phy_read_pct NUMBER := :1; c_log_read_pct NUMBER := :2; c_cpu_time_pct NUMBER := :3; c_par_call_pct NUMBER := :4; c_exec_pct NUMBER := :5; v_startup_time DATE; v_e_startup_time DATE; CURSOR get_snap_ids IS SELECT snap_id, snap_time, to_char(snap_time, 'YYYY-MM-DD HH24:MI:SS'), snap_level, startup_time FROM perfstat.stats$snapshot WHERE dbid = v_dbid and instance_number = v_instance_number order by snap_time desc; CURSOR get_stat_total_value (p_name IN VARCHAR2, p_snap_id IN NUMBER, p_dbid IN NUMBER, p_instance_number IN NUMBER) IS SELECT value FROM perfstat.stats$sysstat WHERE name = p_name AND snap_id = p_snap_id AND dbid = p_dbid AND instance_number = p_instance_number; BEGIN -- -------------------------- -- Get database version -- -------------------------- SELECT LPAD(version, 10, '0') INTO v_db_version FROM v$instance; -- ------------------------------ -- Find the database ID and instance number -- ------------------------------ SELECT d.dbid, i.instance_number INTO v_dbid, v_instance_number FROM v$database d, v$instance i; -- ------------------------------ -- Pick the latest snapshot and another snapshot where -- the interval between them is closest to 24 Hrs. -- ------------------------------ OPEN get_snap_ids; LOOP FETCH get_snap_ids INTO v_snap_id, v_snap_time, v_snap_time_dis, v_snap_level, v_startup_time; EXIT WHEN get_snap_ids%NOTFOUND; IF v_e_snap_id = -1 THEN v_e_snap_id := v_snap_id; v_e_snap_time := v_snap_time; v_e_snap_time_dis := v_snap_time_dis; v_e_snap_level := v_snap_level; v_e_startup_time := v_startup_time; ELSIF v_b_snap_id = -1 OR ABS((v_e_snap_time - v_snap_time) * 24 - c_interval) < ABS(v_current_interval - c_interval) THEN v_b_snap_id := v_snap_id; v_b_snap_time := v_snap_time; v_b_snap_level := v_snap_level; v_current_interval := (v_e_snap_time - v_b_snap_time) * 24; -- dbms_output.put_line('DB v_current_interval : ' || v_current_interval); END IF; END LOOP; CLOSE get_snap_ids; -- Check if the instance rebounced between two snapshots or there is only one snapshot available IF v_b_snap_time IS NULL OR v_e_startup_time > v_b_snap_time THEN v_b_snap_id := -1; v_b_snap_time := v_e_startup_time; END IF; v_time_interval := v_e_snap_time - v_b_snap_time; IF v_time_interval is NULL THEN v_time_interval := 1; END IF; IF v_e_snap_id <> -1 THEN IF v_db_version >= db_version_9i THEN OPEN get_stat_total_value('CPU used when call started', v_e_snap_id, v_dbid, v_instance_number); FETCH get_stat_total_value INTO v_e_cpu_time; CLOSE get_stat_total_value; END IF; OPEN get_stat_total_value('session logical reads', v_e_snap_id, v_dbid, v_instance_number); FETCH get_stat_total_value INTO v_e_total_buf_gets; CLOSE get_stat_total_value; OPEN get_stat_total_value('physical reads', v_e_snap_id, v_dbid, v_instance_number); FETCH get_stat_total_value INTO v_e_total_disk_reads; CLOSE get_stat_total_value; OPEN get_stat_total_value('parse count (total)', v_e_snap_id, v_dbid, v_instance_number); FETCH get_stat_total_value INTO v_e_parse_calls; CLOSE get_stat_total_value; OPEN get_stat_total_value('execute count', v_e_snap_id, v_dbid, v_instance_number); FETCH get_stat_total_value INTO v_e_executions; CLOSE get_stat_total_value; END IF; IF v_b_snap_id <> -1 THEN IF v_db_version >= db_version_9i THEN OPEN get_stat_total_value('CPU used when call started', v_b_snap_id, v_dbid, v_instance_number); FETCH get_stat_total_value INTO v_b_cpu_time; CLOSE get_stat_total_value; END IF; OPEN get_stat_total_value('session logical reads', v_b_snap_id, v_dbid, v_instance_number); FETCH get_stat_total_value INTO v_b_total_buf_gets; CLOSE get_stat_total_value; OPEN get_stat_total_value('physical reads', v_b_snap_id, v_dbid, v_instance_number); FETCH get_stat_total_value INTO v_b_total_disk_reads; CLOSE get_stat_total_value; OPEN get_stat_total_value('parse count (total)', v_b_snap_id, v_dbid, v_instance_number); FETCH get_stat_total_value INTO v_b_parse_calls; CLOSE get_stat_total_value; OPEN get_stat_total_value('execute count', v_b_snap_id, v_dbid, v_instance_number); FETCH get_stat_total_value INTO v_b_executions; CLOSE get_stat_total_value; END IF; v_total_disk_reads := v_e_total_disk_reads - v_b_total_disk_reads; v_total_buf_gets := v_e_total_buf_gets - v_b_total_buf_gets; v_pect_disk_reads := c_phy_read_pct * v_total_disk_reads; v_pect_buf_gets := c_log_read_pct * v_total_buf_gets; v_pect_cpu_time := c_cpu_time_pct * (v_e_cpu_time - v_b_cpu_time) * 10000; v_pect_parse_calls := c_par_call_pct * (v_e_parse_calls - v_b_parse_calls); v_pect_executions := c_exec_pct * (v_e_executions - v_b_executions); IF v_db_version < db_version_9i THEN -- 8i case v_sql_stmt_8 := 'select e.snap_id, :end_snap_time_dis, st.sql_text, st.piece, e.sharable_mem, ' || 'e.sorts - nvl(b.sorts,0), e.module, e.loaded_versions, ' || 'e.executions - nvl(b.executions,0), e.loads - nvl(b.loads,0), ' || 'e.invalidations - nvl(b.invalidations,0), ' || 'e.parse_calls - nvl(b.parse_calls,0), ' || 'e.disk_reads - nvl(b.disk_reads,0), ' || 'e.buffer_gets - nvl(b.buffer_gets,0), ' || 'e.rows_processed - nvl(b.rows_processed,0), st.command_type, ' || 'RAWTOHEX(e.address), e.hash_value, ' || 'e.version_count, -1 cpu_time, ' || '-1 elapsed_time, -1 outline_sid, NULL outline_category, -1 plan_hash_value, ' || ''' '' optimizer, 0 cost ' || 'from perfstat.stats$sql_summary e, perfstat.stats$sql_summary b, perfstat.stats$sqltext st ' || 'where b.snap_id(+) = :b_snap_id ' || ' and b.dbid(+) = e.dbid ' || ' and b.instance_number(+) = e.instance_number ' || ' and st.piece =0 ' || ' and b.hash_value(+) = e.hash_value ' || ' and b.address(+) = e.address ' || ' and b.text_subset(+) = e.text_subset ' || ' and e.snap_id = :e_snap_id ' || ' and e.dbid = :dbid ' || ' and e.instance_number = :instance_number ' || ' and e.hash_value = st.hash_value ' || ' and e.text_subset = st.text_subset ' || ' and e.executions - nvl(b.executions,0) > 0 ' || ' and (e.buffer_gets - nvl(b.buffer_gets,0) >= :pect_buf_gets ' || ' or e.disk_reads - nvl(b.disk_reads,0) >= :pect_disk_reads ' || ' or e.parse_calls - nvl(b.parse_calls,0) >= :pect_parse_calls ' || ' or e.executions - nvl(b.executions,0) >= :pect_executions)' || ' UNION ALL ' || 'select :end_snap_id, :snap_time_dis, ''DUMMY_STMT_FOR_SUMMARY_STATISTICS'', -1, -1, ' || '-1, '' '', -1, -1, -1, -1, -1, :total_disk_reads total_disk_reads, ' || ':total_buf_gets total_buffer_gets, -1, -1, ''0'', 0, -1, -1 cpu_time, ' || ':time_interval elapsed_time, -1 outline_sid, ' || 'NULL outline_category, -1 plan_id, '' '' optimizer_mode, 0 optimizer_cost ' || 'from dual'; OPEN v_stat_cursor_8i FOR v_sql_stmt_8 USING v_e_snap_time_dis, v_b_snap_id, v_e_snap_id, v_dbid, v_instance_number, v_pect_buf_gets, v_pect_disk_reads, v_pect_parse_calls, v_pect_executions, v_e_snap_id, v_e_snap_time_dis, v_total_disk_reads, v_total_buf_gets, v_time_interval; :6 := v_stat_cursor_8i; ELSIF v_db_version < db_version_92 THEN -- 901 case v_sql_stmt_90 := 'select e.snap_id, :e_snap_time_dis, st.sql_text, st.piece, e.sharable_mem, ' || 'e.sorts - nvl(b.sorts,0), e.module, e.loaded_versions, ' || 'e.executions - nvl(b.executions,0), e.loads - nvl(b.loads,0), ' || 'e.invalidations - nvl(b.invalidations,0), ' || 'e.parse_calls - nvl(b.parse_calls,0), ' || 'e.disk_reads - nvl(b.disk_reads,0), ' || 'e.buffer_gets - nvl(b.buffer_gets,0), ' || 'e.rows_processed - nvl(b.rows_processed,0), st.command_type, ' || 'RAWTOHEX(e.address), e.hash_value, ' || 'e.version_count, ' || 'e.cpu_time - nvl(b.cpu_time,0), ' || 'e.elapsed_time - nvl(b.elapsed_time,0), ' || 'e.outline_sid, e.outline_category, nvl(pu.plan_hash_value, -1), ' || 'pu.optimizer, pu.cost ' || 'from perfstat.stats$sql_summary e, perfstat.stats$sql_summary b, perfstat.stats$sqltext st, ' || '(select u.plan_hash_value,max(u.optimizer) optimizer, max(u.cost) cost, s.hash_value,s.text_subset ' || 'from perfstat.stats$sql_plan_usage u, perfstat.stats$sql_summary s ' || 'where s.snap_id = :e_snap_id and s.dbid = :dbid and s.instance_number = :instance_number and ' || 'u.hash_value(+) = s.hash_value and u.text_subset(+) = s.text_subset ' || 'group by s.hash_value, s.text_subset, u.plan_hash_value) pu ' || 'where b.snap_id(+) = :b_snap_id ' || ' and b.dbid(+) = e.dbid ' || ' and b.instance_number(+) = e.instance_number ' || ' and st.piece =0 ' || ' and b.hash_value(+) = e.hash_value ' || ' and b.address(+) = e.address ' || ' and b.text_subset(+) = e.text_subset ' || ' and e.snap_id = :end_snap_id ' || ' and e.dbid = :dbid_2 ' || ' and e.instance_number = :instance_number_2 ' || ' and e.hash_value = st.hash_value ' || ' and e.text_subset = st.text_subset ' || ' and e.hash_value = pu.hash_value ' || ' and e.text_subset = pu.text_subset ' || ' and e.executions - nvl(b.executions,0) > 0 ' || ' and (e.disk_reads - nvl(b.disk_reads,0) >= :pect_disk_reads ' || ' or e.cpu_time - nvl(b.cpu_time,0) >= :pect_cpu_time ' || ' or e.parse_calls - nvl(b.parse_calls,0) >= :pect_parse_calls ' || ' or e.executions - nvl(b.executions,0) >= :pect_executions)' || ' UNION ALL ' || 'select :e_snap_id_3, :e_snap_time_dis_2, ''DUMMY_STMT_FOR_SUMMARY_STATISTICS'', -1, -1, ' || '-1, '' '', -1, -1, -1, -1, -1, :total_disk_reads total_disk_reads, ' || ':total_buf_gets total_buffer_gets, -1, -1, ''0'', 0, -1, -1 cpu_time, ' || ':time_interval elapsed_time, -1 outline_sid, ' || 'NULL outline_category, -1 plan_id, '' '' optimizer_mode, 0 optimizer_cost ' || 'from dual'; OPEN v_stat_cursor_9i FOR v_sql_stmt_90 USING v_e_snap_time_dis, v_e_snap_id, v_dbid, v_instance_number, v_b_snap_id, v_e_snap_id, v_dbid, v_instance_number, v_pect_disk_reads, v_pect_cpu_time, v_pect_parse_calls, v_pect_executions, v_e_snap_id, v_e_snap_time_dis, v_total_disk_reads, v_total_buf_gets, v_time_interval; :6 := v_stat_cursor_9i; ELSE v_sql_stmt_92 := 'select e.snap_id, :e_snap_time_dis, st.sql_text, st.piece, e.sharable_mem, ' || 'e.sorts - nvl(b.sorts,0), e.module, e.loaded_versions, ' || 'e.executions - nvl(b.executions,0), e.loads - nvl(b.loads,0), ' || 'e.invalidations - nvl(b.invalidations,0), ' || 'e.parse_calls - nvl(b.parse_calls,0), ' || 'e.disk_reads - nvl(b.disk_reads,0), ' || 'e.buffer_gets - nvl(b.buffer_gets,0), ' || 'e.rows_processed - nvl(b.rows_processed,0), st.command_type, ' || 'RAWTOHEX(e.address), e.hash_value, ' || 'e.version_count, ' || 'e.cpu_time - nvl(b.cpu_time,0), ' || 'e.elapsed_time - nvl(b.elapsed_time,0), ' || 'e.outline_sid, e.outline_category, nvl(pu.plan_hash_value, -1), ' || 'pu.optimizer, pu.cost ' || 'from perfstat.stats$sql_summary e, perfstat.stats$sql_summary b, perfstat.stats$sqltext st, ' || '(select u.plan_hash_value,max(u.optimizer) optimizer, max(u.cost) cost, s.hash_value, ' || 's.text_subset, max(s.dbid) dbid, max(s.instance_number) instance_number ' || 'from perfstat.stats$sql_plan_usage u, perfstat.stats$sql_summary s ' || 'where u.snap_id(+) = s.snap_id and u.dbid (+)= s.dbid and u.instance_number (+)= s.instance_number and ' || 's.snap_id = :e_snap_id and s.dbid = :dbid and s.instance_number = :instance_number and ' || 'u.hash_value(+) = s.hash_value and u.text_subset(+) = s.text_subset ' || 'group by s.hash_value, s.text_subset, u.plan_hash_value) pu ' || 'where b.snap_id(+) = :b_snap_id ' || ' and b.dbid(+) = e.dbid ' || ' and b.instance_number(+) = e.instance_number ' || ' and st.piece =0 ' || ' and b.hash_value(+) = e.hash_value ' || ' and b.address(+) = e.address ' || ' and b.text_subset(+) = e.text_subset ' || ' and e.snap_id = :e_snap_id_2 ' || ' and e.dbid = :dbid_2 ' || ' and e.instance_number = :instance_number_2 ' || ' and e.hash_value = st.hash_value ' || ' and e.text_subset = st.text_subset ' || ' and e.hash_value = pu.hash_value ' || ' and e.text_subset = pu.text_subset ' || ' and e.dbid = pu.dbid ' || ' and e.instance_number = pu.instance_number ' || ' and e.executions - nvl(b.executions,0) > 0 ' || ' and (e.disk_reads - nvl(b.disk_reads,0) >= :pect_disk_reads ' || ' or e.cpu_time - nvl(b.cpu_time,0) >= :pect_cpu_time ' || ' or e.parse_calls - nvl(b.parse_calls,0) >= :pect_parse_calls ' || ' or e.executions - nvl(b.executions,0) >= :pect_executions)' || ' UNION ALL ' || 'select :e_snap_id_3, :e_snap_time_dis_2, ''DUMMY_STMT_FOR_SUMMARY_STATISTICS'', -1, -1, ' || '-1, '' '', -1, -1, -1, -1, -1, :total_disk_reads total_disk_reads, ' || ':total_buf_gets total_buffer_gets, -1, -1, ''0'', 0, -1, -1 cpu_time, ' || ':time_interval elapsed_time, -1 outline_sid, ' || 'NULL outline_category, -1 plan_id, '' '' optimizer_mode, 0 optimizer_cost ' || 'from dual'; OPEN v_stat_cursor_9i FOR v_sql_stmt_92 USING v_e_snap_time_dis, v_e_snap_id, v_dbid, v_instance_number, v_b_snap_id, v_e_snap_id, v_dbid, v_instance_number, v_pect_disk_reads, v_pect_cpu_time, v_pect_parse_calls, v_pect_executions, v_e_snap_id, v_e_snap_time_dis, v_total_disk_reads, v_total_buf_gets, v_time_interval; :6 := v_stat_cursor_9i; END IF; END; ]]></Property> <Property NAME="SQLINPARAM1" SCOPE="USER">PHY_READ_PCT</Property> <Property NAME="SQLINPARAM2" SCOPE="USER">LOG_READ_PCT</Property> <Property NAME="SQLINPARAM3" SCOPE="USER">CPU_TIME_PCT</Property> <Property NAME="SQLINPARAM4" SCOPE="USER">PAR_CALL_PCT</Property> <Property NAME="SQLINPARAM5" SCOPE="USER">EXEC_PCT</Property> <Property NAME="SQLOUTPARAMPOS" SCOPE="GLOBAL">6</Property> <Property NAME="SQLOUTPARAMTYPE" SCOPE="GLOBAL">SQL_CURSOR</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> </QueryDescriptor> </Metric> <!-- ====================================================================== == Category: mgmt_sql_plan == Collection Level: Recommended == Purpose: Reporting ====================================================================== --> <Metric NAME="mgmt_sql_plan" TYPE="RAW" HELP="NO_HELP"> <ValidIf> <CategoryProp NAME="MCPkg" CHOICES="1;3"/> <CategoryProp NAME="VersionCategory" CHOICES="pre8;8i;8iR2;9i;9iR2"/> </ValidIf> <Display> <Label NLSID="mgmt_sql_plan">mgmt_sql_plan</Label> </Display> <TableDescriptor TABLE_NAME="mgmt_sql_plan" SKIP_COLLTIME_COLUMN="TRUE" SKIP_COLLTIME_PK="TRUE" SKIP_METRIC_COLUMN="TRUE"> <ColumnDescriptor NAME="snap_id" COLUMN_NAME="snap_id" IS_KEY="TRUE" TYPE="STRING"> <Display> <Label NLSID="mgmt_sql_plan_snap_id">Snap ID</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="collection_timestamp" COLUMN_NAME="collection_timestamp" TYPE="STRING" IS_DATE="TRUE" IS_KEY="FALSE"> <Display> <Label NLSID="mgmt_sql_plan_collection_timestamp">Collection Timestamp</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="planId" COLUMN_NAME="plan_hash_value" IS_KEY="TRUE" TYPE="NUMBER"> <Display> <Label NLSID="mgmt_sql_plan_planId">Plan Hash Value</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="xpOperation" COLUMN_NAME="operation" IS_KEY="FALSE" TYPE="STRING"> <Display> <Label NLSID="mgmt_sql_plan_xpOperation">Explain Plan Operation</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="xpOptions" COLUMN_NAME="options" IS_KEY="FALSE" TYPE="STRING"> <Display> <Label NLSID="mgmt_sql_plan_xpOptions">Explain Plan Options</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="xpObjectNode" COLUMN_NAME="object_node" IS_KEY="FALSE" TYPE="STRING"> <Display> <Label NLSID="mgmt_sql_plan_xpObjectNode">Explain Plan Object Node</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="xpObjectOwner" COLUMN_NAME="object_owner" IS_KEY="FALSE" TYPE="STRING"> <Display> <Label NLSID="mgmt_sql_plan_xpObjectOwner">Explain Plan Object Owner</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="xpObjectName" COLUMN_NAME="object_name" IS_KEY="FALSE" TYPE="STRING"> <Display> <Label NLSID="mgmt_sql_plan_xpObjectName">Explain Plan Object Name</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="xpOptimizer" COLUMN_NAME="optimizer" IS_KEY="FALSE" TYPE="STRING"> <Display> <Label NLSID="mgmt_sql_plan_xpOptimizer">Explain Plan Optimizer Mode</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="xpId" COLUMN_NAME="id" IS_KEY="TRUE" TYPE="NUMBER"> <Display> <Label NLSID="mgmt_sql_plan_xpId">Explain Plan Id</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="xpParentId" COLUMN_NAME="parent_id" IS_KEY="FALSE" TYPE="NUMBER"> <Display> <Label NLSID="mgmt_sql_plan_xpParentId">Explain Plan Parent Id</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="xpPosition" COLUMN_NAME="position" IS_KEY="FALSE" TYPE="NUMBER"> <Display> <Label NLSID="mgmt_sql_plan_xpPosition">Explain Plan Position</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="xpCost" COLUMN_NAME="cost" IS_KEY="FALSE" TYPE="NUMBER"> <Display> <Label NLSID="mgmt_sql_plan_xpCost">Explain Plan Cost</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="xpCardinality" COLUMN_NAME="cardinality" IS_KEY="FALSE" TYPE="NUMBER"> <Display> <Label NLSID="mgmt_sql_plan_xpCardinality">Explain Plan Cardinality</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="xpBytes" COLUMN_NAME="bytes" IS_KEY="FALSE" TYPE="NUMBER"> <Display> <Label NLSID="mgmt_sql_plan_xpBytes">Explain Plan Bytes</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="xpOtherTag" COLUMN_NAME="other_tag" IS_KEY="FALSE" TYPE="STRING"> <Display> <Label NLSID="mgmt_sql_plan_xpOtherTag">Explain Plan Other Tag</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="xpPartitionStart" COLUMN_NAME="partition_start" IS_KEY="FALSE" TYPE="STRING"> <Display> <Label NLSID="mgmt_sql_plan_xpPartitionStart">Explain Plan Partition Start</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="xpPartitionStop" COLUMN_NAME="partition_stop" IS_KEY="FALSE" TYPE="STRING"> <Display> <Label NLSID="mgmt_sql_plan_xpPartitionStop">Explain Plan Partition Stop</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="xpPartitionId" COLUMN_NAME="partition_id" IS_KEY="FALSE" TYPE="NUMBER"> <Display> <Label NLSID="mgmt_sql_plan_xpPartitionId">Explain Plan Partition Id</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="xpOther" COLUMN_NAME="other" IS_KEY="FALSE" TYPE="STRING"> <Display> <Label NLSID="mgmt_sql_plan_xpOther">Explain Plan Other</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="xpDistribution" COLUMN_NAME="distribution" IS_KEY="FALSE" TYPE="STRING"> <Display> <Label NLSID="mgmt_sql_plan_xpDistribution">Explain Plan Distribution</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="xpCPUCost" COLUMN_NAME="cpu_cost" IS_KEY="FALSE" TYPE="NUMBER"> <Display> <Label NLSID="mgmt_sql_plan_xpCPUCost">Explain Plan CPU Cost</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="xpIOCost" COLUMN_NAME="io_cost" IS_KEY="FALSE" TYPE="NUMBER"> <Display> <Label NLSID="mgmt_sql_plan_xpIOCost">Explain Plan I-O Cost</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="xpTempSpace" COLUMN_NAME="temp_space" IS_KEY="FALSE" TYPE="NUMBER"> <Display> <Label NLSID="mgmt_sql_plan_xpTempSpace">Explain Plan Temporary Space</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="xpObject#" COLUMN_NAME="object_number" IS_KEY="FALSE" TYPE="NUMBER"> <Display> <Label NLSID="mgmt_sql_plan_xpObject_num">Explain Plan Object #</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="xpDepth" COLUMN_NAME="depth" IS_KEY="FALSE" TYPE="NUMBER"> <Display> <Label NLSID="mgmt_sql_plan_xpDepth">Explain Plan Depth</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="address" COLUMN_NAME="address" IS_KEY="TRUE" TYPE="STRING"> <Display> <Label NLSID="mgmt_sql_plan_address">Address</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="hashValue" COLUMN_NAME="hash_value" IS_KEY="TRUE" TYPE="NUMBER"> <Display> <Label NLSID="mgmt_sql_plan_hashValue">Hash Value</Label> </Display> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="SQL"> <Property NAME="STATEMENT" SCOPE="GLOBAL"><![CDATA[ DECLARE TYPE t_plan_cursor_type IS REF CURSOR; v_plan_cursor_8i t_plan_cursor_type; v_plan_cursor_9i t_plan_cursor_type; v_db_version VARCHAR2(10); db_version_9i CONSTANT VARCHAR2(10) := '09.0.0.0.0'; db_version_92 CONSTANT VARCHAR2(10) := '09.2.0.0.0'; v_dbid NUMBER := 0; v_instance_number NUMBER := 0; c_interval NUMBER := 24; v_snap_id NUMBER; v_snap_time DATE; v_snap_level NUMBER; v_b_snap_id NUMBER := -1; v_b_snap_time DATE; v_b_snap_level NUMBER := -1; v_e_snap_id NUMBER := -1; v_e_snap_time DATE; v_e_snap_level NUMBER := -1; v_current_interval NUMBER := -1; v_total_disk_reads NUMBER := -1; v_total_buf_gets NUMBER := -1; v_sql_stmt_9 varchar2(3500); v_e_total_disk_reads NUMBER := -1; v_e_total_buf_gets NUMBER := -1; v_b_total_disk_reads NUMBER := 0; v_b_total_buf_gets NUMBER := 0; v_pect_disk_reads NUMBER := -1; v_pect_buf_gets NUMBER := -1; v_snap_time_dis varchar2(50); v_e_snap_time_dis varchar2(50); v_b_cpu_time NUMBER := -1; v_e_cpu_time NUMBER := -1; v_b_parse_calls NUMBER := -1; v_e_parse_calls NUMBER := -1; v_b_executions NUMBER := -1; v_e_executions NUMBER := -1; v_pect_cpu_time NUMBER := -1; v_pect_parse_calls NUMBER := -1; v_pect_executions NUMBER := -1; c_phy_read_pct NUMBER := :1; c_log_read_pct NUMBER := :2; c_cpu_time_pct NUMBER := :3; c_par_call_pct NUMBER := :4; c_exec_pct NUMBER := :5; v_startup_time DATE; v_e_startup_time DATE; CURSOR get_snap_ids IS SELECT snap_id, snap_time, to_char(snap_time, 'YYYY-MM-DD HH24:MI:SS'), snap_level, startup_time FROM perfstat.stats$snapshot WHERE dbid = v_dbid and instance_number = v_instance_number order by snap_time desc; CURSOR get_stat_total_value (p_name IN VARCHAR2, p_snap_id IN NUMBER, p_dbid IN NUMBER, p_instance_number IN NUMBER) IS SELECT value FROM perfstat.stats$sysstat WHERE name = p_name AND snap_id = p_snap_id AND dbid = p_dbid AND instance_number = p_instance_number; BEGIN -- -------------------------- -- Get database version -- -------------------------- SELECT LPAD(version, 10, '0') INTO v_db_version FROM v$instance; IF v_db_version < db_version_9i THEN OPEN v_plan_cursor_8i FOR SELECT 0 snap_id, to_char(sysdate, 'YYYY-MM-DD HH24:MI:SS'), 0 plan_hash_value, NULL operation, NULL options, NULL object_node, NULL object_owner, NULL object_name, NULL optimizer, 0 id, -1 parent_id, 0 position, 0 cost, 0 cardinality, 0 bytes, NULL other_tag, NULL partition_start, NULL partition_stop, 0 partition_id, NULL other, NULL distribution, 0 cpu_cost, 0 io_cost, 0 temp_space, 0 object#, 0 depth, '0', 0 FROM dual WHERE 0 = 1; :6 := v_plan_cursor_8i; ELSE -- ------------------------------ -- Find the database ID and instance number -- ------------------------------ SELECT d.dbid, i.instance_number INTO v_dbid, v_instance_number FROM v$database d, v$instance i; -- ------------------------------ -- Pick the latest snapshot and another snapshot where -- the interval between them is closest to 24 Hrs. -- ------------------------------ OPEN get_snap_ids; LOOP FETCH get_snap_ids INTO v_snap_id, v_snap_time, v_snap_time_dis, v_snap_level, v_startup_time; EXIT WHEN get_snap_ids%NOTFOUND; IF v_e_snap_id = -1 THEN v_e_snap_id := v_snap_id; v_e_snap_time := v_snap_time; v_e_snap_time_dis := v_snap_time_dis; v_e_snap_level := v_snap_level; v_e_startup_time := v_startup_time; ELSIF v_b_snap_id = -1 OR ABS((v_e_snap_time - v_snap_time) * 24 - c_interval) < ABS(v_current_interval - c_interval) THEN v_b_snap_id := v_snap_id; v_b_snap_time := v_snap_time; v_b_snap_level := v_snap_level; v_current_interval := (v_e_snap_time - v_b_snap_time) * 24; -- dbms_output.put_line('DB v_current_interval : ' || v_current_interval); END IF; END LOOP; CLOSE get_snap_ids; -- Check if the instance rebounced between two snapshots or there is only one snapshot available IF v_b_snap_time IS NULL OR v_e_startup_time > v_b_snap_time THEN v_b_snap_id := -1; v_b_snap_time := v_e_startup_time; END IF; IF v_e_snap_id <> -1 THEN IF v_db_version >= db_version_9i THEN OPEN get_stat_total_value('CPU used when call started', v_e_snap_id, v_dbid, v_instance_number); FETCH get_stat_total_value INTO v_e_cpu_time; CLOSE get_stat_total_value; END IF; OPEN get_stat_total_value('session logical reads', v_e_snap_id, v_dbid, v_instance_number); FETCH get_stat_total_value INTO v_e_total_buf_gets; CLOSE get_stat_total_value; OPEN get_stat_total_value('physical reads', v_e_snap_id, v_dbid, v_instance_number); FETCH get_stat_total_value INTO v_e_total_disk_reads; CLOSE get_stat_total_value; OPEN get_stat_total_value('parse count (total)', v_e_snap_id, v_dbid, v_instance_number); FETCH get_stat_total_value INTO v_e_parse_calls; CLOSE get_stat_total_value; OPEN get_stat_total_value('execute count', v_e_snap_id, v_dbid, v_instance_number); FETCH get_stat_total_value INTO v_e_executions; CLOSE get_stat_total_value; END IF; IF v_b_snap_id <> -1 THEN IF v_db_version >= db_version_9i THEN OPEN get_stat_total_value('CPU used when call started', v_b_snap_id, v_dbid, v_instance_number); FETCH get_stat_total_value INTO v_b_cpu_time; CLOSE get_stat_total_value; END IF; OPEN get_stat_total_value('session logical reads', v_b_snap_id, v_dbid, v_instance_number); FETCH get_stat_total_value INTO v_b_total_buf_gets; CLOSE get_stat_total_value; OPEN get_stat_total_value('physical reads', v_b_snap_id, v_dbid, v_instance_number); FETCH get_stat_total_value INTO v_b_total_disk_reads; CLOSE get_stat_total_value; OPEN get_stat_total_value('parse count (total)', v_b_snap_id, v_dbid, v_instance_number); FETCH get_stat_total_value INTO v_b_parse_calls; CLOSE get_stat_total_value; OPEN get_stat_total_value('execute count', v_b_snap_id, v_dbid, v_instance_number); FETCH get_stat_total_value INTO v_b_executions; CLOSE get_stat_total_value; END IF; v_total_disk_reads := v_e_total_disk_reads - v_b_total_disk_reads; v_total_buf_gets := v_e_total_buf_gets - v_b_total_buf_gets; v_pect_disk_reads := c_phy_read_pct * v_total_disk_reads; v_pect_buf_gets := c_log_read_pct * v_total_buf_gets; v_pect_cpu_time := c_cpu_time_pct * (v_e_cpu_time - v_b_cpu_time)*10000; v_pect_parse_calls := c_par_call_pct * (v_e_parse_calls - v_b_parse_calls); v_pect_executions := c_exec_pct * (v_e_executions - v_b_executions); IF v_db_version < db_version_92 THEN -- 901 case v_sql_stmt_9 := 'select :e_snap_id, :e_snap_time_str, ' || 'nvl(sp.plan_hash_value, -1), sp.operation, sp.options, sp.object_node, ' || 'sp.object_owner, sp.object_name, sp.optimizer, sp.id, sp.parent_id, ' || 'sp.position, sp.cost, sp.cardinality, sp.bytes, sp.other_tag, ' || 'sp.partition_start, sp.partition_stop, sp.partition_id, ' || 'sp.other, sp.distribution, sp.cpu_cost, sp.io_cost, ' || 'sp.temp_space, sp.object#, sp.depth, plans.address, plans.hash_value ' || 'from perfstat.stats$sql_plan sp, ' || '(SELECT u.plan_hash_value, MAX(u.cost) cost, MAX(s.address) address, u.hash_value ' || 'FROM perfstat.stats$sql_plan_usage u, perfstat.stats$sql_summary s, perfstat.stats$sql_summary b ' || 'WHERE s.snap_id = :e_snap_id ' || ' and s.dbid = :dbid ' || ' and s.instance_number = :instance_number ' || ' and u.hash_value = s.hash_value and u.text_subset = s.text_subset ' || ' and b.snap_id(+) = :b_snap_id ' || ' and b.dbid(+) = s.dbid ' || ' and b.instance_number(+) = s.instance_number ' || ' and b.hash_value(+) = s.hash_value ' || ' and b.address(+) = s.address ' || ' and b.text_subset(+) = s.text_subset ' || ' and s.executions - nvl(b.executions,0) > 0 ' || ' and (s.disk_reads - nvl(b.disk_reads,0) >= :pect_disk_reads ' || ' or s.cpu_time - nvl(b.cpu_time,0) >= :pect_cpu_time ' || ' or s.parse_calls - nvl(b.parse_calls,0) >= :pect_parse_calls ' || ' or s.executions - nvl(b.executions,0) >= :pect_executions)' || ' GROUP BY u.plan_hash_value, u.text_subset, u.hash_value) plans ' || 'where plans.plan_hash_value = sp.plan_hash_value'; OPEN v_plan_cursor_9i FOR v_sql_stmt_9 USING v_e_snap_id, v_e_snap_time_dis, v_e_snap_id, v_dbid, v_instance_number, v_b_snap_id, v_pect_disk_reads, v_pect_cpu_time, v_pect_parse_calls, v_pect_executions; :6 := v_plan_cursor_9i; ELSE -- 92 case v_sql_stmt_9 := 'select :e_snap_id, :e_snap_time_str, ' || 'nvl(sp.plan_hash_value, -1), sp.operation, sp.options, sp.object_node, ' || 'sp.object_owner, sp.object_name, sp.optimizer, sp.id, sp.parent_id, ' || 'sp.position, sp.cost, sp.cardinality, sp.bytes, sp.other_tag, ' || 'sp.partition_start, sp.partition_stop, sp.partition_id, ' || 'sp.other, sp.distribution, sp.cpu_cost, sp.io_cost, ' || 'sp.temp_space, sp.object#, sp.depth, plans.address, plans.hash_value ' || 'from perfstat.stats$sql_plan sp, ' || '(SELECT u.plan_hash_value, MAX(u.cost) cost, MAX(s.address) address, u.hash_value, MAX(s.snap_id) snap_id ' || 'FROM perfstat.stats$sql_plan_usage u, perfstat.stats$sql_summary s, perfstat.stats$sql_summary b ' || 'WHERE u.dbid = :dbid ' || ' AND u.snap_id = :e_snap_id_2 ' || ' AND u.instance_number = :instance_number ' || ' and s.snap_id = u.snap_id ' || ' and s.dbid = u.dbid ' || ' and s.instance_number = u.instance_number ' || ' and u.hash_value = s.hash_value and u.text_subset = s.text_subset ' || ' and b.snap_id(+) = :b_snap_id ' || ' and b.dbid(+) = s.dbid ' || ' and b.instance_number(+) = s.instance_number ' || ' and b.hash_value(+) = s.hash_value ' || ' and b.address(+) = s.address ' || ' and b.text_subset(+) = s.text_subset ' || ' and s.executions - nvl(b.executions,0) > 0 ' || ' and (s.disk_reads - nvl(b.disk_reads,0) >= :pect_disk_reads ' || ' or s.cpu_time - nvl(b.cpu_time,0) >= :pect_cpu_time ' || ' or s.parse_calls - nvl(b.parse_calls,0) >= :pect_parse_calls ' || ' or s.executions - nvl(b.executions,0) >= :pect_executions)' || ' GROUP BY u.dbid, u.snap_id, u.instance_number, u.plan_hash_value, u.text_subset, u.hash_value) plans ' || 'where plans.plan_hash_value = sp.plan_hash_value'; OPEN v_plan_cursor_9i FOR v_sql_stmt_9 USING v_e_snap_id, v_e_snap_time_dis, v_dbid, v_e_snap_id, v_instance_number, v_b_snap_id, v_pect_disk_reads, v_pect_cpu_time, v_pect_parse_calls, v_pect_executions; :6 := v_plan_cursor_9i; END IF; END IF; END; ]]></Property> <Property NAME="SQLINPARAM1" SCOPE="USER">PHY_READ_PCT</Property> <Property NAME="SQLINPARAM2" SCOPE="USER">LOG_READ_PCT</Property> <Property NAME="SQLINPARAM3" SCOPE="USER">CPU_TIME_PCT</Property> <Property NAME="SQLINPARAM4" SCOPE="USER">PAR_CALL_PCT</Property> <Property NAME="SQLINPARAM5" SCOPE="USER">EXEC_PCT</Property> <Property NAME="SQLOUTPARAMPOS" SCOPE="GLOBAL">6</Property> <Property NAME="SQLOUTPARAMTYPE" SCOPE="GLOBAL">SQL_CURSOR</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> </QueryDescriptor> </Metric> <!-- ====================================================================== == Category: Suspended Session == Collection Level: Recommended == Purpose: Alerts ====================================================================== --> <Metric NAME="suspended_session" TYPE="TABLE"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="9i;9iR2"/> <CategoryProp NAME="MetricScope" CHOICES="DB"/> </ValidIf> <Display> <Label NLSID="suspended_session">Suspended Session</Label> </Display> <TableDescriptor> <ColumnDescriptor NAME="count" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="suspended_session_count">Suspended Session Count</Label> </Display> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="SQL"> <Property NAME="STATEMENT" SCOPE="GLOBAL"><![CDATA[ SELECT COUNT(*) FROM v$resumable WHERE status = 'SUSPENDED' AND enabled = 'YES' ]]></Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> </QueryDescriptor> </Metric> <!-- ====================================================================== == Category: Wait by Session Count == Collection Level: Minimum == Purpose: Alerts, Trending ====================================================================== --> <Metric NAME="wait_sess" TYPE="TABLE"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="pre8;8i;8iR2;9i;9iR2"/> </ValidIf> <Display> <Label NLSID="wait_sess">Wait by Session Count</Label> </Display> <TableDescriptor> <ColumnDescriptor NAME="event" TYPE="STRING" IS_KEY="TRUE"> <Display> <Label NLSID="wait_sess_event">Wait Event</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="count" TYPE="NUMBER" IS_KEY="FALSE"> <Display> <Label NLSID="wait_sess_count">Session Waiting for Event Count</Label> </Display> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="SQL"> <Property NAME="STATEMENT" SCOPE="GLOBAL"><![CDATA[ SELECT event, count(1) FROM v$session_wait WHERE wait_time = 0 AND event NOT IN ('ARCH random i/o', 'ARCH sequential i/o', 'KXFX: execution message dequeue - Slaves', 'LGWR random i/o', 'LGWR sequential i/o', 'LGWR wait for redo copy', 'Null event', 'PL/SQL lock timer', 'PX Deq Credit: need buffer', 'PX Deq: Execute Reply', 'PX Deq: Execution Msg', 'PX Deq: Index Merge Close', 'PX Deq: Index Merge Execute', 'PX Deq: Index Merge Reply', 'PX Deq: Join ACK', 'PX Deq: Msg Fragment', 'PX Deq: Par Recov Change Vector', 'PX Deq: Par Recov Execute', 'PX Deq: Par Recov Reply', 'PX Deq: Parse Reply', 'PX Deq: Table Q Normal', 'PX Deq: Table Q Sample', 'PX Deq: Txn Recovery Reply', 'PX Deq: Txn Recovery Start', 'PX Deque wait', 'PX Idle Wait', 'Queue Monitor Shutdown Wait', 'Queue Monitor Slave Wait', 'Queue Monitor Wait', 'RFS random i/o', 'RFS sequential i/o', 'RFS write', 'SQL*Net message from client', 'SQL*Net message from dblink', 'STREAMS apply coord waiting for slave message', 'STREAMS apply coord waiting for some work to finish', 'STREAMS apply slave idle wait', 'STREAMS capture process filter callback wait for ruleset', 'STREAMS fetch slave waiting for txns', 'WMON goes to sleep', 'async disk IO', 'client message', 'control file parallel write', 'control file sequential read', 'control file single write', 'db file single write', 'db file parallel write', 'dispatcher timer', 'gcs log flush sync', 'gcs remote message', 'ges reconfiguration to start', 'ges remote message', 'io done', 'jobq slave wait', 'lock manager wait for remote message', 'log file parallel write', 'log file sequential read', 'log file single write', 'parallel dequeue wait', 'parallel recovery coordinator waits for cleanup of slaves', 'parallel query dequeue', 'parallel query idle wait - Slaves', 'pipe get', 'pmon timer', 'queue messages', 'rdbms ipc message', 'recovery read', 'single-task message', 'slave wait', 'smon timer', 'statement suspended, wait error to be cleared', 'unread message', 'virtual circuit', 'virtual circuit status', 'wait for activate message', 'wait for transaction', 'wait for unread message on broadcast channel', 'wait for unread message on multiple broadcast channels', 'wakeup event for builder', 'wakeup event for preparer', 'wakeup event for reader', 'wakeup time manager') GROUP BY event ]]></Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> </QueryDescriptor> </Metric> <!-- ====================================================================== == Category: System Sessions Waiting == Collection Level: Minimum == Purpose: Alerts, Trending ====================================================================== --> <Metric NAME="sessions_in_wait" TYPE="TABLE"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="pre8;8i;8iR2;9i;9iR2"/> </ValidIf> <Display> <Label NLSID="sessions_in_wait">System Sessions Waiting</Label> </Display> <TableDescriptor> <ColumnDescriptor NAME="total_count" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="sessions_in_wait_total_count">Waiting Session Count</Label> <ShortName NLSID="sessions_in_wait_total_count_short">Waiting Sessions</ShortName> </Display> </ColumnDescriptor> </TableDescriptor> <ExecutionDescriptor> <GetTable NAME="sessions_waiting_per_event" METRIC_NAME="wait_sess" USE_CACHE="TRUE"/> <GroupBy NAME="all_sessions_waiting" FROM_TABLE="sessions_waiting_per_event"> <AggregateColumn NAME="total_count" COLUMN_NAME="count" OPERATOR="SUM"/> </GroupBy> </ExecutionDescriptor> </Metric> <!-- ====================================================================== == Category: RAC Global Cache Traffic per instance == Collection Level: Minimum == Purpose: Alerts ( Only apply for RAC Instances) ====================================================================== --> <!-- Cluster database specific metrics --> <Metric NAME="rac_global_cache" TYPE="TABLE"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="9i;9iR2"/> <CategoryProp NAME="MetricScope" CHOICES="RACINST"/> </ValidIf> <Display> <Label NLSID="global_cache">Global Cache Statistics</Label> </Display> <TableDescriptor> <ColumnDescriptor NAME="lost" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="global_cache_blocks_lost">Global Cache Blocks Lost</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="corrupt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="global_cache_blocks_corrupt">Global Cache Blocks Corrupt</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="convert_time" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="global_cache_convert_time">Global Cache Convert Time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="converts" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="global_cache_converts">Global Cache Converts</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="cr_receive_time" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="global_cache_cr_receive_time">Global Cache CR Receive Time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="cr_receives" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="global_cache_cr_receives">Global Cache CR Receives</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="current_receive_time" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="global_cache_current_receive_time">Global Cache Current Receive Time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="current_receives" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="global_cache_current_receives">Global Cache Current Receives</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="get_time" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="global_cache_get_time">Global Cache Get Time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="gets" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="global_cache_gets">Global Cache Gets</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="converts_cs" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(convert_time - _convert_time)/(converts - _converts)"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="global_cache_converts_cs">Global Cache Average Convert Time (centi-seconds)</Label> <ShortName NLSID="global_cache_converts_cs_sht">GC Average Convert Time (cs)</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="cr_request_cs" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(cr_receive_time - _cr_receive_time)/(cr_receives - _cr_receives)"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="global_cache_cr_request_cs">Global Cache Average CR Block Request Time (centi-seconds)</Label> <ShortName NLSID="global_cache_cr_request_cs_sht">GC Average CR Block Get Time (cs)</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="currentgets_cs" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(current_receive_time - _current_receive_time)/(current_receives - _current_receives)"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="global_cache_current_request_cs">Global Cache Average Current Block Request Time (centi-seconds)</Label> <ShortName NLSID="global_cache_current_request_cs_sht">GC Average Current Block Get Time (cs)</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="gets_cs" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="(get_time - _get_time)/(gets - _gets)"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="global_cache_gets_cs">Global Cache Average Get Time (centi-seconds)</Label> <ShortName NLSID="global_cache_gets_cs_sht">GC Average Get Time (cs)</ShortName> </Display> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="SQL"> <Property NAME="STATEMENT" SCOPE="GLOBAL"><![CDATA[ SELECT SUM(DECODE(name, 'global cache blocks lost', value, 0)) lost, SUM(DECODE(name, 'global cache blocks corrupt', value, 0)) corrupt, SUM(DECODE(name, 'global cache convert time', value, 0)) convert_time, SUM(DECODE(name, 'global cache converts', value, 0)) converts, SUM(DECODE(name, 'global cache cr block receive time', value, 0)) cr_receive_time, SUM(DECODE(name, 'global cache cr blocks received', value, 0)) cr_receives, SUM(DECODE(name, 'global cache current block receive time', value, 0)) current_receive_time, SUM(DECODE(name, 'global cache current blocks received', value, 0)) current_receives, SUM(DECODE(name, 'global cache get time', value, 0)) get_time, SUM(DECODE(name, 'global cache gets', value, 0)) gets from v$sysstat WHERE name IN ('global cache blocks lost', 'global cache blocks corrupt', 'global cache convert time', 'global cache converts', 'global cache cr block receive time', 'global cache cr blocks received', 'global cache current block receive time', 'global cache current blocks received', 'global cache get time', 'global cache gets') ]]></Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> </QueryDescriptor> </Metric> <!-- ====================================================================== == Category: RAC Global Cache Traffic per instance ( Server-generated alert ) == Collection Level: Minimum == Purpose: Alerts ( Only apply for RAC Instances) ====================================================================== --> <!-- Cluster database specific metrics --> <Metric NAME="rac_global_cache" TYPE="TABLE"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="10gR1;10gR2;10gR203;11gR1;11gR2"/> <CategoryProp NAME="MetricScope" CHOICES="RACINST"/> </ValidIf> <Display> <Label NLSID="global_cache">Global Cache Statistics</Label> </Display> <TableDescriptor> <ColumnDescriptor NAME="time" TYPE="STRING" IS_TIMESTAMP="TRUE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="time_series_time">Time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="corrupt" TYPE="NUMBER" STATELESS_ALERTS="TRUE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="global_cache_blocks_corrupt">Global Cache Blocks Corrupt</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="lost" TYPE="NUMBER" STATELESS_ALERTS="TRUE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="global_cache_blocks_lost">Global Cache Blocks Lost</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="cr_request_cs" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="global_cache_cr_request_cs">Global Cache Average CR Block Request Time (centi-seconds)</Label> <ShortName NLSID="global_cache_cr_request_cs_sht">GC Average CR Block Get Time (cs)</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="currentgets_cs" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="global_cache_current_request_cs">Global Cache Average Current Block Request Time (centi-seconds)</Label> <ShortName NLSID="global_cache_current_request_cs_sht">GC Average Current Block Get Time (cs)</ShortName> </Display> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="SQL"> <Property NAME="STATEMENT" SCOPE="GLOBAL"><![CDATA[ SELECT /*+ ORDERED USE_MERGE(m) */ TO_CHAR(CAST(m.end_time AS TIMESTAMP) AT TIME ZONE 'GMT', 'YYYY-MM-DD HH24:MI:SS TZD'), SUM(CASE WHEN a.internal_metric_name = 'corrupt' THEN m.value ELSE 0 END) corrupt, SUM(CASE WHEN a.internal_metric_name = 'lost' THEN m.value ELSE 0 END) lost, SUM(CASE WHEN a.internal_metric_name = 'cr_request_cs' THEN m.value ELSE 0 END) cr_request_cs, SUM(CASE WHEN a.internal_metric_name = 'currentgets_cs' THEN m.value ELSE 0 END) currentgets_cs FROM v$alert_types a, v$threshold_types t, v$sysmetric m WHERE a.internal_metric_category = 'rac_global_cache' AND a.reason_id = t.alert_reason_id AND t.metrics_id = m.metric_id AND m.group_id = 2 AND :1 != 'BASIC' GROUP BY m.end_time ORDER BY m.end_time ASC ]]></Property> <Property NAME="SQLINPARAM1" SCOPE="INSTANCE">StatisticsLevel</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> </QueryDescriptor> <PushDescriptor RECVLET_ID="AQMetrics"> <Property NAME="QueueName" SCOPE="GLOBAL">ALERT_QUE</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> <Property NAME="InstanceName" SCOPE="INSTANCE">InstanceName</Property> </PushDescriptor> </Metric> <!-- ====================================================================== == Category: Server-generated alert Throughput (10gR1) == Collection Level: Minimum == Purpose: Alerts, Trending ====================================================================== --> <Metric NAME="instance_throughput" TYPE="TABLE"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="10gR1"/> </ValidIf> <Display> <Label NLSID="instance_throughput">Throughput</Label> </Display> <TableDescriptor> <!-- Note: The order of these columns must match the output ADT. --> <!-- The field name matches the column name only for clarity. --> <ColumnDescriptor NAME="time" TYPE="STRING" IS_TIMESTAMP="TRUE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="time_series_time">Time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="transactions_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_transactions_ps">Number of Transactions (per second)</Label> <ShortName NLSID="instance_throughput_transactions_ps_short">Transactions/s</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="physreads_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_physreads_ps">Physical Reads (per second)</Label> <ShortName NLSID="instance_throughput_physreads_ps_short">Physical Reads/s</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="physreads_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_physreads_pt">Physical Reads (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="physwrites_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_physwrites_ps">Physical Writes (per second)</Label> <ShortName NLSID="instance_throughput_physwrites_ps_short">Phys Writes/sec</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="physwrites_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_physwrites_pt">Physical Writes (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="physreadsdir_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_physreadsdir_ps">Physical Reads Direct (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="physreadsdir_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_physreadsdir_pt">Physical Reads Direct (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="physwritesdir_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_physwritesdir_ps">Physical Writes Direct (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="physwritesdir_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_physwritesdir_pt">Physical Writes Direct (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="physreadslob_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_physreadslob_ps">Physical Reads Direct Lobs (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="physreadslob_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_physreadslob_pt">Physical Reads Direct Lobs (per transaction)</Label> <ShortName NLSID="instance_throughput_physreadslob_pt_sht">Physical Reads Direct Lobs (per txn)</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="physwriteslob_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_physwriteslob_ps">Physical Writes Direct Lobs (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="physwriteslob_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_physwriteslob_pt">Physical Writes Direct Lobs (per transaction)</Label> <ShortName NLSID="instance_throughput_physwriteslob_pt_sht">Physical Writes Direct Lobs (per txn)</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="redosize_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_redosize_ps">Redo Generated (per second)</Label> <ShortName NLSID="instance_throughput_redosize_ps_short">Redo Size/sec</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="logons_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_logons_ps">Cumulative Logons (per second)</Label> <ShortName NLSID="instance_throughput_logons_ps_short">Logons/sec</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="logons_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_logons_pt">Cumulative Logons (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="opncurs_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_opncurs_ps">Open Cursors (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="opncurs_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_opncurs_pt">Open Cursors (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="commits_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_commits_ps">User Commits (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="commits_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_commits_pt">User Commits (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="rollbacks_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_rollbacks_ps">User Rollbacks (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="rollbacks_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_rollbacks_pt">User Rollbacks (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="usercalls_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_usercalls_ps">User Calls (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="usercalls_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_usercalls_pt">User Calls (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="recurscalls_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_recurscalls_ps">Recursive Calls (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="recurscalls_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_recurscalls_pt">Recursive Calls (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="logreads_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_logreads_ps">Session Logical Reads (per second)</Label> <ShortName NLSID="instance_throughput_logreads_ps_short">Logical Reads/s</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="logreads_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_logreads_pt">Session Logical Reads (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="dbwrcheckpoints_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_dbwrcheckpoints_ps">DBWR Checkpoints (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="bgcheckpoints_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_bgcheckpoints_ps">BG Checkpoints (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="redowrites_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_redowrites_ps">Redo Writes (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="redowrites_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_redowrites_pt">Redo Writes (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="tabscanslong_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_tabscanslong_ps">Scans on Long Tables (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="tabscanslong_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_tabscanslong_pt">Scans on Long Tables (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="tabscanstotal_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_tabscanstotal_ps">Total Table Scans (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="tabscanstotal_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_tabscanstotal_pt">Total Table Scans (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="indxscansfull_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_indxscansfull_pt">Full Index Scans (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="indxscansfull_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_indxscansfull_ps">Full Index Scans (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="indxscanstotal_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_indxscanstotal_ps">Total Index Scans (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="indxscanstotal_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_indxscanstotal_pt">Total Index Scans (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="parses_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_parses_ps">Total Parses (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="parses_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_parses_pt">Total Parses (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="hardparses_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_hardparses_ps">Hard Parses (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="hardparses_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_hardparses_pt">Hard Parses (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="failedparses_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_failedparses_ps">Parse Failure Count (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="failedparses_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_failedparses_pt">Parse Failure Count (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="sortsdisk_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_sortsdisk_ps">Sorts to Disk (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="sortsdisk_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_sortsdisk_pt">Sorts to Disk (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="rows_psort" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_rows_psort">Rows Processed (per sort)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="executeswoparse_pct" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_executeswoparse_pct">Executes Performed without Parses (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="softparse_pct" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_softparse_pct">Soft Parse (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="usercall_pct" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_usercall_pct">User Calls (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="networkbytes_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_networkbytes_ps">Network Bytes (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="enqtimeouts_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_enqtimeouts_ps">Enqueue Timeout (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="enqtimeouts_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_enqtimeouts_pt">Enqueue Timeout (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="enqwaits_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_enqwaits_ps">Enqueue Waits (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="enqwaits_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_enqwaits_pt">Enqueue Waits (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="enqdeadlocks_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_enqdeadlocks_ps">Enqueue Deadlocks (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="enqdeadlocks_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_enqdeadlocks_pt">Enqueue Deadlocks (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="enqreqs_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_enqreqs_ps">Enqueue Requests (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="enqreqs_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_enqreqs_pt">Enqueue Requests (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="dbblkgets_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_dbblkgets_ps">Database Block Gets (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="dbblkgets_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_dbblkgets_pt">Database Block Gets (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="consistentreadgets_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_consistentreadgets_ps">Consistent Read Gets (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="consistentreadgets_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_consistentreadgets_pt">Consistent Read Gets (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="dbblkchanges_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_dbblkchanges_ps">Database Block Changes (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="dbblkchanges_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_dbblkchanges_pt">Database Block Changes (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="consistentreadchanges_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_consistentreadchanges_ps">Consistent Read Changes (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="consistentreadchanges_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_consistentreadchanges_pt">Consistent Read Changes (per transaction)</Label> <ShortName NLSID="instance_throughput_consistentreadchanges_pt_sht">Cons Read Changes (per txn)</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="crblks_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_crblks_ps">Consistent Read Blocks Created (per second)</Label> <ShortName NLSID="instance_throughput_crblks_ps_sht">Cons Read Blocks Created (per sec)</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="crblks_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_crblks_pt">Consistent Read Blocks Created (per transaction)</Label> <ShortName NLSID="instance_throughput_crblks_pt_sht">Cons Read Blocks Created (per txn)</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="crundorecs_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_crundorecs_pt">Consistent Read Undo Records Applied (per transaction)</Label> <ShortName NLSID="instance_throughput_crundorecs_pt_sht">Cons Read Undo Applied (per txn)</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="userrollbackundorec_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_userrollbackundorec_ps">User Rollback Undo Records Applied (per second)</Label> <ShortName NLSID="instance_throughput_userrollbackundorec_ps_sht">Rollback Undo Applied (per sec)</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="userrollbackundorec_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_userrollbackundorec_pt">User Rollback Undo Records Applied (per transaction)</Label> <ShortName NLSID="instance_throughput_userrollbackundorec_pt_sht">Rollback Undo Applied (per txn)</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="leafnodesplits_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_leafnodesplits_ps">Leaf Node Splits (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="leafnodesplits_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_leafnodesplits_pt">Leaf Node Splits (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="branchnodesplits_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_branchnodesplits_ps">Branch Node Splits (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="branchnodesplits_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_branchnodesplits_pt">Branch Node Splits (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="redosize_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_redosize_pt">Redo Generated (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="crundorecs_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_crundorecs_ps">Consistent Read Undo Records Applied (per second)</Label> <ShortName NLSID="instance_throughput_crundorecs_ps_sht">Cons Read Undo Applied (per sec)</ShortName> </Display> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="SQL"> <Property NAME="STATEMENT" SCOPE="GLOBAL"><![CDATA[ SELECT /*+ ORDERED USE_MERGE(m) */ TO_CHAR(CAST(m.end_time AS TIMESTAMP) AT TIME ZONE 'GMT', 'YYYY-MM-DD HH24:MI:SS TZD'), SUM(CASE WHEN a.internal_metric_name = 'transactions_ps' THEN m.value ELSE 0 END) transactions_ps, SUM(CASE WHEN a.internal_metric_name = 'physreads_ps' THEN m.value ELSE 0 END) physreads_ps, SUM(CASE WHEN a.internal_metric_name = 'physreads_pt' THEN m.value ELSE 0 END) physreads_pt, SUM(CASE WHEN a.internal_metric_name = 'physwrites_ps' THEN m.value ELSE 0 END) physwrites_ps, SUM(CASE WHEN a.internal_metric_name = 'physwrites_pt' THEN m.value ELSE 0 END) physwrites_pt, SUM(CASE WHEN a.internal_metric_name = 'physreadsdir_ps' THEN m.value ELSE 0 END) physreadsdir_ps, SUM(CASE WHEN a.internal_metric_name = 'physreadsdir_pt' THEN m.value ELSE 0 END) physreadsdir_pt, SUM(CASE WHEN a.internal_metric_name = 'physwritesdir_ps' THEN m.value ELSE 0 END) physwritesdir_ps, SUM(CASE WHEN a.internal_metric_name = 'physwritesdir_pt' THEN m.value ELSE 0 END) physwritesdir_pt, SUM(CASE WHEN a.internal_metric_name = 'physreadslob_ps' THEN m.value ELSE 0 END) physreadslob_ps, SUM(CASE WHEN a.internal_metric_name = 'physreadslob_pt' THEN m.value ELSE 0 END) physreadslob_pt, SUM(CASE WHEN a.internal_metric_name = 'physwriteslob_ps' THEN m.value ELSE 0 END) physwriteslob_ps, SUM(CASE WHEN a.internal_metric_name = 'physwriteslob_pt' THEN m.value ELSE 0 END) physwriteslob_pt, SUM(CASE WHEN a.internal_metric_name = 'redosize_ps' THEN m.value ELSE 0 END) redosize_ps, SUM(CASE WHEN a.internal_metric_name = 'logons_ps' THEN m.value ELSE 0 END) logons_ps, SUM(CASE WHEN a.internal_metric_name = 'logons_pt' THEN m.value ELSE 0 END) logons_pt, SUM(CASE WHEN a.internal_metric_name = 'opncurs_ps' THEN m.value ELSE 0 END) opncurs_ps, SUM(CASE WHEN a.internal_metric_name = 'opncurs_pt' THEN m.value ELSE 0 END) opncurs_pt, SUM(CASE WHEN a.internal_metric_name = 'commits_ps' THEN m.value ELSE 0 END) commits_ps, SUM(CASE WHEN a.internal_metric_name = 'commits_pt' THEN m.value ELSE 0 END) commits_pt, SUM(CASE WHEN a.internal_metric_name = 'rollbacks_ps' THEN m.value ELSE 0 END) rollbacks_ps, SUM(CASE WHEN a.internal_metric_name = 'rollbacks_pt' THEN m.value ELSE 0 END) rollbacks_pt, SUM(CASE WHEN a.internal_metric_name = 'usercalls_ps' THEN m.value ELSE 0 END) usercalls_ps, SUM(CASE WHEN a.internal_metric_name = 'usercalls_pt' THEN m.value ELSE 0 END) usercalls_pt, SUM(CASE WHEN a.internal_metric_name = 'recurscalls_ps' THEN m.value ELSE 0 END) recurscalls_ps, SUM(CASE WHEN a.internal_metric_name = 'recurscalls_pt' THEN m.value ELSE 0 END) recurscalls_pt, SUM(CASE WHEN a.internal_metric_name = 'logreads_ps' THEN m.value ELSE 0 END) logreads_ps, SUM(CASE WHEN a.internal_metric_name = 'logreads_pt' THEN m.value ELSE 0 END) logreads_pt, SUM(CASE WHEN a.internal_metric_name = 'dbwrcheckpoints_ps' THEN m.value ELSE 0 END) dbwrcheckpoints_ps, SUM(CASE WHEN a.internal_metric_name = 'bgcheckpoints_ps' THEN m.value ELSE 0 END) bgcheckpoints_ps, SUM(CASE WHEN a.internal_metric_name = 'redowrites_ps' THEN m.value ELSE 0 END) redowrites_ps, SUM(CASE WHEN a.internal_metric_name = 'redowrites_pt' THEN m.value ELSE 0 END) redowrites_pt, SUM(CASE WHEN a.internal_metric_name = 'tabscanslong_ps' THEN m.value ELSE 0 END) tabscanslong_ps, SUM(CASE WHEN a.internal_metric_name = 'tabscanslong_pt' THEN m.value ELSE 0 END) tabscanslong_pt, SUM(CASE WHEN a.internal_metric_name = 'tabscanstotal_ps' THEN m.value ELSE 0 END) tabscanstotal_ps, SUM(CASE WHEN a.internal_metric_name = 'tabscanstotal_pt' THEN m.value ELSE 0 END) tabscanstotal_pt, SUM(CASE WHEN a.internal_metric_name = 'indxscansfull_pt' THEN m.value ELSE 0 END) indxscansfull_pt, SUM(CASE WHEN a.internal_metric_name = 'indxscansfull_ps' THEN m.value ELSE 0 END) indxscansfull_ps, SUM(CASE WHEN a.internal_metric_name = 'indxscanstotal_ps' THEN m.value ELSE 0 END) indxscanstotal_ps, SUM(CASE WHEN a.internal_metric_name = 'indxscanstotal_pt' THEN m.value ELSE 0 END) indxscanstotal_pt, SUM(CASE WHEN a.internal_metric_name = 'parses_ps' THEN m.value ELSE 0 END) parses_ps, SUM(CASE WHEN a.internal_metric_name = 'parses_pt' THEN m.value ELSE 0 END) parses_pt, SUM(CASE WHEN a.internal_metric_name = 'hardparses_ps' THEN m.value ELSE 0 END) hardparses_ps, SUM(CASE WHEN a.internal_metric_name = 'hardparses_pt' THEN m.value ELSE 0 END) hardparses_pt, SUM(CASE WHEN a.internal_metric_name = 'failedparses_ps' THEN m.value ELSE 0 END) failedparses_ps, SUM(CASE WHEN a.internal_metric_name = 'failedparses_pt' THEN m.value ELSE 0 END) failedparses_pt, SUM(CASE WHEN a.internal_metric_name = 'sortsdisk_ps' THEN m.value ELSE 0 END) sortsdisk_ps, SUM(CASE WHEN a.internal_metric_name = 'sortsdisk_pt' THEN m.value ELSE 0 END) sortsdisk_pt, SUM(CASE WHEN a.internal_metric_name = 'rows_psort' THEN m.value ELSE 0 END) rows_psort, SUM(CASE WHEN a.internal_metric_name = 'executeswoparse_pct' THEN m.value ELSE 0 END) executeswoparse_pct, SUM(CASE WHEN a.internal_metric_name = 'softparse_pct' THEN m.value ELSE 0 END) softparse_pct, SUM(CASE WHEN a.internal_metric_name = 'usercall_pct' THEN m.value ELSE 0 END) usercall_pct, SUM(CASE WHEN a.internal_metric_name = 'networkbytes_ps' THEN m.value ELSE 0 END) networkbytes_ps, SUM(CASE WHEN a.internal_metric_name = 'enqtimeouts_ps' THEN m.value ELSE 0 END) enqtimeouts_ps, SUM(CASE WHEN a.internal_metric_name = 'enqtimeouts_pt' THEN m.value ELSE 0 END) enqtimeouts_pt, SUM(CASE WHEN a.internal_metric_name = 'enqwaits_ps' THEN m.value ELSE 0 END) enqwaits_ps, SUM(CASE WHEN a.internal_metric_name = 'enqwaits_pt' THEN m.value ELSE 0 END) enqwaits_pt, SUM(CASE WHEN a.internal_metric_name = 'enqdeadlocks_ps' THEN m.value ELSE 0 END) enqdeadlocks_ps, SUM(CASE WHEN a.internal_metric_name = 'enqdeadlocks_pt' THEN m.value ELSE 0 END) enqdeadlocks_pt, SUM(CASE WHEN a.internal_metric_name = 'enqreqs_ps' THEN m.value ELSE 0 END) enqreqs_ps, SUM(CASE WHEN a.internal_metric_name = 'enqreqs_pt' THEN m.value ELSE 0 END) enqreqs_pt, SUM(CASE WHEN a.internal_metric_name = 'dbblkgets_ps' THEN m.value ELSE 0 END) dbblkgets_ps, SUM(CASE WHEN a.internal_metric_name = 'dbblkgets_pt' THEN m.value ELSE 0 END) dbblkgets_pt, SUM(CASE WHEN a.internal_metric_name = 'consistentreadgets_ps' THEN m.value ELSE 0 END) consistentreadgets_ps, SUM(CASE WHEN a.internal_metric_name = 'consistentreadgets_pt' THEN m.value ELSE 0 END) consistentreadgets_pt, SUM(CASE WHEN a.internal_metric_name = 'dbblkchanges_ps' THEN m.value ELSE 0 END) dbblkchanges_ps, SUM(CASE WHEN a.internal_metric_name = 'dbblkchanges_pt' THEN m.value ELSE 0 END) dbblkchanges_pt, SUM(CASE WHEN a.internal_metric_name = 'consistentreadchanges_ps' THEN m.value ELSE 0 END) consistentreadchanges_ps, SUM(CASE WHEN a.internal_metric_name = 'consistentreadchanges_pt' THEN m.value ELSE 0 END) consistentreadchanges_pt, SUM(CASE WHEN a.internal_metric_name = 'crblks_ps' THEN m.value ELSE 0 END) crblks_ps, SUM(CASE WHEN a.internal_metric_name = 'crblks_pt' THEN m.value ELSE 0 END) crblks_pt, SUM(CASE WHEN a.internal_metric_name = 'crundorecs_pt' THEN m.value ELSE 0 END) crundorecs_pt, SUM(CASE WHEN a.internal_metric_name = 'userrollbackundorec_ps' THEN m.value ELSE 0 END) userrollbackundorec_ps, SUM(CASE WHEN a.internal_metric_name = 'userrollbackundorec_pt' THEN m.value ELSE 0 END) userrollbackundorec_pt, SUM(CASE WHEN a.internal_metric_name = 'leafnodesplits_ps' THEN m.value ELSE 0 END) leafnodesplits_ps, SUM(CASE WHEN a.internal_metric_name = 'leafnodesplits_pt' THEN m.value ELSE 0 END) leafnodesplits_pt, SUM(CASE WHEN a.internal_metric_name = 'branchnodesplits_ps' THEN m.value ELSE 0 END) branchnodesplits_ps, SUM(CASE WHEN a.internal_metric_name = 'branchnodesplits_pt' THEN m.value ELSE 0 END) branchnodesplits_pt, SUM(CASE WHEN a.internal_metric_name = 'redosize_pt' THEN m.value ELSE 0 END) redosize_pt, SUM(CASE WHEN a.internal_metric_name = 'crundorecs_ps' THEN m.value ELSE 0 END) crundorecs_ps FROM v$alert_types a, v$threshold_types t, v$sysmetric m WHERE a.internal_metric_category = 'instance_throughput' AND a.reason_id = t.alert_reason_id AND t.metrics_id = m.metric_id AND m.group_id = 2 AND :1 != 'BASIC' GROUP BY m.end_time ORDER BY m.end_time ASC ]]></Property> <Property NAME="SQLINPARAM1" SCOPE="INSTANCE">StatisticsLevel</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> </QueryDescriptor> <PushDescriptor RECVLET_ID="AQMetrics"> <Property NAME="QueueName" SCOPE="GLOBAL">ALERT_QUE</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> <Property NAME="InstanceName" SCOPE="INSTANCE">InstanceName</Property> </PushDescriptor> </Metric> <!-- ====================================================================== == Category: Server-generated alert Throughput (10gR2) == Collection Level: Minimum == Purpose: Alerts, Trending ====================================================================== --> <Metric NAME="instance_throughput" TYPE="TABLE"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="10gR2;10gR203"/> </ValidIf> <Display> <Label NLSID="instance_throughput">Throughput</Label> </Display> <TableDescriptor> <!-- Note: The order of these columns must match the output ADT. --> <!-- The field name matches the column name only for clarity. --> <ColumnDescriptor NAME="time" TYPE="STRING" IS_TIMESTAMP="TRUE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="time_series_time">Time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="transactions_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_transactions_ps">Number of Transactions (per second)</Label> <ShortName NLSID="instance_throughput_transactions_ps_short">Transactions/s</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="physreads_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_physreads_ps">Physical Reads (per second)</Label> <ShortName NLSID="instance_throughput_physreads_ps_short">Physical Reads/s</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="physreads_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_physreads_pt">Physical Reads (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="physwrites_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_physwrites_ps">Physical Writes (per second)</Label> <ShortName NLSID="instance_throughput_physwrites_ps_short">Phys Writes/sec</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="physwrites_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_physwrites_pt">Physical Writes (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="physreadsdir_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_physreadsdir_ps">Physical Reads Direct (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="physreadsdir_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_physreadsdir_pt">Physical Reads Direct (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="physwritesdir_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_physwritesdir_ps">Physical Writes Direct (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="physwritesdir_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_physwritesdir_pt">Physical Writes Direct (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="physreadslob_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_physreadslob_ps">Physical Reads Direct Lobs (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="physreadslob_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_physreadslob_pt">Physical Reads Direct Lobs (per transaction)</Label> <ShortName NLSID="instance_throughput_physreadslob_pt_sht">Physical Reads Direct Lobs (per txn)</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="physwriteslob_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_physwriteslob_ps">Physical Writes Direct Lobs (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="physwriteslob_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_physwriteslob_pt">Physical Writes Direct Lobs (per transaction)</Label> <ShortName NLSID="instance_throughput_physwriteslob_pt_sht">Physical Writes Direct Lobs (per txn)</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="redosize_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_redosize_ps">Redo Generated (per second)</Label> <ShortName NLSID="instance_throughput_redosize_ps_short">Redo Size/sec</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="logons_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_logons_ps">Cumulative Logons (per second)</Label> <ShortName NLSID="instance_throughput_logons_ps_short">Logons/sec</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="logons_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_logons_pt">Cumulative Logons (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="opncurs_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_opncurs_ps">Open Cursors (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="opncurs_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_opncurs_pt">Open Cursors (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="commits_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_commits_ps">User Commits (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="commits_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_commits_pt">User Commits (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="rollbacks_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_rollbacks_ps">User Rollbacks (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="rollbacks_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_rollbacks_pt">User Rollbacks (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="usercalls_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_usercalls_ps">User Calls (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="usercalls_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_usercalls_pt">User Calls (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="recurscalls_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_recurscalls_ps">Recursive Calls (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="recurscalls_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_recurscalls_pt">Recursive Calls (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="logreads_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_logreads_ps">Session Logical Reads (per second)</Label> <ShortName NLSID="instance_throughput_logreads_ps_short">Logical Reads/s</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="logreads_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_logreads_pt">Session Logical Reads (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="dbwrcheckpoints_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_dbwrcheckpoints_ps">DBWR Checkpoints (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="bgcheckpoints_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_bgcheckpoints_ps">BG Checkpoints (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="redowrites_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_redowrites_ps">Redo Writes (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="redowrites_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_redowrites_pt">Redo Writes (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="tabscanslong_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_tabscanslong_ps">Scans on Long Tables (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="tabscanslong_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_tabscanslong_pt">Scans on Long Tables (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="tabscanstotal_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_tabscanstotal_ps">Total Table Scans (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="tabscanstotal_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_tabscanstotal_pt">Total Table Scans (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="indxscansfull_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_indxscansfull_pt">Full Index Scans (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="indxscansfull_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_indxscansfull_ps">Full Index Scans (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="indxscanstotal_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_indxscanstotal_ps">Total Index Scans (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="indxscanstotal_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_indxscanstotal_pt">Total Index Scans (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="parses_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_parses_ps">Total Parses (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="parses_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_parses_pt">Total Parses (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="hardparses_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_hardparses_ps">Hard Parses (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="hardparses_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_hardparses_pt">Hard Parses (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="failedparses_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_failedparses_ps">Parse Failure Count (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="failedparses_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_failedparses_pt">Parse Failure Count (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="executions_ps"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_executions_ps">Executes (per second)</Label> <ShortName NLSID="instance_throughput_executions_ps_short">SQL Executions/s</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="sortsdisk_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_sortsdisk_ps">Sorts to Disk (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="sortsdisk_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_sortsdisk_pt">Sorts to Disk (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="rows_psort" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_rows_psort">Rows Processed (per sort)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="executeswoparse_pct" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_executeswoparse_pct">Executes Performed without Parses (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="softparse_pct" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_softparse_pct">Soft Parse (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="usercall_pct" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_usercall_pct">User Calls (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="networkbytes_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_networkbytes_ps">Network Bytes (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="enqtimeouts_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_enqtimeouts_ps">Enqueue Timeout (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="enqtimeouts_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_enqtimeouts_pt">Enqueue Timeout (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="enqwaits_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_enqwaits_ps">Enqueue Waits (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="enqwaits_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_enqwaits_pt">Enqueue Waits (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="enqdeadlocks_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_enqdeadlocks_ps">Enqueue Deadlocks (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="enqdeadlocks_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_enqdeadlocks_pt">Enqueue Deadlocks (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="enqreqs_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_enqreqs_ps">Enqueue Requests (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="enqreqs_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_enqreqs_pt">Enqueue Requests (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="dbblkgets_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_dbblkgets_ps">Database Block Gets (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="dbblkgets_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_dbblkgets_pt">Database Block Gets (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="consistentreadgets_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_consistentreadgets_ps">Consistent Read Gets (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="consistentreadgets_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_consistentreadgets_pt">Consistent Read Gets (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="dbblkchanges_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_dbblkchanges_ps">Database Block Changes (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="dbblkchanges_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_dbblkchanges_pt">Database Block Changes (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="consistentreadchanges_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_consistentreadchanges_ps">Consistent Read Changes (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="consistentreadchanges_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_consistentreadchanges_pt">Consistent Read Changes (per transaction)</Label> <ShortName NLSID="instance_throughput_consistentreadchanges_pt_sht">Cons Read Changes (per txn)</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="crblks_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_crblks_ps">Consistent Read Blocks Created (per second)</Label> <ShortName NLSID="instance_throughput_crblks_ps_sht">Cons Read Blocks Created (per sec)</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="crblks_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_crblks_pt">Consistent Read Blocks Created (per transaction)</Label> <ShortName NLSID="instance_throughput_crblks_pt_sht">Cons Read Blocks Created (per txn)</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="crundorecs_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_crundorecs_pt">Consistent Read Undo Records Applied (per transaction)</Label> <ShortName NLSID="instance_throughput_crundorecs_pt_sht">Cons Read Undo Applied (per txn)</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="userrollbackundorec_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_userrollbackundorec_ps">User Rollback Undo Records Applied (per second)</Label> <ShortName NLSID="instance_throughput_userrollbackundorec_ps_sht">Rollback Undo Applied (per sec)</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="userrollbackundorec_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_userrollbackundorec_pt">User Rollback Undo Records Applied (per transaction)</Label> <ShortName NLSID="instance_throughput_userrollbackundorec_pt_sht">Rollback Undo Applied (per txn)</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="leafnodesplits_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_leafnodesplits_ps">Leaf Node Splits (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="leafnodesplits_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_leafnodesplits_pt">Leaf Node Splits (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="branchnodesplits_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_branchnodesplits_ps">Branch Node Splits (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="branchnodesplits_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_branchnodesplits_pt">Branch Node Splits (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="redosize_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_redosize_pt">Redo Generated (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="crundorecs_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_crundorecs_ps">Consistent Read Undo Records Applied (per second)</Label> <ShortName NLSID="instance_throughput_crundorecs_ps_sht">Cons Read Undo Applied (per sec)</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="dbtime_ps"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_dbtime_ps">Database Time (centiseconds per second)</Label> <ShortName NLSID="instance_throughput_dbtime_ps_sht">Database Time (per second)</ShortName> </Display> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="SQL"> <Property NAME="STATEMENT" SCOPE="GLOBAL"><![CDATA[ SELECT /*+ ORDERED USE_MERGE(m) */ TO_CHAR(CAST(m.end_time AS TIMESTAMP) AT TIME ZONE 'GMT', 'YYYY-MM-DD HH24:MI:SS TZD'), SUM(CASE WHEN a.internal_metric_name = 'transactions_ps' THEN m.value ELSE 0 END) transactions_ps, SUM(CASE WHEN a.internal_metric_name = 'physreads_ps' THEN m.value ELSE 0 END) physreads_ps, SUM(CASE WHEN a.internal_metric_name = 'physreads_pt' THEN m.value ELSE 0 END) physreads_pt, SUM(CASE WHEN a.internal_metric_name = 'physwrites_ps' THEN m.value ELSE 0 END) physwrites_ps, SUM(CASE WHEN a.internal_metric_name = 'physwrites_pt' THEN m.value ELSE 0 END) physwrites_pt, SUM(CASE WHEN a.internal_metric_name = 'physreadsdir_ps' THEN m.value ELSE 0 END) physreadsdir_ps, SUM(CASE WHEN a.internal_metric_name = 'physreadsdir_pt' THEN m.value ELSE 0 END) physreadsdir_pt, SUM(CASE WHEN a.internal_metric_name = 'physwritesdir_ps' THEN m.value ELSE 0 END) physwritesdir_ps, SUM(CASE WHEN a.internal_metric_name = 'physwritesdir_pt' THEN m.value ELSE 0 END) physwritesdir_pt, SUM(CASE WHEN a.internal_metric_name = 'physreadslob_ps' THEN m.value ELSE 0 END) physreadslob_ps, SUM(CASE WHEN a.internal_metric_name = 'physreadslob_pt' THEN m.value ELSE 0 END) physreadslob_pt, SUM(CASE WHEN a.internal_metric_name = 'physwriteslob_ps' THEN m.value ELSE 0 END) physwriteslob_ps, SUM(CASE WHEN a.internal_metric_name = 'physwriteslob_pt' THEN m.value ELSE 0 END) physwriteslob_pt, SUM(CASE WHEN a.internal_metric_name = 'redosize_ps' THEN m.value ELSE 0 END) redosize_ps, SUM(CASE WHEN a.internal_metric_name = 'logons_ps' THEN m.value ELSE 0 END) logons_ps, SUM(CASE WHEN a.internal_metric_name = 'logons_pt' THEN m.value ELSE 0 END) logons_pt, SUM(CASE WHEN a.internal_metric_name = 'opncurs_ps' THEN m.value ELSE 0 END) opncurs_ps, SUM(CASE WHEN a.internal_metric_name = 'opncurs_pt' THEN m.value ELSE 0 END) opncurs_pt, SUM(CASE WHEN a.internal_metric_name = 'commits_ps' THEN m.value ELSE 0 END) commits_ps, SUM(CASE WHEN a.internal_metric_name = 'commits_pt' THEN m.value ELSE 0 END) commits_pt, SUM(CASE WHEN a.internal_metric_name = 'rollbacks_ps' THEN m.value ELSE 0 END) rollbacks_ps, SUM(CASE WHEN a.internal_metric_name = 'rollbacks_pt' THEN m.value ELSE 0 END) rollbacks_pt, SUM(CASE WHEN a.internal_metric_name = 'usercalls_ps' THEN m.value ELSE 0 END) usercalls_ps, SUM(CASE WHEN a.internal_metric_name = 'usercalls_pt' THEN m.value ELSE 0 END) usercalls_pt, SUM(CASE WHEN a.internal_metric_name = 'recurscalls_ps' THEN m.value ELSE 0 END) recurscalls_ps, SUM(CASE WHEN a.internal_metric_name = 'recurscalls_pt' THEN m.value ELSE 0 END) recurscalls_pt, SUM(CASE WHEN a.internal_metric_name = 'logreads_ps' THEN m.value ELSE 0 END) logreads_ps, SUM(CASE WHEN a.internal_metric_name = 'logreads_pt' THEN m.value ELSE 0 END) logreads_pt, SUM(CASE WHEN a.internal_metric_name = 'dbwrcheckpoints_ps' THEN m.value ELSE 0 END) dbwrcheckpoints_ps, SUM(CASE WHEN a.internal_metric_name = 'bgcheckpoints_ps' THEN m.value ELSE 0 END) bgcheckpoints_ps, SUM(CASE WHEN a.internal_metric_name = 'redowrites_ps' THEN m.value ELSE 0 END) redowrites_ps, SUM(CASE WHEN a.internal_metric_name = 'redowrites_pt' THEN m.value ELSE 0 END) redowrites_pt, SUM(CASE WHEN a.internal_metric_name = 'tabscanslong_ps' THEN m.value ELSE 0 END) tabscanslong_ps, SUM(CASE WHEN a.internal_metric_name = 'tabscanslong_pt' THEN m.value ELSE 0 END) tabscanslong_pt, SUM(CASE WHEN a.internal_metric_name = 'tabscanstotal_ps' THEN m.value ELSE 0 END) tabscanstotal_ps, SUM(CASE WHEN a.internal_metric_name = 'tabscanstotal_pt' THEN m.value ELSE 0 END) tabscanstotal_pt, SUM(CASE WHEN a.internal_metric_name = 'indxscansfull_pt' THEN m.value ELSE 0 END) indxscansfull_pt, SUM(CASE WHEN a.internal_metric_name = 'indxscansfull_ps' THEN m.value ELSE 0 END) indxscansfull_ps, SUM(CASE WHEN a.internal_metric_name = 'indxscanstotal_ps' THEN m.value ELSE 0 END) indxscanstotal_ps, SUM(CASE WHEN a.internal_metric_name = 'indxscanstotal_pt' THEN m.value ELSE 0 END) indxscanstotal_pt, SUM(CASE WHEN a.internal_metric_name = 'parses_ps' THEN m.value ELSE 0 END) parses_ps, SUM(CASE WHEN a.internal_metric_name = 'parses_pt' THEN m.value ELSE 0 END) parses_pt, SUM(CASE WHEN a.internal_metric_name = 'hardparses_ps' THEN m.value ELSE 0 END) hardparses_ps, SUM(CASE WHEN a.internal_metric_name = 'hardparses_pt' THEN m.value ELSE 0 END) hardparses_pt, SUM(CASE WHEN a.internal_metric_name = 'failedparses_ps' THEN m.value ELSE 0 END) failedparses_ps, SUM(CASE WHEN a.internal_metric_name = 'failedparses_pt' THEN m.value ELSE 0 END) failedparses_pt, SUM(CASE WHEN a.internal_metric_name = 'executions_ps' THEN m.value ELSE 0 END) executions_ps, SUM(CASE WHEN a.internal_metric_name = 'sortsdisk_ps' THEN m.value ELSE 0 END) sortsdisk_ps, SUM(CASE WHEN a.internal_metric_name = 'sortsdisk_pt' THEN m.value ELSE 0 END) sortsdisk_pt, SUM(CASE WHEN a.internal_metric_name = 'rows_psort' THEN m.value ELSE 0 END) rows_psort, SUM(CASE WHEN a.internal_metric_name = 'executeswoparse_pct' THEN m.value ELSE 0 END) executeswoparse_pct, SUM(CASE WHEN a.internal_metric_name = 'softparse_pct' THEN m.value ELSE 0 END) softparse_pct, SUM(CASE WHEN a.internal_metric_name = 'usercall_pct' THEN m.value ELSE 0 END) usercall_pct, SUM(CASE WHEN a.internal_metric_name = 'networkbytes_ps' THEN m.value ELSE 0 END) networkbytes_ps, SUM(CASE WHEN a.internal_metric_name = 'enqtimeouts_ps' THEN m.value ELSE 0 END) enqtimeouts_ps, SUM(CASE WHEN a.internal_metric_name = 'enqtimeouts_pt' THEN m.value ELSE 0 END) enqtimeouts_pt, SUM(CASE WHEN a.internal_metric_name = 'enqwaits_ps' THEN m.value ELSE 0 END) enqwaits_ps, SUM(CASE WHEN a.internal_metric_name = 'enqwaits_pt' THEN m.value ELSE 0 END) enqwaits_pt, SUM(CASE WHEN a.internal_metric_name = 'enqdeadlocks_ps' THEN m.value ELSE 0 END) enqdeadlocks_ps, SUM(CASE WHEN a.internal_metric_name = 'enqdeadlocks_pt' THEN m.value ELSE 0 END) enqdeadlocks_pt, SUM(CASE WHEN a.internal_metric_name = 'enqreqs_ps' THEN m.value ELSE 0 END) enqreqs_ps, SUM(CASE WHEN a.internal_metric_name = 'enqreqs_pt' THEN m.value ELSE 0 END) enqreqs_pt, SUM(CASE WHEN a.internal_metric_name = 'dbblkgets_ps' THEN m.value ELSE 0 END) dbblkgets_ps, SUM(CASE WHEN a.internal_metric_name = 'dbblkgets_pt' THEN m.value ELSE 0 END) dbblkgets_pt, SUM(CASE WHEN a.internal_metric_name = 'consistentreadgets_ps' THEN m.value ELSE 0 END) consistentreadgets_ps, SUM(CASE WHEN a.internal_metric_name = 'consistentreadgets_pt' THEN m.value ELSE 0 END) consistentreadgets_pt, SUM(CASE WHEN a.internal_metric_name = 'dbblkchanges_ps' THEN m.value ELSE 0 END) dbblkchanges_ps, SUM(CASE WHEN a.internal_metric_name = 'dbblkchanges_pt' THEN m.value ELSE 0 END) dbblkchanges_pt, SUM(CASE WHEN a.internal_metric_name = 'consistentreadchanges_ps' THEN m.value ELSE 0 END) consistentreadchanges_ps, SUM(CASE WHEN a.internal_metric_name = 'consistentreadchanges_pt' THEN m.value ELSE 0 END) consistentreadchanges_pt, SUM(CASE WHEN a.internal_metric_name = 'crblks_ps' THEN m.value ELSE 0 END) crblks_ps, SUM(CASE WHEN a.internal_metric_name = 'crblks_pt' THEN m.value ELSE 0 END) crblks_pt, SUM(CASE WHEN a.internal_metric_name = 'crundorecs_pt' THEN m.value ELSE 0 END) crundorecs_pt, SUM(CASE WHEN a.internal_metric_name = 'userrollbackundorec_ps' THEN m.value ELSE 0 END) userrollbackundorec_ps, SUM(CASE WHEN a.internal_metric_name = 'userrollbackundorec_pt' THEN m.value ELSE 0 END) userrollbackundorec_pt, SUM(CASE WHEN a.internal_metric_name = 'leafnodesplits_ps' THEN m.value ELSE 0 END) leafnodesplits_ps, SUM(CASE WHEN a.internal_metric_name = 'leafnodesplits_pt' THEN m.value ELSE 0 END) leafnodesplits_pt, SUM(CASE WHEN a.internal_metric_name = 'branchnodesplits_ps' THEN m.value ELSE 0 END) branchnodesplits_ps, SUM(CASE WHEN a.internal_metric_name = 'branchnodesplits_pt' THEN m.value ELSE 0 END) branchnodesplits_pt, SUM(CASE WHEN a.internal_metric_name = 'redosize_pt' THEN m.value ELSE 0 END) redosize_pt, SUM(CASE WHEN a.internal_metric_name = 'crundorecs_ps' THEN m.value ELSE 0 END) crundorecs_ps, SUM(CASE WHEN a.internal_metric_name = 'dbtime_ps' THEN m.value ELSE 0 END) dbtime_ps FROM v$alert_types a, v$threshold_types t, v$sysmetric m WHERE a.internal_metric_category = 'instance_throughput' AND a.reason_id = t.alert_reason_id AND t.metrics_id = m.metric_id AND m.group_id = 2 AND :1 != 'BASIC' GROUP BY m.end_time ORDER BY m.end_time ASC ]]></Property> <Property NAME="SQLINPARAM1" SCOPE="INSTANCE">StatisticsLevel</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> </QueryDescriptor> <PushDescriptor RECVLET_ID="AQMetrics"> <Property NAME="QueueName" SCOPE="GLOBAL">ALERT_QUE</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> <Property NAME="InstanceName" SCOPE="INSTANCE">InstanceName</Property> </PushDescriptor> </Metric> <!-- ====================================================================== == Category: Server-generated alert Throughput (11gR1;11gR2) == Collection Level: Minimum == Purpose: Alerts, Trending ====================================================================== --> <Metric NAME="instance_throughput" TYPE="TABLE"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="11gR1;11gR2"/> </ValidIf> <Display> <Label NLSID="instance_throughput">Throughput</Label> </Display> <TableDescriptor> <!-- Note: The order of these columns must match the output ADT. --> <!-- The field name matches the column name only for clarity. --> <ColumnDescriptor NAME="time" TYPE="STRING" IS_TIMESTAMP="TRUE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="time_series_time">Time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="transactions_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_transactions_ps">Number of Transactions (per second)</Label> <ShortName NLSID="instance_throughput_transactions_ps_short">Transactions/s</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="physreads_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_physreads_ps">Physical Reads (per second)</Label> <ShortName NLSID="instance_throughput_physreads_ps_short">Physical Reads/s</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="physreads_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_physreads_pt">Physical Reads (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="physwrites_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_physwrites_ps">Physical Writes (per second)</Label> <ShortName NLSID="instance_throughput_physwrites_ps_short">Phys Writes/sec</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="physwrites_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_physwrites_pt">Physical Writes (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="physreadsdir_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_physreadsdir_ps">Physical Reads Direct (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="physreadsdir_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_physreadsdir_pt">Physical Reads Direct (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="physwritesdir_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_physwritesdir_ps">Physical Writes Direct (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="physwritesdir_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_physwritesdir_pt">Physical Writes Direct (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="physreadslob_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_physreadslob_ps">Physical Reads Direct Lobs (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="physreadslob_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_physreadslob_pt">Physical Reads Direct Lobs (per transaction)</Label> <ShortName NLSID="instance_throughput_physreadslob_pt_sht">Physical Reads Direct Lobs (per txn)</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="physwriteslob_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_physwriteslob_ps">Physical Writes Direct Lobs (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="physwriteslob_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_physwriteslob_pt">Physical Writes Direct Lobs (per transaction)</Label> <ShortName NLSID="instance_throughput_physwriteslob_pt_sht">Physical Writes Direct Lobs (per txn)</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="redosize_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_redosize_ps">Redo Generated (per second)</Label> <ShortName NLSID="instance_throughput_redosize_ps_short">Redo Size/sec</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="logons_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_logons_ps">Cumulative Logons (per second)</Label> <ShortName NLSID="instance_throughput_logons_ps_short">Logons/sec</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="logons_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_logons_pt">Cumulative Logons (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="opncurs_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_opncurs_ps">Open Cursors (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="opncurs_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_opncurs_pt">Open Cursors (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="commits_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_commits_ps">User Commits (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="commits_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_commits_pt">User Commits (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="rollbacks_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_rollbacks_ps">User Rollbacks (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="rollbacks_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_rollbacks_pt">User Rollbacks (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="usercalls_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_usercalls_ps">User Calls (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="usercalls_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_usercalls_pt">User Calls (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="recurscalls_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_recurscalls_ps">Recursive Calls (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="recurscalls_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_recurscalls_pt">Recursive Calls (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="logreads_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_logreads_ps">Session Logical Reads (per second)</Label> <ShortName NLSID="instance_throughput_logreads_ps_short">Logical Reads/s</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="logreads_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_logreads_pt">Session Logical Reads (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="dbwrcheckpoints_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_dbwrcheckpoints_ps">DBWR Checkpoints (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="bgcheckpoints_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_bgcheckpoints_ps">BG Checkpoints (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="redowrites_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_redowrites_ps">Redo Writes (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="redowrites_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_redowrites_pt">Redo Writes (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="tabscanslong_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_tabscanslong_ps">Scans on Long Tables (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="tabscanslong_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_tabscanslong_pt">Scans on Long Tables (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="tabscanstotal_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_tabscanstotal_ps">Total Table Scans (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="tabscanstotal_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_tabscanstotal_pt">Total Table Scans (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="indxscansfull_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_indxscansfull_pt">Full Index Scans (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="indxscansfull_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_indxscansfull_ps">Full Index Scans (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="indxscanstotal_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_indxscanstotal_ps">Total Index Scans (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="indxscanstotal_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_indxscanstotal_pt">Total Index Scans (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="parses_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_parses_ps">Total Parses (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="parses_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_parses_pt">Total Parses (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="hardparses_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_hardparses_ps">Hard Parses (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="hardparses_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_hardparses_pt">Hard Parses (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="failedparses_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_failedparses_ps">Parse Failure Count (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="failedparses_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_failedparses_pt">Parse Failure Count (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="executions_ps"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_executions_ps">Executes (per second)</Label> <ShortName NLSID="instance_throughput_executions_ps_short">SQL Executions/s</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="sortsdisk_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_sortsdisk_ps">Sorts to Disk (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="sortsdisk_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_sortsdisk_pt">Sorts to Disk (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="rows_psort" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_rows_psort">Rows Processed (per sort)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="executeswoparse_pct" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_executeswoparse_pct">Executes Performed without Parses (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="softparse_pct" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_softparse_pct">Soft Parse (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="usercall_pct" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_usercall_pct">User Calls (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="networkbytes_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_networkbytes_ps">Network Bytes (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="enqtimeouts_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_enqtimeouts_ps">Enqueue Timeout (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="enqtimeouts_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_enqtimeouts_pt">Enqueue Timeout (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="enqwaits_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_enqwaits_ps">Enqueue Waits (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="enqwaits_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_enqwaits_pt">Enqueue Waits (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="enqdeadlocks_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_enqdeadlocks_ps">Enqueue Deadlocks (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="enqdeadlocks_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_enqdeadlocks_pt">Enqueue Deadlocks (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="enqreqs_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_enqreqs_ps">Enqueue Requests (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="enqreqs_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_enqreqs_pt">Enqueue Requests (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="dbblkgets_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_dbblkgets_ps">Database Block Gets (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="dbblkgets_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_dbblkgets_pt">Database Block Gets (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="consistentreadgets_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_consistentreadgets_ps">Consistent Read Gets (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="consistentreadgets_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_consistentreadgets_pt">Consistent Read Gets (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="dbblkchanges_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_dbblkchanges_ps">Database Block Changes (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="dbblkchanges_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_dbblkchanges_pt">Database Block Changes (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="consistentreadchanges_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_consistentreadchanges_ps">Consistent Read Changes (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="consistentreadchanges_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_consistentreadchanges_pt">Consistent Read Changes (per transaction)</Label> <ShortName NLSID="instance_throughput_consistentreadchanges_pt_sht">Cons Read Changes (per txn)</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="crblks_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_crblks_ps">Consistent Read Blocks Created (per second)</Label> <ShortName NLSID="instance_throughput_crblks_ps_sht">Cons Read Blocks Created (per sec)</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="crblks_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_crblks_pt">Consistent Read Blocks Created (per transaction)</Label> <ShortName NLSID="instance_throughput_crblks_pt_sht">Cons Read Blocks Created (per txn)</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="crundorecs_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_crundorecs_pt">Consistent Read Undo Records Applied (per transaction)</Label> <ShortName NLSID="instance_throughput_crundorecs_pt_sht">Cons Read Undo Applied (per txn)</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="userrollbackundorec_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_userrollbackundorec_ps">User Rollback Undo Records Applied (per second)</Label> <ShortName NLSID="instance_throughput_userrollbackundorec_ps_sht">Rollback Undo Applied (per sec)</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="userrollbackundorec_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_userrollbackundorec_pt">User Rollback Undo Records Applied (per transaction)</Label> <ShortName NLSID="instance_throughput_userrollbackundorec_pt_sht">Rollback Undo Applied (per txn)</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="leafnodesplits_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_leafnodesplits_ps">Leaf Node Splits (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="leafnodesplits_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_leafnodesplits_pt">Leaf Node Splits (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="branchnodesplits_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_branchnodesplits_ps">Branch Node Splits (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="branchnodesplits_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_branchnodesplits_pt">Branch Node Splits (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="redosize_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_redosize_pt">Redo Generated (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="crundorecs_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_crundorecs_ps">Consistent Read Undo Records Applied (per second)</Label> <ShortName NLSID="instance_throughput_crundorecs_ps_sht">Cons Read Undo Applied (per sec)</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="dbtime_ps"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_dbtime_ps">Database Time (centiseconds per second)</Label> <ShortName NLSID="instance_throughput_dbtime_ps_sht">Database Time (per second)</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="avg_active_sessions"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_avg_active_sessions">Average Active Sessions</Label> <ShortName NLSID="instance_throughput_avg_active_sessions_sht">Average Active Sessions</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="avg_sync_singleblk_read_latency"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_avg_sync_singleblk_read_latency">Average Synchronous Single-Block Read Latency (ms)</Label> <ShortName NLSID="instance_throughput_avg_sync_singleblk_read_latency_sht">Average Synchronous Single-Block Read Latency (ms)</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="iombs_ps"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_iombs_ps">I/O Megabytes (per second)</Label> <ShortName NLSID="instance_throughput_iombs_ps_sht">I/O Mb (per sec)</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="iorequests_ps"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_throughput_iorequests_ps">I/O Requests (per second)</Label> <ShortName NLSID="instance_throughput_iorequests_ps_sht">I/O Reqs (per sec)</ShortName> </Display> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="SQL"> <Property NAME="STATEMENT" SCOPE="GLOBAL"><![CDATA[ SELECT /*+ ORDERED USE_MERGE(m) */ TO_CHAR(CAST(m.end_time AS TIMESTAMP) AT TIME ZONE 'GMT', 'YYYY-MM-DD HH24:MI:SS TZD'), SUM(CASE WHEN a.internal_metric_name = 'transactions_ps' THEN m.value ELSE 0 END) transactions_ps, SUM(CASE WHEN a.internal_metric_name = 'physreads_ps' THEN m.value ELSE 0 END) physreads_ps, SUM(CASE WHEN a.internal_metric_name = 'physreads_pt' THEN m.value ELSE 0 END) physreads_pt, SUM(CASE WHEN a.internal_metric_name = 'physwrites_ps' THEN m.value ELSE 0 END) physwrites_ps, SUM(CASE WHEN a.internal_metric_name = 'physwrites_pt' THEN m.value ELSE 0 END) physwrites_pt, SUM(CASE WHEN a.internal_metric_name = 'physreadsdir_ps' THEN m.value ELSE 0 END) physreadsdir_ps, SUM(CASE WHEN a.internal_metric_name = 'physreadsdir_pt' THEN m.value ELSE 0 END) physreadsdir_pt, SUM(CASE WHEN a.internal_metric_name = 'physwritesdir_ps' THEN m.value ELSE 0 END) physwritesdir_ps, SUM(CASE WHEN a.internal_metric_name = 'physwritesdir_pt' THEN m.value ELSE 0 END) physwritesdir_pt, SUM(CASE WHEN a.internal_metric_name = 'physreadslob_ps' THEN m.value ELSE 0 END) physreadslob_ps, SUM(CASE WHEN a.internal_metric_name = 'physreadslob_pt' THEN m.value ELSE 0 END) physreadslob_pt, SUM(CASE WHEN a.internal_metric_name = 'physwriteslob_ps' THEN m.value ELSE 0 END) physwriteslob_ps, SUM(CASE WHEN a.internal_metric_name = 'physwriteslob_pt' THEN m.value ELSE 0 END) physwriteslob_pt, SUM(CASE WHEN a.internal_metric_name = 'redosize_ps' THEN m.value ELSE 0 END) redosize_ps, SUM(CASE WHEN a.internal_metric_name = 'logons_ps' THEN m.value ELSE 0 END) logons_ps, SUM(CASE WHEN a.internal_metric_name = 'logons_pt' THEN m.value ELSE 0 END) logons_pt, SUM(CASE WHEN a.internal_metric_name = 'opncurs_ps' THEN m.value ELSE 0 END) opncurs_ps, SUM(CASE WHEN a.internal_metric_name = 'opncurs_pt' THEN m.value ELSE 0 END) opncurs_pt, SUM(CASE WHEN a.internal_metric_name = 'commits_ps' THEN m.value ELSE 0 END) commits_ps, SUM(CASE WHEN a.internal_metric_name = 'commits_pt' THEN m.value ELSE 0 END) commits_pt, SUM(CASE WHEN a.internal_metric_name = 'rollbacks_ps' THEN m.value ELSE 0 END) rollbacks_ps, SUM(CASE WHEN a.internal_metric_name = 'rollbacks_pt' THEN m.value ELSE 0 END) rollbacks_pt, SUM(CASE WHEN a.internal_metric_name = 'usercalls_ps' THEN m.value ELSE 0 END) usercalls_ps, SUM(CASE WHEN a.internal_metric_name = 'usercalls_pt' THEN m.value ELSE 0 END) usercalls_pt, SUM(CASE WHEN a.internal_metric_name = 'recurscalls_ps' THEN m.value ELSE 0 END) recurscalls_ps, SUM(CASE WHEN a.internal_metric_name = 'recurscalls_pt' THEN m.value ELSE 0 END) recurscalls_pt, SUM(CASE WHEN a.internal_metric_name = 'logreads_ps' THEN m.value ELSE 0 END) logreads_ps, SUM(CASE WHEN a.internal_metric_name = 'logreads_pt' THEN m.value ELSE 0 END) logreads_pt, SUM(CASE WHEN a.internal_metric_name = 'dbwrcheckpoints_ps' THEN m.value ELSE 0 END) dbwrcheckpoints_ps, SUM(CASE WHEN a.internal_metric_name = 'bgcheckpoints_ps' THEN m.value ELSE 0 END) bgcheckpoints_ps, SUM(CASE WHEN a.internal_metric_name = 'redowrites_ps' THEN m.value ELSE 0 END) redowrites_ps, SUM(CASE WHEN a.internal_metric_name = 'redowrites_pt' THEN m.value ELSE 0 END) redowrites_pt, SUM(CASE WHEN a.internal_metric_name = 'tabscanslong_ps' THEN m.value ELSE 0 END) tabscanslong_ps, SUM(CASE WHEN a.internal_metric_name = 'tabscanslong_pt' THEN m.value ELSE 0 END) tabscanslong_pt, SUM(CASE WHEN a.internal_metric_name = 'tabscanstotal_ps' THEN m.value ELSE 0 END) tabscanstotal_ps, SUM(CASE WHEN a.internal_metric_name = 'tabscanstotal_pt' THEN m.value ELSE 0 END) tabscanstotal_pt, SUM(CASE WHEN a.internal_metric_name = 'indxscansfull_pt' THEN m.value ELSE 0 END) indxscansfull_pt, SUM(CASE WHEN a.internal_metric_name = 'indxscansfull_ps' THEN m.value ELSE 0 END) indxscansfull_ps, SUM(CASE WHEN a.internal_metric_name = 'indxscanstotal_ps' THEN m.value ELSE 0 END) indxscanstotal_ps, SUM(CASE WHEN a.internal_metric_name = 'indxscanstotal_pt' THEN m.value ELSE 0 END) indxscanstotal_pt, SUM(CASE WHEN a.internal_metric_name = 'parses_ps' THEN m.value ELSE 0 END) parses_ps, SUM(CASE WHEN a.internal_metric_name = 'parses_pt' THEN m.value ELSE 0 END) parses_pt, SUM(CASE WHEN a.internal_metric_name = 'hardparses_ps' THEN m.value ELSE 0 END) hardparses_ps, SUM(CASE WHEN a.internal_metric_name = 'hardparses_pt' THEN m.value ELSE 0 END) hardparses_pt, SUM(CASE WHEN a.internal_metric_name = 'failedparses_ps' THEN m.value ELSE 0 END) failedparses_ps, SUM(CASE WHEN a.internal_metric_name = 'failedparses_pt' THEN m.value ELSE 0 END) failedparses_pt, SUM(CASE WHEN a.internal_metric_name = 'executions_ps' THEN m.value ELSE 0 END) executions_ps, SUM(CASE WHEN a.internal_metric_name = 'sortsdisk_ps' THEN m.value ELSE 0 END) sortsdisk_ps, SUM(CASE WHEN a.internal_metric_name = 'sortsdisk_pt' THEN m.value ELSE 0 END) sortsdisk_pt, SUM(CASE WHEN a.internal_metric_name = 'rows_psort' THEN m.value ELSE 0 END) rows_psort, SUM(CASE WHEN a.internal_metric_name = 'executeswoparse_pct' THEN m.value ELSE 0 END) executeswoparse_pct, SUM(CASE WHEN a.internal_metric_name = 'softparse_pct' THEN m.value ELSE 0 END) softparse_pct, SUM(CASE WHEN a.internal_metric_name = 'usercall_pct' THEN m.value ELSE 0 END) usercall_pct, SUM(CASE WHEN a.internal_metric_name = 'networkbytes_ps' THEN m.value ELSE 0 END) networkbytes_ps, SUM(CASE WHEN a.internal_metric_name = 'enqtimeouts_ps' THEN m.value ELSE 0 END) enqtimeouts_ps, SUM(CASE WHEN a.internal_metric_name = 'enqtimeouts_pt' THEN m.value ELSE 0 END) enqtimeouts_pt, SUM(CASE WHEN a.internal_metric_name = 'enqwaits_ps' THEN m.value ELSE 0 END) enqwaits_ps, SUM(CASE WHEN a.internal_metric_name = 'enqwaits_pt' THEN m.value ELSE 0 END) enqwaits_pt, SUM(CASE WHEN a.internal_metric_name = 'enqdeadlocks_ps' THEN m.value ELSE 0 END) enqdeadlocks_ps, SUM(CASE WHEN a.internal_metric_name = 'enqdeadlocks_pt' THEN m.value ELSE 0 END) enqdeadlocks_pt, SUM(CASE WHEN a.internal_metric_name = 'enqreqs_ps' THEN m.value ELSE 0 END) enqreqs_ps, SUM(CASE WHEN a.internal_metric_name = 'enqreqs_pt' THEN m.value ELSE 0 END) enqreqs_pt, SUM(CASE WHEN a.internal_metric_name = 'dbblkgets_ps' THEN m.value ELSE 0 END) dbblkgets_ps, SUM(CASE WHEN a.internal_metric_name = 'dbblkgets_pt' THEN m.value ELSE 0 END) dbblkgets_pt, SUM(CASE WHEN a.internal_metric_name = 'consistentreadgets_ps' THEN m.value ELSE 0 END) consistentreadgets_ps, SUM(CASE WHEN a.internal_metric_name = 'consistentreadgets_pt' THEN m.value ELSE 0 END) consistentreadgets_pt, SUM(CASE WHEN a.internal_metric_name = 'dbblkchanges_ps' THEN m.value ELSE 0 END) dbblkchanges_ps, SUM(CASE WHEN a.internal_metric_name = 'dbblkchanges_pt' THEN m.value ELSE 0 END) dbblkchanges_pt, SUM(CASE WHEN a.internal_metric_name = 'consistentreadchanges_ps' THEN m.value ELSE 0 END) consistentreadchanges_ps, SUM(CASE WHEN a.internal_metric_name = 'consistentreadchanges_pt' THEN m.value ELSE 0 END) consistentreadchanges_pt, SUM(CASE WHEN a.internal_metric_name = 'crblks_ps' THEN m.value ELSE 0 END) crblks_ps, SUM(CASE WHEN a.internal_metric_name = 'crblks_pt' THEN m.value ELSE 0 END) crblks_pt, SUM(CASE WHEN a.internal_metric_name = 'crundorecs_pt' THEN m.value ELSE 0 END) crundorecs_pt, SUM(CASE WHEN a.internal_metric_name = 'userrollbackundorec_ps' THEN m.value ELSE 0 END) userrollbackundorec_ps, SUM(CASE WHEN a.internal_metric_name = 'userrollbackundorec_pt' THEN m.value ELSE 0 END) userrollbackundorec_pt, SUM(CASE WHEN a.internal_metric_name = 'leafnodesplits_ps' THEN m.value ELSE 0 END) leafnodesplits_ps, SUM(CASE WHEN a.internal_metric_name = 'leafnodesplits_pt' THEN m.value ELSE 0 END) leafnodesplits_pt, SUM(CASE WHEN a.internal_metric_name = 'branchnodesplits_ps' THEN m.value ELSE 0 END) branchnodesplits_ps, SUM(CASE WHEN a.internal_metric_name = 'branchnodesplits_pt' THEN m.value ELSE 0 END) branchnodesplits_pt, SUM(CASE WHEN a.internal_metric_name = 'redosize_pt' THEN m.value ELSE 0 END) redosize_pt, SUM(CASE WHEN a.internal_metric_name = 'crundorecs_ps' THEN m.value ELSE 0 END) crundorecs_ps, SUM(CASE WHEN a.internal_metric_name = 'dbtime_ps' THEN m.value ELSE 0 END) dbtime_ps, SUM(CASE WHEN a.internal_metric_name = 'avg_active_sessions' THEN m.value ELSE 0 END) avg_active_sessions, SUM(CASE WHEN a.internal_metric_name = 'avg_sync_singleblk_read_latency' THEN m.value ELSE 0 END) avg_block_read_latency, SUM(CASE WHEN a.internal_metric_name = 'iombs_ps' THEN m.value ELSE 0 END) iombs_ps, SUM(CASE WHEN a.internal_metric_name = 'iorequests_ps' THEN m.value ELSE 0 END) iorequests_ps FROM v$alert_types a, v$threshold_types t, v$sysmetric m WHERE a.internal_metric_category = 'instance_throughput' AND a.reason_id = t.alert_reason_id AND t.metrics_id = m.metric_id AND m.group_id = 2 AND :1 != 'BASIC' GROUP BY m.end_time ORDER BY m.end_time ASC ]]></Property> <Property NAME="SQLINPARAM1" SCOPE="INSTANCE">StatisticsLevel</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> </QueryDescriptor> <PushDescriptor RECVLET_ID="AQMetrics"> <Property NAME="QueueName" SCOPE="GLOBAL">ALERT_QUE</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> <Property NAME="InstanceName" SCOPE="INSTANCE">InstanceName</Property> </PushDescriptor> </Metric> <!-- ====================================================================== == Category: Wait Bottlenecks == Collection Level: Minimum == Purpose: Alerts, Trending ====================================================================== --> <Metric NAME="wait_bottlenecks" TYPE="TABLE"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="10gR1;10gR2;10gR203;11gR1;11gR2"/> </ValidIf> <Display> <Label NLSID="wait_bottlenecks">Wait Bottlenecks</Label> </Display> <TableDescriptor> <!-- columns provided by the query descriptor's fetchlet call --> <!-- Note: The order of these columns must match the output ADT. --> <!-- The field name matches the column name only for clarity. --> <ColumnDescriptor NAME="time" TYPE="STRING" IS_TIMESTAMP="TRUE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="time_series_time">Time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="user_wait_time_pct" TYPE="NUMBER"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_user_wait_time_pct">Wait Time (%)</Label> <ShortName NLSID="wait_bottlenecks_user_wait_time_pct_short">Wait Time %</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="db_time_users" TYPE="NUMBER" TRANSIENT="TRUE" HELP="NO_HELP" /> <ColumnDescriptor NAME="db_cpu_users" TYPE="NUMBER" TRANSIENT="TRUE" HELP="NO_HELP" /> <ColumnDescriptor NAME="host_cpu_usage_pct" TYPE="NUMBER"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_host_cpu_usage_pct">Host CPU Utilization (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="userio_users" TYPE="NUMBER" TRANSIENT="TRUE" HELP="NO_HELP" /> <ColumnDescriptor NAME="max_cpu_cnt" TYPE="NUMBER" TRANSIENT="TRUE" HELP="NO_HELP"/> <!-- columns based on deltas or other computations from counters --> <ColumnDescriptor NAME="user_cpu_time_cnt" TYPE="NUMBER" COMPUTE_EXPR="0 > db_cpu_users ? 1/0 : (db_cpu_users > max_cpu_cnt ? 1/0 : db_cpu_users)"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_user_cpu_time_cnt">Active Sessions Using CPU</Label> <ShortName NLSID="wait_bottlenecks_user_cpu_time_cnt_short">Sessions: CPU</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="userio_wait_cnt" TYPE="NUMBER" COMPUTE_EXPR="0 > userio_users ? 1/0 : userio_users"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_userio_wait_cnt">Active Sessions Waiting: I/O</Label> <ShortName NLSID="wait_bottlenecks_userio_wait_cnt_short">Sessions: I/O</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="active_sessions" TYPE="NUMBER" COMPUTE_EXPR="db_cpu_users + userio_users > db_time_users ? 1/0 : db_time_users" TRANSIENT="TRUE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_active_sessions">Active Sessions</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="other_wait_cnt" TYPE="NUMBER" COMPUTE_EXPR="active_sessions - user_cpu_time_cnt - userio_wait_cnt"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_other_wait_cnt">Active Sessions Waiting: Other</Label> <ShortName NLSID="wait_bottlenecks_other_wait_cnt_short">Sessions: Other</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="avg_user_cpu_time_pct" TYPE="NUMBER" COMPUTE_EXPR="100*user_cpu_time_cnt/max_cpu_cnt"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="wait_bottlenecks_avg_user_cpu_time_pct">Average Instance CPU (%)</Label> <ShortName NLSID="wait_bottlenecks_avg_user_cpu_time_pct_short">Instance CPU (%)</ShortName> </Display> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="SQL"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="10gR1;10gR2;10gR203;11gR1;11gR2"/> </ValidIf> <Property NAME="STATEMENT" SCOPE="GLOBAL"> <![CDATA[ SELECT TO_CHAR(CAST(md.end_time AS TIMESTAMP) AT TIME ZONE 'GMT', 'YYYY-MM-DD HH24:MI:SS TZD') time, md.user_wait_time_pct, md.db_time_ps db_time_users, md.cpu_time_ps db_cpu_users, DECODE(:1, 'TRUE', md.host_cpu_usage_pct, NULL) host_cpu_usage_pct, wcd.users userio_users, :2 max_cpu_cnt FROM (SELECT DISTINCT wait_class_id FROM v$event_name WHERE wait_class = 'User I/O' AND :3 = 'TRUE') wcn, (SELECT wait_class_id, intsize_csec, end_time, time_waited / intsize_csec users FROM v$waitclassmetric_history WHERE end_time >= SYSDATE - 15/(60*24)) wcd, (SELECT intsize_csec, end_time, SUM(CASE WHEN metric_name = 'Database Wait Time Ratio' THEN value ELSE 0 END) user_wait_time_pct, SUM(CASE WHEN metric_name = 'Database Time Per Sec' THEN value / 100 ELSE 0 END) db_time_ps, SUM(CASE WHEN metric_name = 'CPU Usage Per Sec' THEN value / 100 ELSE 0 END) cpu_time_ps, SUM(CASE WHEN metric_name = 'Host CPU Utilization (%)' THEN value ELSE 0 END) host_cpu_usage_pct FROM v$sysmetric_history WHERE metric_name IN ('Database Wait Time Ratio', 'Database Time Per Sec', 'CPU Usage Per Sec', 'Host CPU Utilization (%)') AND group_id = 2 AND end_time >= SYSDATE - 15/(60*24) GROUP BY intsize_csec, end_time) md WHERE wcn.wait_class_id = wcd.wait_class_id AND wcd.intsize_csec = md.intsize_csec AND wcd.end_time = md.end_time AND :4 != 'BASIC' ORDER BY md.end_time ASC ]]> </Property> <Property NAME="SQLINPARAM1" SCOPE="INSTANCE">CPUTimingEnabled</Property> <Property NAME="SQLINPARAM2" SCOPE="INSTANCE">CPUCount</Property> <Property NAME="SQLINPARAM3" SCOPE="INSTANCE">TimedStatistics</Property> <Property NAME="SQLINPARAM4" SCOPE="INSTANCE">StatisticsLevel</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE" OPTIONAL="TRUE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> </QueryDescriptor> <PushDescriptor RECVLET_ID="AQMetrics"> <Property NAME="QueueName" SCOPE="GLOBAL">ALERT_QUE</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> <Property NAME="InstanceName" SCOPE="INSTANCE">InstanceName</Property> </PushDescriptor> </Metric> <!-- ====================================================================== == Category: Server-generated alert File == Collection Level: Recommended == Purpose: Alerts, Trending ====================================================================== --> <Metric NAME="file" TYPE="TABLE"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="10gR1;10gR2;10gR203;11gR1;11gR2"/> </ValidIf> <Display> <Label NLSID="file">Database Files</Label> </Display> <TableDescriptor> <ColumnDescriptor NAME="time" TYPE="STRING" IS_TIMESTAMP="TRUE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="time_series_time">Time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="file_name" TYPE="STRING" IS_KEY="TRUE"> <Display> <Label NLSID="file_name">File Name</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="read_cs" TYPE="NUMBER" IS_KEY="FALSE"> <Display> <Label NLSID="file_read_cs">Average File Read Time (centi-seconds)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="write_cs" TYPE="NUMBER" IS_KEY="FALSE"> <Display> <Label NLSID="file_write_cs">Average File Write Time (centi-seconds)</Label> </Display> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="SQL"> <Property NAME="STATEMENT" SCOPE="GLOBAL"> <![CDATA[ SELECT TO_CHAR(CAST(d.end_time AS TIMESTAMP) AT TIME ZONE 'GMT', 'YYYY-MM-DD HH24:MI:SS TZD'), n.name, d.average_read_time, d.average_write_time FROM v$dbfile n, v$filemetric d WHERE d.file_id = n.file# AND :1 != 'BASIC' ORDER BY d.end_time ASC ]]> </Property> <Property NAME="SQLINPARAM1" SCOPE="INSTANCE">StatisticsLevel</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> </QueryDescriptor> <PushDescriptor RECVLET_ID="AQMetrics"> <Property NAME="QueueName" SCOPE="GLOBAL">ALERT_QUE</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> <Property NAME="InstanceName" SCOPE="INSTANCE">InstanceName</Property> <Property NAME="KeyField" SCOPE="GLOBAL">OBJECT_NAME</Property> <Property NAME="KeyColumn" SCOPE="GLOBAL">file_name</Property> </PushDescriptor> </Metric> <!-- ====================================================================== == Category: Server-generated alert Service == Collection Level: Recommended == Purpose: Alerts, Trending == == Comments: Upload 1 min average value every 15 minutes ====================================================================== --> <Metric NAME="service" TYPE="TABLE"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="10gR1;10gR2;10gR203;11gR1;11gR2"/> </ValidIf> <Display> <Label NLSID="service">Database Services</Label> </Display> <TableDescriptor> <ColumnDescriptor NAME="time" TYPE="STRING" IS_TIMESTAMP="TRUE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="time_series_time">Time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="name" TYPE="STRING" IS_KEY="TRUE"> <Display> <Label NLSID="service_name">Service Name</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="elapsed_cs" TYPE="NUMBER" IS_KEY="FALSE"> <Display> <Label NLSID="service_elapsed_cs">Service Response Time (per user call) (microseconds)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="cpu_cs" TYPE="NUMBER" IS_KEY="FALSE"> <Display> <Label NLSID="service_cpu_cs">Service CPU Time (per user call) (microseconds)</Label> </Display> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="SQL"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="10gR1;10gR2;10gR203;11gR1;11gR2"/> </ValidIf> <Property NAME="STATEMENT" SCOPE="GLOBAL"><![CDATA[ SELECT TO_CHAR(CAST(d.end_time AS TIMESTAMP) AT TIME ZONE 'GMT', 'YYYY-MM-DD HH24:MI:SS TZD') time, d.service_name, AVG(d.elapsedpercall), AVG(d.cpupercall) FROM v$servicemetric_history d WHERE d.end_time >= SYSDATE - 15/(60*24) AND :1 != 'BASIC' AND d.group_id = 6 GROUP BY d.end_time, d.service_name ORDER BY d.end_time ASC ]]></Property> <Property NAME="SQLINPARAM1" SCOPE="INSTANCE">StatisticsLevel</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> </QueryDescriptor> <PushDescriptor RECVLET_ID="AQMetrics"> <Property NAME="QueueName" SCOPE="GLOBAL">ALERT_QUE</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> <Property NAME="InstanceName" SCOPE="INSTANCE">InstanceName</Property> <Property NAME="KeyField" SCOPE="GLOBAL">OBJECT_NAME</Property> <Property NAME="KeyColumn" SCOPE="GLOBAL">name</Property> </PushDescriptor> </Metric> <!-- ====================================================================== == INTERNAL AWR QUERY for summary (hour per row) metrics data ====================================================================== --> <Metric NAME="summary_AWR" TYPE="TABLE" USAGE_TYPE="HIDDEN"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="10gR1;10gR2;10gR203;11gR1;11gR2"/> </ValidIf> <TableDescriptor> <ColumnDescriptor NAME="time" TYPE="STRING" IS_TIMESTAMP="TRUE" TRANSIENT="TRUE" HELP="NO_HELP"/> <ColumnDescriptor NAME="key_name" TYPE="STRING" IS_KEY="TRUE"/> <ColumnDescriptor NAME="metric_avg" TYPE="NUMBER" IS_KEY="FALSE"/> <ColumnDescriptor NAME="metric_min" TYPE="NUMBER" IS_KEY="FALSE"/> <ColumnDescriptor NAME="metric_max" TYPE="NUMBER" IS_KEY="FALSE"/> </TableDescriptor> <QueryDescriptor FETCHLET_ID="SQL"> <Property NAME="STATEMENT" SCOPE="GLOBAL"> <![CDATA[ DECLARE metric_category_var VARCHAR2(80); metric_name_var VARCHAR2(80); key_name_var VARCHAR2(80); days_var INTEGER; start_date_var VARCHAR2(80); end_date_var VARCHAR2(80); TYPE values_cursor_type IS REF CURSOR; values_cursor values_cursor_type; BEGIN -- do this useless stuff, cause if you don't use every bind var -- the agent won't give you back any rows metric_category_var := :1; metric_name_var := :2; key_name_var := :3; days_var := to_number(:4); start_date_var := :5; end_date_var := :6; IF metric_category_var = 'instance_efficiency' OR metric_category_var = 'instance_throughput' OR metric_category_var = 'sga_pool_wastage' OR metric_category_var = 'Database_Resource_Usage' OR metric_category_var = 'rac_global_cache' OR metric_category_var = 'system_response_time_per_call' THEN OPEN values_cursor FOR SELECT m.end_time, null, m.average, m.minval, m.maxval FROM dba_hist_sysmetric_summary m, v$alert_types a, v$threshold_types t, v$instance i WHERE a.internal_metric_category = metric_category_var AND a.reason_id = t.alert_reason_id AND t.metrics_id = m.metric_id AND i.instance_number = m.instance_number AND m.group_id =2 AND a.internal_metric_name = :2 AND (((start_date_var IS NOT NULL) AND (start_date_var <> 'NONE') AND (m.end_time >= TO_DATE(start_date_var, 'MM-DD-YYYY HH24')) AND (m.end_time <= TO_DATE(end_date_var, 'MM-DD-YYYY HH24'))) OR ((start_date_var = 'NONE') AND (m.end_time >= SYSDATE - days_var))) ORDER BY m.end_time ASC; ELSIF metric_category_var = 'problemTbsp' THEN OPEN values_cursor FOR SELECT TO_CHAR(CAST(to_timestamp(rtime, 'MM/DD/YYYY HH24:MI:SS') AS TIMESTAMP), 'YYYY-MM-DD HH24:MI:SS TZD'), tsname, -- do case three times for min/max/avg CASE WHEN (:2 = 'bytesFree') THEN mb_free WHEN (:2 = 'pctUsed') THEN pctUsed END, CASE WHEN (:2 = 'bytesFree') THEN mb_free WHEN (:2 = 'pctUsed') THEN pctUsed END, CASE WHEN (:2 = 'bytesFree') THEN mb_free WHEN (:2 = 'pctUsed') THEN pctUsed END FROM (SELECT rtime, ts.tsname, (tsu.tablespace_usedsize / tsu.tablespace_maxsize)*100 pctUsed, (tablespace_maxsize - tablespace_usedsize)*t.block_size/1024/1024 mb_free FROM (SELECT UNIQUE ts#, tsname FROM dba_hist_tablespace_stat WHERE tsname = :3 OR 'NONE' = :3) ts, dba_hist_tbspc_space_usage tsu, dba_tablespaces t WHERE ts.ts# = tsu.tablespace_id AND ts.tsname = t.tablespace_name AND (((start_date_var is not NULL) AND (start_date_var <> 'NONE') AND (to_timestamp(rtime, 'MM/DD/YYYY HH24:MI:SS') >= TO_DATE(start_date_var, 'MM-DD-YYYY HH24')) AND (to_timestamp(rtime, 'MM/DD/YYYY HH24:MI:SS') <= TO_DATE(end_date_var, 'MM-DD-YYYY HH24'))) OR ((start_date_var = 'NONE') AND (to_timestamp(rtime, 'MM/DD/YYYY HH24:MI:SS') >= SYSDATE - days_var))) ) ORDER BY tsname, rtime ASC; END IF; :7 := values_cursor; END; ]]></Property> <Property NAME="SQLINPARAM1" SCOPE="USER">MetricCategory</Property> <Property NAME="SQLINPARAM2" SCOPE="USER">MetricName</Property> <Property NAME="SQLINPARAM3" SCOPE="USER">KeyValue</Property> <Property NAME="SQLINPARAM4" SCOPE="USER">Duration</Property> <Property NAME="SQLINPARAM5" SCOPE="USER">StartDate</Property> <Property NAME="SQLINPARAM6" SCOPE="USER">EndDate</Property> <Property NAME="SQLOUTPARAMPOS" SCOPE="GLOBAL">7</Property> <Property NAME="SQLOUTPARAMTYPE" SCOPE="GLOBAL">SQL_CURSOR</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> </QueryDescriptor> </Metric> <!-- ====================================================================== == INTERNAL AWR QUERY for 1 hour of metrics data ====================================================================== --> <Metric NAME="hour_AWR" TYPE="TABLE" USAGE_TYPE="HIDDEN"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="10gR1;10gR2;10gR203;11gR1;11gR2"/> </ValidIf> <TableDescriptor> <ColumnDescriptor NAME="time" TYPE="STRING" IS_TIMESTAMP="TRUE" TRANSIENT="TRUE" HELP="NO_HELP"/> <ColumnDescriptor NAME="key_name" TYPE="STRING" IS_KEY="TRUE"/> <ColumnDescriptor NAME="metric_value" TYPE="NUMBER" IS_KEY="FALSE"/> </TableDescriptor> <QueryDescriptor FETCHLET_ID="SQL"> <Property NAME="STATEMENT" SCOPE="GLOBAL"> <![CDATA[ DECLARE metric_category_var VARCHAR2(80); metric_name_var VARCHAR2(80); key_name_var VARCHAR2(80); cpu_timing_var VARCHAR2(30); cpu_count_var VARCHAR2(30); timestat_var VARCHAR2(30); statlevel_var VARCHAR2(30); TYPE values_cursor_type IS REF CURSOR; values_cursor values_cursor_type; BEGIN -- do this useless stuff, cause if you don't use every bind var -- the agent won't give you back any rows metric_category_var := :1; metric_name_var := :2; key_name_var := :3; cpu_timing_var := :4; cpu_count_var := :5; timestat_var := :6; statlevel_var := :7; IF metric_category_var = 'instance_efficiency' OR metric_category_var = 'instance_throughput' OR metric_category_var = 'sga_pool_wastage' OR metric_category_var = 'Database_Resource_Usage' OR metric_category_var = 'rac_global_cache' OR metric_category_var = 'system_response_time_per_call' THEN OPEN values_cursor FOR SELECT /*+ ORDERED */ TO_CHAR(CAST(m.end_time AS TIMESTAMP), 'YYYY-MM-DD HH24:MI:SS TZD'), null, m.value FROM v$alert_types a, v$threshold_types t, v$sysmetric_history m WHERE a.internal_metric_category = metric_category_var AND a.reason_id = t.alert_reason_id AND t.metrics_id = m.metric_id AND a.internal_metric_name = :2 AND m.group_id = 2 AND :7 != 'BASIC' ORDER BY m.end_time ASC; ELSIF metric_category_var = 'problemTbsp' THEN -- just get instant data, we don't have one hours of data for this metric! OPEN values_cursor FOR SELECT TO_CHAR(CAST(sysdate AS TIMESTAMP), 'YYYY-MM-DD HH24:MI:SS TZD'), m.tablespace_name, CASE WHEN (:2 = 'bytesFree') THEN (m.tablespace_size - m.used_space)*t.block_size/1024/1024 WHEN (:2 = 'pctUsed') THEN m.used_percent END FROM dba_tablespace_usage_metrics m, dba_tablespaces t WHERE :7 != 'BASIC' AND t.tablespace_name = m.tablespace_name AND (m.tablespace_name = :3 OR 'NONE' = :3) ORDER BY m.tablespace_name; ELSIF metric_category_var = 'wait_bottlenecks' THEN OPEN values_cursor FOR SELECT time, null key_value, CASE WHEN (:2 = 'user_wait_time_pct') THEN user_wait_time_pct WHEN (:2 = 'host_cpu_usage_pct') THEN host_cpu_usage_pct WHEN (:2 = 'DUMMY') THEN active_sessions WHEN (:2 = 'userio_wait_cnt') THEN userio_wait_cnt WHEN (:2 = 'user_cpu_time_cnt') THEN user_cpu_time_cnt WHEN (:2 = 'other_wait_cnt') THEN active_sessions - user_cpu_time_cnt - userio_wait_cnt WHEN (:2 = 'avg_user_cpu_time_pct') THEN 100*user_cpu_time_cnt / TO_NUMBER(:5) END FROM ( SELECT TO_CHAR(CAST(md.end_time AS TIMESTAMP), 'YYYY-MM-DD HH24:MI:SS TZD') time, md.user_wait_time_pct user_wait_time_pct, DECODE(:4, 'TRUE', md.host_cpu_usage_pct, NULL) host_cpu_usage_pct, CASE WHEN (md.cpu_time_ps + wcd.users > md.db_time_ps) THEN null ELSE md.db_time_ps END active_sessions, CASE WHEN (0 > wcd.users) THEN null ELSE wcd.users END userio_wait_cnt, CASE WHEN (0 > md.cpu_time_ps) OR (md.cpu_time_ps > TO_NUMBER(:5) ) THEN null ELSE md.cpu_time_ps END user_cpu_time_cnt FROM (SELECT DISTINCT wait_class_id FROM v$event_name WHERE wait_class = 'User I/O' AND :6 = 'TRUE') wcn, (SELECT wait_class_id, intsize_csec, end_time, time_waited / intsize_csec users FROM v$waitclassmetric_history) wcd, (SELECT intsize_csec, end_time, SUM(CASE WHEN metric_name = 'Database Wait Time Ratio' THEN value ELSE 0 END) user_wait_time_pct, SUM(CASE WHEN metric_name = 'Database Time Per Sec' THEN value / 100 ELSE 0 END) db_time_ps, SUM(CASE WHEN metric_name = 'CPU Usage Per Sec' THEN value / 100 ELSE 0 END) cpu_time_ps, SUM(CASE WHEN metric_name = 'Host CPU Utilization (%)' THEN value ELSE 0 END) host_cpu_usage_pct FROM v$sysmetric_history WHERE metric_name IN ('Database Wait Time Ratio', 'Database Time Per Sec', 'CPU Usage Per Sec', 'Host CPU Utilization (%)') AND group_id = 2 GROUP BY intsize_csec, end_time) md WHERE wcn.wait_class_id = wcd.wait_class_id AND wcd.intsize_csec = md.intsize_csec AND wcd.end_time = md.end_time AND :7 != 'BASIC' ) ORDER BY time ASC; ELSIF metric_category_var = 'UserBlock' THEN OPEN values_cursor FOR SELECT /*+ ORDERED */ TO_CHAR(CAST(d.end_time AS TIMESTAMP), 'YYYY-MM-DD HH24:MI:SS TZD') time, 'SID: '||d.entity_id||' Serial#: '||d.entity_sequence id, d.value FROM v$alert_types a, v$threshold_types t, v$metric_history d WHERE a.internal_metric_category = 'UserBlock' AND a.internal_metric_name = 'count' AND a.reason_id = t.alert_reason_id AND t.metrics_id = d.metric_id AND d.group_id = 4 AND :7 != 'BASIC' AND (('SID: '||d.entity_id||' Serial#: '||d.entity_sequence) = :3 OR 'NONE' = :3) ORDER BY id, d.end_time ASC; ELSIF metric_category_var = 'wait_sess_cls' THEN OPEN values_cursor FOR SELECT TO_CHAR(CAST(wcd.end_time AS TIMESTAMP), 'YYYY-MM-DD HH24:MI:SS TZD') time, wcn.wait_class, CASE WHEN (:2 = 'avg_users_waiting_on_class') THEN wcd.average_waiter_count WHEN (:2 = 'dbtime_waitclass_pct') THEN wcd.dbtime_in_wait END FROM (SELECT DISTINCT wait_class, wait_class_id FROM v$event_name) wcn, (SELECT end_time, wait_class_id, average_waiter_count, dbtime_in_wait FROM v$waitclassmetric_history) wcd WHERE wcn.wait_class_id = wcd.wait_class_id AND (wcn.wait_class = :3 OR 'NONE' = :3) AND :7 != 'BASIC' ORDER BY wcn.wait_class, wcd.end_time ASC; ELSIF metric_category_var = 'file' THEN OPEN values_cursor FOR SELECT TO_CHAR(CAST(d.end_time AS TIMESTAMP), 'YYYY-MM-DD HH24:MI:SS TZD'), n.name, CASE WHEN (:2 = 'read_cs') THEN d.average_read_time WHEN (:2 = 'write_cs') THEN d.average_write_time END FROM v$dbfile n, v$filemetric_history d WHERE d.file_id = n.file# AND (n.name = :3 OR 'NONE' = :3) AND :7 != 'BASIC' ORDER BY n.name, d.end_time ASC; ELSIF metric_category_var = 'service' THEN OPEN values_cursor FOR SELECT TO_CHAR(CAST(end_time AS TIMESTAMP), 'YYYY-MM-DD HH24:MI:SS TZD') time, service_name, CASE WHEN (:2 = 'elapsed_cs') THEN elapsedpercall WHEN (:2 = 'cpu_cs') THEN cpupercall END FROM v$servicemetric_history WHERE :7 != 'BASIC' AND group_id = 6 AND (service_name = :3 OR 'NONE' = :3) ORDER BY service_name, end_time ASC; END IF; :8 := values_cursor; END; ]]></Property> <Property NAME="SQLINPARAM1" SCOPE="USER">MetricCategory</Property> <Property NAME="SQLINPARAM2" SCOPE="USER">MetricName</Property> <Property NAME="SQLINPARAM3" SCOPE="USER">KeyValue</Property> <Property NAME="SQLINPARAM4" SCOPE="INSTANCE">CPUTimingEnabled</Property> <Property NAME="SQLINPARAM5" SCOPE="INSTANCE">CPUCount</Property> <Property NAME="SQLINPARAM6" SCOPE="INSTANCE">TimedStatistics</Property> <Property NAME="SQLINPARAM7" SCOPE="INSTANCE">StatisticsLevel</Property> <Property NAME="SQLOUTPARAMPOS" SCOPE="GLOBAL">8</Property> <Property NAME="SQLOUTPARAMTYPE" SCOPE="GLOBAL">SQL_CURSOR</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> </QueryDescriptor> </Metric> <!-- ====================================================================== == INTERNAL AWR QUERY for all current values of metrics that we now get from AWR == we do one big optimized union all to retrieve these values ====================================================================== --> <Metric NAME="current_AWR" TYPE="TABLE" USAGE_TYPE="HIDDEN"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="10gR1;10gR2;10gR203;11gR1;11gR2"/> </ValidIf> <TableDescriptor> <ColumnDescriptor NAME="time" TYPE="STRING" IS_TIMESTAMP="TRUE" TRANSIENT="TRUE" HELP="NO_HELP"/> <ColumnDescriptor NAME="metric_category" TYPE="STRING" IS_KEY="TRUE"/> <ColumnDescriptor NAME="metric_name" TYPE="STRING" IS_KEY="TRUE"/> <ColumnDescriptor NAME="key_name" TYPE="STRING" IS_KEY="TRUE"/> <ColumnDescriptor NAME="group_id_key" TYPE="NUMBER" IS_KEY="TRUE"/> <ColumnDescriptor NAME="metric_value" TYPE="NUMBER" IS_KEY="FALSE"/> </TableDescriptor> <QueryDescriptor FETCHLET_ID="SQL"> <Property NAME="STATEMENT" SCOPE="GLOBAL"> <![CDATA[ DECLARE cpu_timing_var VARCHAR2(30); cpu_count_var VARCHAR2(30); timestat_var VARCHAR2(30); statlevel_var VARCHAR2(30); TYPE values_cursor_type IS REF CURSOR; values_cursor values_cursor_type; BEGIN -- do this useless stuff, cause if you dont use every bind var -- the agent won't give you back any rows cpu_timing_var := :1; cpu_count_var := :2; timestat_var := :3; statlevel_var := :4; OPEN values_cursor FOR SELECT /*+ ORDERED */ -- all sysmetrics TO_CHAR(CAST(m.end_time AS TIMESTAMP), 'YYYY-MM-DD HH24:MI:SS TZD'), a.internal_metric_category, a.internal_metric_name, null, m.group_id, m.value FROM v$alert_types a, v$threshold_types t, v$sysmetric m WHERE a.reason_id = t.alert_reason_id AND t.metrics_id = m.metric_id AND m.group_id = 2 AND a.internal_metric_category != 'wait_bottlenecks' -- causes duplicate problem UNION ALL -- problemtablespace bytes free SELECT TO_CHAR(CAST(sysdate AS TIMESTAMP), 'YYYY-MM-DD HH24:MI:SS TZD'), 'problemTbsp', 'bytesFree', m.tablespace_name, 0, (m.tablespace_size - m.used_space)*t.block_size/1024/1024 FROM dba_tablespace_usage_metrics m, dba_tablespaces t WHERE t.tablespace_name = m.tablespace_name UNION ALL -- Problemtbsp percent used SELECT TO_CHAR(CAST(sysdate AS TIMESTAMP), 'YYYY-MM-DD HH24:MI:SS TZD'), 'problemTbsp', 'pctUsed', m.tablespace_name, 0, m.used_percent FROM dba_tablespace_usage_metrics m, dba_tablespaces t WHERE t.tablespace_name = m.tablespace_name UNION ALL -- Wait bottleneck SELECT TO_CHAR(CAST(end_time AS TIMESTAMP), 'YYYY-MM-DD HH24:MI:SS TZD'), 'wait_bottlenecks', CASE WHEN metric_name = 'Database Wait Time Ratio' THEN 'user_wait_time_pct' WHEN metric_name = 'Database Time Per Sec' THEN 'ACTIVE SESSIONS?' WHEN metric_name = 'CPU Usage Per Sec' THEN 'user_cpu_time_cnt' WHEN metric_name = 'Host CPU Utilization (%)' THEN 'host_cpu_usage_pct' END, null, group_id, CASE WHEN metric_name = 'Database Wait Time Ratio' THEN value WHEN metric_name = 'Database Time Per Sec' THEN value / 100 WHEN metric_name = 'CPU Usage Per Sec' THEN value / 100 WHEN metric_name = 'Host CPU Utilization (%)' THEN value END FROM v$sysmetric WHERE metric_name IN ('Database Wait Time Ratio', 'Database Time Per Sec', 'CPU Usage Per Sec', 'Host CPU Utilization (%)') AND group_id = 2 UNION ALL -- wait bottleneck: userio_wait_cnt select TO_CHAR(CAST(wcd.end_time AS TIMESTAMP), 'YYYY-MM-DD HH24:MI:SS TZD'), 'wait_bottlenecks' , 'userio_wait_cnt', null,0, wcd.users FROM (SELECT DISTINCT wait_class_id FROM v$event_name WHERE wait_class = 'User I/O') wcn, (SELECT wait_class_id, intsize_csec, end_time, time_waited / intsize_csec users FROM v$waitclassmetric) wcd WHERE wcn.wait_class_id = wcd.wait_class_id UNION ALL -- wait bottleneck: other wiat cnt SELECT TO_CHAR(CAST(A.end_time AS TIMESTAMP), 'YYYY-MM-DD HH24:MI:SS TZD'), 'wait_bottlenecks', 'other_wait_cnt', null, A.group_id, CASE WHEN 0 > ((A.value / 100) - (B.value / 100) - C.users) THEN null ELSE (A.value / 100) - (B.value / 100) - C.users END FROM v$sysmetric A, v$sysmetric B, (SELECT wcd.users FROM (SELECT DISTINCT wait_class_id FROM v$event_name WHERE wait_class = 'User I/O') wcn, (SELECT wait_class_id, intsize_csec, end_time, time_waited / intsize_csec users FROM v$waitclassmetric) wcd WHERE wcn.wait_class_id = wcd.wait_class_id) C WHERE A.metric_name = 'Database Time Per Sec' AND B.metric_name = 'CPU Usage Per Sec' AND A.group_id = 2 AND B.group_id = 2 UNION ALL -- avg user cpu time pct SELECT TO_CHAR(CAST(end_time AS TIMESTAMP), 'YYYY-MM-DD HH24:MI:SS TZD'), 'wait_bottlenecks', 'avg_user_cpu_time_pct' ,null, group_id, CASE WHEN (0 > value) THEN null WHEN ((value / 100) > TO_NUMBER(:2)) THEN null ELSE 100 * (value / 100) / TO_NUMBER(:2) END FROM v$sysmetric WHERE metric_name = 'CPU Usage Per Sec' AND group_id = 2 UNION ALL -- userblock SELECT /*+ ORDERED */ TO_CHAR(CAST(d.end_time AS TIMESTAMP), 'YYYY-MM-DD HH24:MI:SS TZD') time, 'UserBlock', 'count', 'SID: '||d.entity_id||' Serial#: '||d.entity_sequence id, d.group_id, d.value FROM v$alert_types a, v$threshold_types t, v$metric d WHERE a.internal_metric_category = 'UserBlock' AND a.internal_metric_name = 'count' AND a.reason_id = t.alert_reason_id AND t.metrics_id = d.metric_id AND d.group_id = 4 UNION ALL -- wait_sess_cls SELECT TO_CHAR(CAST(wcd.end_time AS TIMESTAMP), 'YYYY-MM-DD HH24:MI:SS TZD') time, 'wait_sess_cls', label, wcn.wait_class, 0, wcd.value FROM (SELECT DISTINCT wait_class, wait_class_id FROM v$event_name) wcn, (SELECT end_time, wait_class_id,'avg_users_waiting_on_class' as label ,average_waiter_count as value FROM v$waitclassmetric UNION ALL SELECT end_time, wait_class_id,'dbtime_waitclass_pct' as label , dbtime_in_wait as value FROM v$waitclassmetric) wcd WHERE wcn.wait_class_id = wcd.wait_class_id UNION ALL -- file: read SELECT TO_CHAR(CAST(d.end_time AS TIMESTAMP), 'YYYY-MM-DD HH24:MI:SS TZD'), 'file', 'read_cs', n.name, 0, d.average_read_time FROM v$dbfile n, v$filemetric d WHERE d.file_id = n.file# UNION ALL -- file: write SELECT TO_CHAR(CAST(d.end_time AS TIMESTAMP), 'YYYY-MM-DD HH24:MI:SS TZD'), 'file', 'write_cs', n.name, 0, d.average_write_time FROM v$dbfile n, v$filemetric d WHERE d.file_id = n.file# UNION ALL -- service: elaspsed cs SELECT TO_CHAR(CAST(end_time AS TIMESTAMP), 'YYYY-MM-DD HH24:MI:SS TZD') time, 'service', 'elapsed_cs', service_name, group_id, elapsedpercall FROM v$servicemetric UNION ALL -- service cpu SELECT TO_CHAR(CAST(end_time AS TIMESTAMP), 'YYYY-MM-DD HH24:MI:SS TZD') time, 'service', 'cpu_cs', service_name, group_id, cpupercall FROM v$servicemetric; :5 := values_cursor; END; ]]></Property> <Property NAME="SQLINPARAM1" SCOPE="INSTANCE">CPUTimingEnabled</Property> <Property NAME="SQLINPARAM2" SCOPE="INSTANCE">CPUCount</Property> <Property NAME="SQLINPARAM3" SCOPE="INSTANCE">TimedStatistics</Property> <Property NAME="SQLINPARAM4" SCOPE="INSTANCE">StatisticsLevel</Property> <Property NAME="SQLOUTPARAMPOS" SCOPE="GLOBAL">5</Property> <Property NAME="SQLOUTPARAMTYPE" SCOPE="GLOBAL">SQL_CURSOR</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> </QueryDescriptor> </Metric> <!-- ====================================================================== == Category: Server-generated alert system_response_time_per_call == Collection Level: Recommended == Purpose: Alerts, Trending ====================================================================== --> <Metric NAME="system_response_time_per_call" TYPE="TABLE"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="10gR1;10gR2;10gR203;11gR1;11gR2"/> </ValidIf> <Display> <Label NLSID="system_response_time_per_call">System Response Time Per Call</Label> </Display> <TableDescriptor> <ColumnDescriptor NAME="time" TYPE="STRING" IS_TIMESTAMP="TRUE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="time_series_time">Time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="time_cs" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="system_response_time_per_call_time_cs">Response Time (centi-seconds per call)</Label> </Display> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="SQL"> <Property NAME="STATEMENT" SCOPE="GLOBAL"><![CDATA[ SELECT /*+ ORDERED */ TO_CHAR(CAST(m.end_time AS TIMESTAMP) AT TIME ZONE 'GMT', 'YYYY-MM-DD HH24:MI:SS TZD'), m.value FROM v$alert_types a, v$threshold_types t, v$sysmetric_history m WHERE a.internal_metric_category = 'system_response_time_per_call' AND a.reason_id = t.alert_reason_id AND t.metrics_id = m.metric_id AND a.internal_metric_name = 'time_cs' AND m.group_id = 2 AND m.end_time >= sysdate - 15 / (60 * 24) AND :1 != 'BASIC' ORDER BY m.end_time ASC ]]></Property> <Property NAME="SQLINPARAM1" SCOPE="INSTANCE">StatisticsLevel</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> </QueryDescriptor> <PushDescriptor RECVLET_ID="AQMetrics"> <Property NAME="QueueName" SCOPE="GLOBAL">ALERT_QUE</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="InstanceName" SCOPE="INSTANCE">InstanceName</Property> </PushDescriptor> </Metric> <!-- ====================================================================== == Category: Server-generated alert Database Limits == Collection Level: Minimum == Purpose: Alerts, Trending ====================================================================== --> <Metric NAME="Database_Resource_Usage" TYPE="TABLE"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="10gR1;10gR2;10gR203;11gR1;11gR2"/> </ValidIf> <Display> <Label NLSID="resource_usage">Database Limits</Label> </Display> <TableDescriptor> <ColumnDescriptor NAME="time" TYPE="STRING" IS_TIMESTAMP="TRUE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="time_series_time">Time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="logons" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="logons">Current Logons Count</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="opencursors" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="opencursors">Current Open Cursors Count</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="user_limit" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="user_limit">User Limit Usage (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="process_usage" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="process_usage">Process Limit Usage (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="session_usage" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="session_usage">Session Limit Usage (%)</Label> </Display> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="SQL"> <Property NAME="STATEMENT" SCOPE="GLOBAL"><![CDATA[ SELECT /*+ ORDERED */ TO_CHAR(CAST(m.end_time AS TIMESTAMP) AT TIME ZONE 'GMT', 'YYYY-MM-DD HH24:MI:SS TZD'), SUM(CASE WHEN a.internal_metric_name = 'logons' THEN m.value ELSE 0 END) logons, SUM(CASE WHEN a.internal_metric_name = 'opencursors' THEN m.value ELSE 0 END) opencursors, SUM(CASE WHEN a.internal_metric_name = 'user_limit' THEN m.value ELSE 0 END) user_limit, SUM(CASE WHEN a.internal_metric_name = 'process_usage' THEN m.value ELSE 0 END) process_usage, SUM(CASE WHEN a.internal_metric_name = 'session_usage' THEN m.value ELSE 0 END) session_usage FROM v$alert_types a, v$threshold_types t, v$sysmetric m WHERE a.internal_metric_category = 'Database_Resource_Usage' AND a.reason_id = t.alert_reason_id AND t.metrics_id = m.metric_id AND m.group_id = 2 AND :1 != 'BASIC' GROUP BY m.end_time ORDER BY m.end_time ASC ]]></Property> <Property NAME="SQLINPARAM1" SCOPE="INSTANCE">StatisticsLevel</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> </QueryDescriptor> <PushDescriptor RECVLET_ID="AQMetrics"> <Property NAME="QueueName" SCOPE="GLOBAL">ALERT_QUE</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="InstanceName" SCOPE="INSTANCE">InstanceName</Property> </PushDescriptor> </Metric> <!-- ====================================================================== == Category: Server-generated alert instance_efficiency == Collection Level: Recommended == Purpose: Server generated alert ====================================================================== --> <Metric NAME="instance_efficiency" TYPE="TABLE"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="10gR1;10gR2;10gR203;11gR1;11gR2"/> </ValidIf> <Display> <Label NLSID="instance_efficiency">Efficiency</Label> </Display> <TableDescriptor> <ColumnDescriptor NAME="time" TYPE="STRING" IS_TIMESTAMP="TRUE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="time_series_time">Time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="bufcachehit_pct" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_efficiency_bufcachehit_pct">Buffer Cache Hit (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="inmem_sort_pct" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_efficiency_inmem_sort_pct">Sorts in Memory (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="redologalloc_hit_pct" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_efficiency_redologalloc_hit_pct">Redo Log Allocation Hit (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="cursorcachehit_pct" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_efficiency_cursor_hit_pct">Cursor Cache Hit (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="cpuusage_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_efficiency_cpu_usage_ps">CPU Usage (per second)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="cpuusage_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_efficiency_cpuusage_pt">CPU Usage (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="pxdwngrd25_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_efficiency_pxdwngrd25_ps">Parallel Execution Downgraded 25% or more (per second)</Label> <ShortName NLSID="instance_efficiency_pxdwngrd25_ps_sht">PX Downgrade >=25% (per sec)</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="pxdwngrd50_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_efficiency_pxdwngrd50_ps">Parallel Execution Downgraded 50% or more (per second)</Label> <ShortName NLSID="instance_efficiency_pxdwngrd50_ps_sht">PX Downgrade >=50% (per sec)</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="pxdwngrd75_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_efficiency_pxdwngrd75_ps">Parallel Execution Downgraded 75% or more (per second)</Label> <ShortName NLSID="instance_efficiency_pxdwngrd75_ps_sht">PX Downgrade >=75% (per sec)</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="pxdwngrd_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_efficiency_pxdwngrd_ps">Parallel Execution Downgraded (per second)</Label> <ShortName NLSID="instance_efficiency_pxdwngrd_ps_sht">PX Downgrade (per sec)</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="pxdwngrdserial_ps" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_efficiency_pxdwngrdserial_ps">Parallel Execution Downgraded to Serial (per second)</Label> <ShortName NLSID="instance_efficiency_pxdwngrdserial_ps_sht">PX Serial Downgrade (per sec)</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="pxdwngrdserial_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_efficiency_pxdwngrdserial_pt">Parallel Execution Downgraded to Serial (per transaction)</Label> <ShortName NLSID="instance_efficiency_pxdwngrdserial_pt_sht">PX Serial Downgrade (per txn)</ShortName> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="cpu_time_pct" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_efficiency_cpu_time_pct">Database CPU Time (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="response_time_pt" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_efficiency_response_time_pt">Response Time (per transaction)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="dictionaryhit_pct" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_efficiency_dictionaryhit_pct">Data Dictionary Hit (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="libcache_hit_pct" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_efficiency_libcache_hit_pct">Library Cache Hit (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="libcache_miss_pct" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_efficiency_libcache_miss_pct">Library Cache Miss (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="pgacachehit_pct" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_efficiency_pgacachehit_pct">PGA Cache Hit (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="dictionarymiss_pct" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="instance_efficiency_dictionarymiss_pct">Row Cache Miss Ratio (%)</Label> </Display> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="SQL"> <Property NAME="STATEMENT" SCOPE="GLOBAL"><![CDATA[ SELECT /*+ ORDERED USE_MERGE(m) */ TO_CHAR(CAST(m.end_time AS TIMESTAMP) AT TIME ZONE 'GMT', 'YYYY-MM-DD HH24:MI:SS TZD'), SUM(CASE WHEN a.internal_metric_name = 'bufcachehit_pct' THEN m.value ELSE 0 END) bufcachehit_pct, SUM(CASE WHEN a.internal_metric_name = 'inmem_sort_pct' THEN m.value ELSE 0 END) inmem_sort_pct, SUM(CASE WHEN a.internal_metric_name = 'redologalloc_hit_pct' THEN m.value ELSE 0 END) redologalloc_hit_pct, SUM(CASE WHEN a.internal_metric_name = 'cursorcachehit_pct' THEN m.value ELSE 0 END) cursorcachehit_pct, SUM(CASE WHEN a.internal_metric_name = 'cpuusage_ps' THEN m.value ELSE 0 END) cpuusage_ps, SUM(CASE WHEN a.internal_metric_name = 'cpuusage_pt' THEN m.value ELSE 0 END) cpuusage_pt, SUM(CASE WHEN a.internal_metric_name = 'pxdwngrd25_ps' THEN m.value ELSE 0 END) pxdwngrd25_ps, SUM(CASE WHEN a.internal_metric_name = 'pxdwngrd50_ps' THEN m.value ELSE 0 END) pxdwngrd50_ps, SUM(CASE WHEN a.internal_metric_name = 'pxdwngrd75_ps' THEN m.value ELSE 0 END) pxdwngrd75_ps, SUM(CASE WHEN a.internal_metric_name = 'pxdwngrd_ps' THEN m.value ELSE 0 END) pxdwngrd_ps, SUM(CASE WHEN a.internal_metric_name = 'pxdwngrdserial_ps' THEN m.value ELSE 0 END) pxdwngrdserial_ps, SUM(CASE WHEN a.internal_metric_name = 'pxdwngrdserial_pt' THEN m.value ELSE 0 END) pxdwngrdserial_pt, SUM(CASE WHEN a.internal_metric_name = 'cpu_time_pct' THEN m.value ELSE 0 END) cpu_time_pct, SUM(CASE WHEN a.internal_metric_name = 'response_time_pt' THEN m.value ELSE 0 END) response_time_pt, SUM(CASE WHEN a.internal_metric_name = 'dictionaryhit_pct' THEN m.value ELSE 0 END) dictionaryhit_pct, SUM(CASE WHEN a.internal_metric_name = 'libcache_hit_pct' THEN m.value ELSE 0 END) libcache_hit_pct, SUM(CASE WHEN a.internal_metric_name = 'libcache_miss_pct' THEN m.value ELSE 0 END) libcache_miss_pct, SUM(CASE WHEN a.internal_metric_name = 'pgacachehit_pct' THEN m.value ELSE 0 END) pgacachehit_pct, SUM(CASE WHEN a.internal_metric_name = 'dictionarymiss_pct' THEN m.value ELSE 0 END) dictionarymiss_pct FROM v$alert_types a, v$threshold_types t, v$sysmetric m WHERE a.internal_metric_category = 'instance_efficiency' AND a.reason_id = t.alert_reason_id AND t.metrics_id = m.metric_id AND m.group_id = 2 AND :1 != 'BASIC' GROUP BY m.end_time ORDER BY m.end_time ASC ]]></Property> <Property NAME="SQLINPARAM1" SCOPE="INSTANCE">StatisticsLevel</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> </QueryDescriptor> <PushDescriptor RECVLET_ID="AQMetrics"> <Property NAME="QueueName" SCOPE="GLOBAL">ALERT_QUE</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="InstanceName" SCOPE="INSTANCE">InstanceName</Property> </PushDescriptor> </Metric> <!-- ====================================================================== == Category: Wait by Session Class == Collection Level: Minimum == Purpose: Alerts, Trending ====================================================================== --> <Metric NAME="wait_sess_cls" TYPE="TABLE"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="10gR1;10gR2;10gR203;11gR1;11gR2"/> </ValidIf> <Display> <Label NLSID="wait_sess_cls">Waits by Wait Class</Label> </Display> <TableDescriptor> <ColumnDescriptor NAME="time" TYPE="STRING" IS_TIMESTAMP="TRUE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="time_series_time">Time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="class" TYPE="STRING" IS_KEY="TRUE"> <Display> <Label NLSID="wait_sess_cls_class">Wait Class</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="avg_users_waiting_on_class" TYPE="NUMBER"> <Display> <Label NLSID="wait_sess_cls_avg_users">Average Users Waiting Count</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="dbtime_waitclass_pct" TYPE="NUMBER"> <Display> <Label NLSID="wait_sess_cls_dbtime_pct">Database Time Spent Waiting (%)</Label> </Display> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="SQL"> <Property NAME="STATEMENT" SCOPE="GLOBAL"> <![CDATA[ SELECT TO_CHAR(CAST(wcd.end_time AS TIMESTAMP) AT TIME ZONE 'GMT', 'YYYY-MM-DD HH24:MI:SS TZD') time, wcn.wait_class, AVG(wcd.average_waiter_count), AVG(wcd.dbtime_in_wait) FROM (SELECT DISTINCT wait_class, wait_class_id FROM v$event_name) wcn, (SELECT end_time, wait_class_id, average_waiter_count, dbtime_in_wait FROM v$waitclassmetric_history) wcd WHERE wcn.wait_class_id = wcd.wait_class_id AND wcd.end_time >= SYSDATE - 15/(60*24) AND :1 != 'BASIC' GROUP BY wcd.end_time, wcn.wait_class ORDER BY wcd.end_time ASC ]]> </Property> <Property NAME="SQLINPARAM1" SCOPE="INSTANCE">StatisticsLevel</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> </QueryDescriptor> <PushDescriptor RECVLET_ID="AQMetrics"> <Property NAME="QueueName" SCOPE="GLOBAL">ALERT_QUE</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> <Property NAME="InstanceName" SCOPE="INSTANCE">InstanceName</Property> <Property NAME="KeyField" SCOPE="GLOBAL">OBJECT_NAME</Property> <Property NAME="KeyColumn" SCOPE="GLOBAL">class</Property> </PushDescriptor> </Metric> <!-- ====================================================================== == Category: Server-generated alert User Block == Collection Level: Minimum == Purpose: Alerts ====================================================================== --> <Metric NAME="UserBlock" TYPE="TABLE"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="10gR1;10gR2;10gR203;11gR1;11gR2"/> <CategoryProp NAME="MetricScope" CHOICES="DB"/> </ValidIf> <Display> <Label NLSID="userBlock">User Block</Label> </Display> <TableDescriptor> <ColumnDescriptor NAME="time" TYPE="STRING" IS_TIMESTAMP="TRUE" TRANSIENT="TRUE" HELP="NO_HELP"/> <ColumnDescriptor NAME="sid" TYPE="STRING" IS_KEY="TRUE"> <Display> <Label NLSID="userBlock_blocking_sid">Blocking Session ID</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="count" TYPE="NUMBER" IS_KEY="FALSE"> <Display> <Label NLSID="userBlock_count">Blocking Session Count</Label> </Display> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="SQL"> <Property NAME="STATEMENT" SCOPE="GLOBAL"><![CDATA[ SELECT /*+ ORDERED */ TO_CHAR(CAST(d.end_time AS TIMESTAMP) AT TIME ZONE 'GMT', 'YYYY-MM-DD HH24:MI:SS TZD') time, 'SID: '||d.entity_id||' Serial#: '||d.entity_sequence id, d.value FROM v$alert_types a, v$threshold_types t, v$metric_history d WHERE a.internal_metric_category = 'UserBlock' AND a.internal_metric_name = 'count' AND a.reason_id = t.alert_reason_id AND t.metrics_id = d.metric_id AND d.group_id = 4 AND d.end_time >= SYSDATE - 15/(60*24) AND d.value > 0 AND :1 != 'BASIC' ORDER BY d.end_time ASC ]]></Property> <Property NAME="SQLINPARAM1" SCOPE="INSTANCE">StatisticsLevel</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> </QueryDescriptor> <PushDescriptor RECVLET_ID="AQMetrics"> <Property NAME="QueueName" SCOPE="GLOBAL">ALERT_QUE</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> <Property NAME="InstanceName" SCOPE="INSTANCE">InstanceName</Property> <Property NAME="KeyField" SCOPE="GLOBAL">OBJECT_NAME</Property> <Property NAME="KeyColumn" SCOPE="GLOBAL">sid</Property> </PushDescriptor> </Metric> <!-- ====================================================================== == Category: alert User Block Chain == Collection Level: Minimum == Purpose: Alerts ====================================================================== --> <Metric NAME="UserBlockChain" TYPE="TABLE"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="10gR1;10gR2;10gR203;11gR1;11gR2"/> </ValidIf> <Display> <Label NLSID="user_block_chain">User Block Chain</Label> </Display> <TableDescriptor> <ColumnDescriptor NAME="id" TYPE="STRING" IS_KEY="TRUE"> <Display> <Label NLSID="user_block_chain_id">ID(lockID1_lockID2_sesID_sesSerial#)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="blocker_session_info" TYPE="STRING" IS_KEY="FALSE" TRANSIENT="TRUE"> <Display> <Label NLSID="user_block_chain_blocker_session_info">Blocking Session Info</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="db_time" TYPE="NUMBER" IS_KEY="FALSE"> <Display> <Label NLSID="user_block_chain_db_time">Blocking Session DB Time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="count" TYPE="NUMBER" IS_KEY="FALSE"> <Display> <Label NLSID="user_block_chain_count">Blocking Session Count</Label> </Display> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="SQL"> <Property NAME="STATEMENT" SCOPE="GLOBAL"><![CDATA[ WITH blocked_resources AS (select id1 ,id2 ,SUM(ctime) as blocked_secs ,MAX(request) as max_request ,COUNT(1) as blocked_count from v$lock where request > 0 group by id1,id2 ) ,blockers AS (select L.* ,BR.blocked_secs ,BR.blocked_count from v$lock L ,blocked_resources BR where BR.id1 = L.id1 and BR.id2 = L.id2 and L.lmode > 0 and L.block <> 0 ) select B.id1||'_'||B.id2||'_'||S.sid||'_'||S.serial# as id ,'SID,SERIAL:'||S.sid||','||S.serial#||',LOCK_TYPE:'||B.type||',PROGRAM:'||S.program||',MODULE:'||S.module||',ACTION:'||S.action||',MACHINE:'||S.machine||',OSUSER:'||S.osuser||',USERNAME:'||S.username as info ,B.blocked_secs ,B.blocked_count from v$session S ,blockers B where B.sid = S.sid ]]></Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> </QueryDescriptor> </Metric> <!-- ====================================================================== == Category: SGA Pool Wastage == Collection Level: Minimum == Purpose: Alerts, Trending ====================================================================== --> <Metric NAME="sga_pool_wastage" TYPE="TABLE"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="10gR1;10gR2;10gR203;11gR1;11gR2"/> </ValidIf> <Display> <Label NLSID="sga_pool_wastage">SGA Pool Wastage</Label> </Display> <TableDescriptor> <ColumnDescriptor NAME="shared_free_pct" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="sga_pool_wastage_shared_free_pct">Shared Pool Free (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="large_free_pct" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="sga_pool_wastage_large_free_pct">Large Pool Free (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="java_free_pct" TYPE="NUMBER" IS_KEY="FALSE"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="sga_pool_wastage_java_free_pct">Java Pool Free (%)</Label> </Display> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="SQL"> <Property NAME="STATEMENT" SCOPE="GLOBAL"><![CDATA[ DECLARE shared_free_pct NUMBER; large_free_pct NUMBER; java_free_pct NUMBER; TYPE data_cursor_type IS REF CURSOR; data_cursor data_cursor_type; BEGIN ---- -- compute each percentage ---- FOR pool_pct_pair IN (SELECT pool, DECODE(total_bytes, 0, NULL, 100 * free_bytes / total_bytes) pct FROM (SELECT pool, SUM(bytes) total_bytes, SUM(DECODE(name, 'free memory', bytes, 0)) free_bytes FROM v$sgastat GROUP BY pool)) LOOP IF pool_pct_pair.pool = 'shared pool' THEN shared_free_pct := pool_pct_pair.pct; ELSIF pool_pct_pair.pool = 'java pool' THEN java_free_pct := pool_pct_pair.pct; ELSIF pool_pct_pair.pool = 'large pool' THEN large_free_pct := pool_pct_pair.pct; END IF; END LOOP; -- open the cursor to return OPEN data_cursor FOR SELECT shared_free_pct, large_free_pct, java_free_pct FROM dual; :1 := data_cursor; END; ]]></Property> <Property NAME="SQLOUTPARAMPOS" SCOPE="GLOBAL">1</Property> <Property NAME="SQLOUTPARAMTYPE" SCOPE="GLOBAL">SQL_CURSOR</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> </QueryDescriptor> <PushDescriptor RECVLET_ID="AQMetrics"> <Property NAME="QueueName" SCOPE="GLOBAL">ALERT_QUE</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> <Property NAME="InstanceName" SCOPE="INSTANCE">InstanceName</Property> </PushDescriptor> </Metric> <!-- ******** Begin Baseline Metadata Metrics ******** --> <!-- ====================================================================== == Category: Adaptive Thresholds == Collection Level: Minimum == Purpose: Deliver the list of eligible metrics, with a flag == describing whether the threshold is adaptive. ====================================================================== --> <Metric NAME="db_bsln_adaptive_thresholds" TYPE="RAW" HELP="NO_HELP"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="10gR2;10gR203;11gR1;11gR2"/> </ValidIf> <ValidMidTierVersions START_VER="10.2.0.0.0"/> <Display> <Label NLSID="db_bsln_adaptive_thresholds">Metrics with Adaptive Thresholds</Label> </Display> <TableDescriptor TABLE_NAME="EM_adaptive_thresholds" SKIP_METRIC_COLUMN="TRUE" SKIP_COLLTIME_COLUMN="TRUE"> <ColumnDescriptor NAME="target_type" COLUMN_NAME="target_type" TYPE="STRING"> <Display> <Label NLSID="db_bsln_adaptive_thresholds_target_type">Target Type</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="metric_name" COLUMN_NAME="metric_name" TYPE="STRING" IS_KEY="TRUE"> <Display> <Label NLSID="db_bsln_adaptive_thresholds_metric_name">Metric Name</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="metric_column" COLUMN_NAME="metric_column" TYPE="STRING" IS_KEY="TRUE"> <Display> <Label NLSID="db_bsln_adaptive_thresholds_metric_column">Metric Column</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="key_value" COLUMN_NAME="key_value" TYPE="STRING" IS_KEY="TRUE"> <Display> <Label NLSID="db_bsln_adaptive_thresholds_key_value">Key Value</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="has_active_baseline" COLUMN_NAME="has_active_baseline"> <Display> <Label NLSID="db_bsln_adaptive_thresholds_hab">Adaptive Threshold (0/1)</Label> </Display> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="SQL"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="10gR2;10gR203"/> </ValidIf> <Property NAME="STATEMENT" SCOPE="GLOBAL"> <![CDATA[ select 'oracle_database' target_type, m.metric_name, m.metric_column, ' ' key_value, nvl(d.adaptive, 0) adaptive from (select at.internal_metric_category metric_name, at.internal_metric_name metric_column, tt.metrics_id metric_id from v$alert_types at, v$threshold_types tt, dbsnmp.mgmt_bsln_metrics em where at.reason_id = tt.alert_reason_id and dbsnmp.mgmt_bsln.metric_uid(tt.metrics_id) = em.metric_uid) m, (select ds.metric_id, 1 adaptive from dbsnmp.mgmt_bsln_baselines b, dbsnmp.mgmt_bsln_datasources ds, dbsnmp.mgmt_bsln_threshold_parms tp where b.target_uid = dbsnmp.mgmt_bsln.this_target_uid and b.status = 'ACTIVE' and ds.target_uid = b.target_uid and ds.source_type = 'DB' and tp.bsln_guid = b.bsln_guid and tp.datasource_guid = ds.datasource_guid) d where m.metric_id = d.metric_id(+) ]]> </Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> </QueryDescriptor> <QueryDescriptor FETCHLET_ID="SQL"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="11gR1;11gR2"/> </ValidIf> <Property NAME="STATEMENT" SCOPE="GLOBAL"> <![CDATA[ select 'oracle_database' target_type, m.metric_name, m.metric_column, ' ' key_value, nvl(d.adaptive, 0) adaptive from (select at.internal_metric_category metric_name, at.internal_metric_name metric_column, tt.metrics_id metric_id from v$alert_types at, v$threshold_types tt, dbsnmp.bsln_metric_defaults em where at.reason_id = tt.alert_reason_id and tt.metrics_id = em.metric_id) m, (select tp.metric_id, 1 adaptive from dbsnmp.bsln_baselines b, dbsnmp.bsln_threshold_params tp where b.dbid = dbsnmp.bsln_internal.this_dbid and b.instance_name = :1 and tp.bsln_guid = b.bsln_guid and tp.in_effect = 'Y') d where m.metric_id = d.metric_id(+) ]]> </Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> <Property NAME="SQLINPARAM1" SCOPE="INSTANCE">InstanceName</Property> </QueryDescriptor> </Metric> <!-- ******** End Baseline Metadata Metrics ******** --> <!-- ESA database collection starts --> <Metric NAME="secureOSAuditLevel" TYPE="RAW" CONFIG="TRUE" KEYS_ONLY="TRUE" HELP="NO_HELP"> <!-- database instance-specific, initialization parameter --> <ValidMidTierVersions START_VER="10.2.0.0.0" /> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="10gR2;10gR203;11gR1;11gR2"/> </ValidIf> <Display> <Label NLSID="secure_OS_audit_level">Audit Syslog Level</Label> </Display> <TableDescriptor TABLE_NAME="esm_collection"> <ColumnDescriptor NAME="property" COLUMN_NAME="property" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> <ColumnDescriptor NAME="value" COLUMN_NAME="value" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> <ColumnDescriptor NAME="value2" COLUMN_NAME="value2" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="SQL"> <Property NAME="STATEMENT" SCOPE="GLOBAL"> <![CDATA[ WITH max as (select :1 as aud_sys from dual) SELECT 'audit_syslog_level' "name", nvl(value, ' '), 'NA' FROM v$parameter where name ='audit_syslog_level' and EXISTS (select value from v$parameter where name = 'audit_trail' and value = 'OS') and rownum <= decode((select aud_sys from max),'-1',2147483647,(select aud_sys from max)) ]]> </Property> <Property NAME="SQLINPARAM1" SCOPE="INSTANCE">audit_syslog_level_max</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> </QueryDescriptor> </Metric> <Metric NAME="umaskSetting" TYPE="RAW" CONFIG="TRUE" KEYS_ONLY="TRUE" HELP="NO_HELP"> <!-- database instance-specific, umask setting on the individual node/host m/c --> <ValidMidTierVersions START_VER="10.2.0.0.0" /> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="8iR2;9i;9iR2;10gR1;10gR2;10gR203;11gR1;11gR2"/> </ValidIf> <Display> <Label NLSID="umask_setting">umask_setting</Label> </Display> <TableDescriptor TABLE_NAME="esm_collection"> <ColumnDescriptor NAME="property" COLUMN_NAME="property" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> <ColumnDescriptor NAME="value" COLUMN_NAME="value" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> <ColumnDescriptor NAME="value2" COLUMN_NAME="value2" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="OSLineToken"> <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property> <Property NAME="scriptsDir" SCOPE="SYSTEMGLOBAL">scriptsDir</Property> <Property NAME="command" SCOPE="GLOBAL"> %perlBin%/perl %scriptsDir%//db/umaskSetting.pl </Property> <Property NAME="ENVUMASKMAX" SCOPE="INSTANCE">umask_setting_max</Property> <Property NAME="startsWith" SCOPE="GLOBAL">em_result=</Property> <Property NAME="delimiter" SCOPE="GLOBAL">|</Property> <Property NAME="ENVEM_TARGET_NAME" SCOPE="INSTANCE">NAME</Property> <Property NAME="ENVEM_TARGET_ROLE" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="ENVEM_TARGET_ADDRESS" SCOPE="GLOBAL">(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=%MachineName%)(Port=%Port%))(CONNECT_DATA=(SID=%SID%))) </Property> <Property NAME="ENVEM_TARGET_ORACLE_HOME" SCOPE="INSTANCE">OracleHome</Property> </QueryDescriptor> </Metric> <Metric NAME="osauthPrefixDomain" TYPE="RAW" CONFIG="TRUE" KEYS_ONLY="TRUE" HELP="NO_HELP"> <ValidMidTierVersions START_VER="10.2.0.0.0" /> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="8iR2;9i;9iR2;10gR1;10gR2;10gR203;11gR1;11gR2"/> </ValidIf> <Display> <Label NLSID="osauth_prefix_domain">osauth_prefix_domain</Label> </Display> <TableDescriptor TABLE_NAME="esm_collection"> <ColumnDescriptor NAME="property" COLUMN_NAME="property" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> <ColumnDescriptor NAME="value" COLUMN_NAME="value" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> <ColumnDescriptor NAME="value2" COLUMN_NAME="value2" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="OSLineToken"> <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property> <Property NAME="scriptsDir" SCOPE="SYSTEMGLOBAL">scriptsDir</Property> <Property NAME="command" SCOPE="GLOBAL"> %perlBin%/perl %scriptsDir%//db/dbOsAuthentication.pl </Property> <Property NAME="ENVOSAUTHMAX" SCOPE="INSTANCE">osauth_prefix_domain_max</Property> <Property NAME="startsWith" SCOPE="GLOBAL">em_result=</Property> <Property NAME="delimiter" SCOPE="GLOBAL">|</Property> <Property NAME="ENVEM_TARGET_NAME" SCOPE="INSTANCE">NAME</Property> <Property NAME="ENVEM_TARGET_ROLE" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="ENVEM_TARGET_ADDRESS" SCOPE="GLOBAL">(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=%MachineName%)(Port=%Port%))(CONNECT_DATA=(SID=%SID%))) </Property> <Property NAME="ENVEM_TARGET_ORACLE_HOME" SCOPE="INSTANCE">OracleHome</Property> </QueryDescriptor> </Metric> <Metric NAME="logArchiveDest" TYPE="RAW" CONFIG="TRUE" KEYS_ONLY="TRUE" HELP="NO_HELP"> <!-- database instance-specific, init parameter--> <ValidMidTierVersions START_VER="10.2.0.0.0" /> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="8iR2;9i;9iR2;10gR1;10gR2;10gR203;11gR1;11gR2"/> </ValidIf> <Display> <Label NLSID="log_archive_dest">Log Archive Dest</Label> </Display> <TableDescriptor TABLE_NAME="esm_collection"> <ColumnDescriptor NAME="property" COLUMN_NAME="property" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> <ColumnDescriptor NAME="value" COLUMN_NAME="value" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> <ColumnDescriptor NAME="value2" COLUMN_NAME="value2" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="OSLineToken"> <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property> <Property NAME="scriptsDir" SCOPE="SYSTEMGLOBAL">scriptsDir</Property> <Property NAME="command" SCOPE="GLOBAL"> %perlBin%/perl %scriptsDir%//db/logArchiveDest.pl </Property> <Property NAME="ENVLADPERM" SCOPE="INSTANCE">log_archive_dest_perm_max</Property> <Property NAME="ENVNLADPERM" SCOPE="INSTANCE">nt_log_archive_dest_perm_max</Property> <Property NAME="ENVLADOWN" SCOPE="INSTANCE">log_archive_dest_owner_max</Property> <Property NAME="ENVLADDXPERM" SCOPE="INSTANCE">log_archive_duplex_dest_perm_max</Property> <Property NAME="ENVNLADDXPERM" SCOPE="INSTANCE">nt_log_archive_duplex_dest_perm_max</Property> <Property NAME="ENVLADDXOWN" SCOPE="INSTANCE">log_archive_duplex_dest_owner_max</Property> <Property NAME="startsWith" SCOPE="GLOBAL">em_result=</Property> <Property NAME="delimiter" SCOPE="GLOBAL">|</Property> <Property NAME="ENVEM_TARGET_NAME" SCOPE="INSTANCE">NAME</Property> <Property NAME="STDINEM_TARGET_USERNAME" SCOPE="INSTANCE">UserName</Property> <Property NAME="STDINEM_TARGET_PASSWORD" SCOPE="INSTANCE">password</Property> <Property NAME="ENVEM_TARGET_ROLE" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="ENVEM_TARGET_ADDRESS" SCOPE="GLOBAL">(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=%MachineName%)(Port=%Port%))(CONNECT_DATA=(SID=%SID%))) </Property> <Property NAME="ENVEM_TARGET_ORACLE_HOME" SCOPE="INSTANCE">OracleHome</Property> </QueryDescriptor> </Metric> <Metric NAME="ohBinFilesOwner" TYPE="RAW" CONFIG="TRUE" KEYS_ONLY="TRUE" HELP="NO_HELP"> <!-- database instance-specific, home may or may not be common to all instances--> <ValidMidTierVersions START_VER="10.2.0.0.0" /> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="8iR2;9i;9iR2;10gR1;10gR2;10gR203;11gR1;11gR2"/> </ValidIf> <Display> <Label NLSID="oh_bin_files_owner">OracleHome/Bin Files Owner</Label> </Display> <TableDescriptor TABLE_NAME="esm_collection"> <ColumnDescriptor NAME="property" COLUMN_NAME="property" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> <ColumnDescriptor NAME="value" COLUMN_NAME="value" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> <ColumnDescriptor NAME="value2" COLUMN_NAME="value2" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="OSLineToken"> <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property> <Property NAME="scriptsDir" SCOPE="SYSTEMGLOBAL">scriptsDir</Property> <Property NAME="command" SCOPE="GLOBAL"> %perlBin%/perl %scriptsDir%//db/ohBinFilesOwner.pl </Property> <Property NAME="ENVOHBINOWN" SCOPE="INSTANCE">oh_bin_files_owner_max</Property> <Property NAME="startsWith" SCOPE="GLOBAL">em_result=</Property> <Property NAME="delimiter" SCOPE="GLOBAL">|</Property> <Property NAME="ENVEM_TARGET_NAME" SCOPE="INSTANCE">NAME</Property> <Property NAME="ENVEM_TARGET_ROLE" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="ENVEM_TARGET_ADDRESS" SCOPE="GLOBAL">(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=%MachineName%)(Port=%Port%))(CONNECT_DATA=(SID=%SID%))) </Property> <Property NAME="ENVEM_TARGET_ORACLE_HOME" SCOPE="INSTANCE">OracleHome</Property> </QueryDescriptor> </Metric> <Metric NAME="ohFilesPermission" TYPE="RAW" CONFIG="TRUE" KEYS_ONLY="TRUE" HELP="NO_HELP"> <!-- database instance-specific, home may or may not be common to all instances--> <ValidMidTierVersions START_VER="10.2.0.0.0" /> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="8iR2;9i;9iR2;10gR1;10gR2;10gR203;11gR1;11gR2"/> </ValidIf> <Display> <Label NLSID="oh_files_perm">OracleHome Folder's File Permission</Label> </Display> <TableDescriptor TABLE_NAME="esm_collection"> <ColumnDescriptor NAME="property" COLUMN_NAME="property" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> <ColumnDescriptor NAME="value" COLUMN_NAME="value" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> <ColumnDescriptor NAME="value2" COLUMN_NAME="value2" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="OSLineToken"> <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property> <Property NAME="scriptsDir" SCOPE="SYSTEMGLOBAL">scriptsDir</Property> <Property NAME="command" SCOPE="GLOBAL"> %perlBin%/perl %scriptsDir%//db/ohFilesPerm.pl </Property> <Property NAME="ENVOHPERM" SCOPE="INSTANCE">oh_files_perm_max</Property> <Property NAME="ENVOHPERM1" SCOPE="INSTANCE">nt_oh_files_perm_max</Property> <Property NAME="startsWith" SCOPE="GLOBAL">em_result=</Property> <Property NAME="delimiter" SCOPE="GLOBAL">|</Property> <Property NAME="ENVEM_TARGET_NAME" SCOPE="INSTANCE">NAME</Property> <Property NAME="ENVEM_TARGET_ROLE" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="ENVEM_TARGET_ADDRESS" SCOPE="GLOBAL">(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=%MachineName%)(Port=%Port%))(CONNECT_DATA=(SID=%SID%))) </Property> <Property NAME="ENVEM_TARGET_ORACLE_HOME" SCOPE="INSTANCE">OracleHome</Property> </QueryDescriptor> </Metric> <!-- files_perm_owner--> <Metric NAME="files_perm_owner" TYPE="RAW" CONFIG="TRUE" KEYS_ONLY="TRUE" HELP="NO_HELP"> <!-- database instance-specific, home may or may not be common to all instances--> <ValidMidTierVersions START_VER="10.2.0.0.0" /> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="8iR2;9i;9iR2;10gR1;10gR2;10gR203;11gR1;11gR2"/> </ValidIf> <Display> <Label NLSID="files_perm_owner_metric"> File Permission and Owner</Label> </Display> <TableDescriptor TABLE_NAME="esm_collection"> <ColumnDescriptor NAME="property" COLUMN_NAME="property" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> <ColumnDescriptor NAME="value" COLUMN_NAME="value" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> <ColumnDescriptor NAME="value2" COLUMN_NAME="value2" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="OSLineToken"> <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property> <Property NAME="scriptsDir" SCOPE="SYSTEMGLOBAL">scriptsDir</Property> <Property NAME="command" SCOPE="GLOBAL"> %perlBin%/perl %scriptsDir%//db/files_perm_owner.pl </Property> <Property NAME="startsWith" SCOPE="GLOBAL">em_result=</Property> <Property NAME="delimiter" SCOPE="GLOBAL">|</Property> <Property NAME="ENVEM_TARGET_NAME" SCOPE="INSTANCE">NAME</Property> <Property NAME="ENVEM_TARGET_ROLE" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> <Property NAME="ENVTKPROF" SCOPE="INSTANCE">tkprof_max</Property> <Property NAME="ENVSQLPLUS" SCOPE="INSTANCE">sqlplus_max</Property> <Property NAME="ENVNTKPROF" SCOPE="INSTANCE">nt_tkprof_max</Property> <Property NAME="ENVNSQLPLUS" SCOPE="INSTANCE">nt_sqlplus_max</Property> <Property NAME="ENVTKPROF_OWNER" SCOPE="INSTANCE">tkprof_owner_max</Property> <Property NAME="ENVSQLPLUS_OWNER" SCOPE="INSTANCE">sqlplus_owner_max</Property> <Property NAME="ENVWEBCACHE" SCOPE="INSTANCE">webcache_max</Property> <Property NAME="ENVNWEBCACHE" SCOPE="INSTANCE">nt_webcache_max</Property> <Property NAME="ENVWEBCACHE_OWNER" SCOPE="INSTANCE">webcache_owner_max</Property> <Property NAME="ENVSNMP_RO" SCOPE="INSTANCE">snmp_ro_max</Property> <Property NAME="ENVNSNMP_RO" SCOPE="INSTANCE">nt_snmp_ro_max</Property> <Property NAME="ENVSNMP_RO_OWNER" SCOPE="INSTANCE">snmp_ro_owner_max</Property> <Property NAME="ENVSNMP_RW" SCOPE="INSTANCE">snmp_rw_max</Property> <Property NAME="ENVNSNMP_RW" SCOPE="INSTANCE">nt_snmp_rw_max</Property> <Property NAME="ENVSNMP_RW_OWNER" SCOPE="INSTANCE">snmp_rw_owner_max</Property> <Property NAME="ENVWDBSVR" SCOPE="INSTANCE">wdbsvr_max</Property> <Property NAME="ENVNWDBSVR" SCOPE="INSTANCE">nt_wdbsvr_max</Property> <Property NAME="ENVWDBSVR_OWNER" SCOPE="INSTANCE">wdbsvr_owner_max</Property> <Property NAME="ENVHTPERM" SCOPE="INSTANCE">htperm_max</Property> <Property NAME="ENVNHTPERM" SCOPE="INSTANCE">nt_htperm_max</Property> <Property NAME="ENVHTOWNER" SCOPE="INSTANCE">htowner_max</Property> <Property NAME="ENVXSQL" SCOPE="INSTANCE">xsql_max</Property> <Property NAME="ENVNXSQL" SCOPE="INSTANCE">nt_xsql_max</Property> <Property NAME="ENVXSQL_OWNER" SCOPE="INSTANCE">xsql_owner_max</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="ENVEM_TARGET_ADDRESS" SCOPE="GLOBAL">(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=%MachineName%)(Port=%Port%))(CONNECT_DATA=(SID=%SID%))) </Property> <Property NAME="ENVEM_TARGET_ORACLE_HOME" SCOPE="INSTANCE">OracleHome</Property> </QueryDescriptor> </Metric> <!-- files_perm_owner end --> <!-- otrace--> <Metric NAME="otrace" TYPE="RAW" CONFIG="TRUE" KEYS_ONLY="TRUE" HELP="NO_HELP"> <!-- database instance-specific, home may or may not be common to all instances--> <ValidMidTierVersions START_VER="10.2.0.0.0" /> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="8iR2;9i;9iR2"/> </ValidIf> <Display> <Label NLSID="otrace_metric">OracleHome/otrace/admin/ has *.dat file[s] </Label> </Display> <TableDescriptor TABLE_NAME="esm_collection"> <ColumnDescriptor NAME="property" COLUMN_NAME="property" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> <ColumnDescriptor NAME="value" COLUMN_NAME="value" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="OSLineToken"> <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property> <Property NAME="scriptsDir" SCOPE="SYSTEMGLOBAL">scriptsDir</Property> <Property NAME="command" SCOPE="GLOBAL"> %perlBin%/perl %scriptsDir%//db/otrace.pl </Property> <Property NAME="startsWith" SCOPE="GLOBAL">em_result=</Property> <Property NAME="delimiter" SCOPE="GLOBAL">|</Property> <Property NAME="ENVEM_TARGET_NAME" SCOPE="INSTANCE">NAME</Property> <Property NAME="ENVEM_TARGET_ROLE" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="ENVOTRACE" SCOPE="INSTANCE">otrace_max</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="ENVEM_TARGET_ADDRESS" SCOPE="GLOBAL">(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=%MachineName%)(Port=%Port%))(CONNECT_DATA=(SID=%SID%))) </Property> <Property NAME="ENVEM_TARGET_ORACLE_HOME" SCOPE="INSTANCE">OracleHome</Property> </QueryDescriptor> </Metric> <!-- otrace end --> <Metric NAME="ohExeBinFilesPerm" TYPE="RAW" CONFIG="TRUE" KEYS_ONLY="TRUE" HELP="NO_HELP"> <!-- database instance-specific, home may or may not be common to all instances--> <ValidMidTierVersions START_VER="10.2.0.0.0" /> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="8iR2;9i;9iR2;10gR1;10gR2;10gR203;11gR1;11gR2"/> </ValidIf> <Display> <Label NLSID="oh_exebin_files_perm">OracleHome/Bin Executables Permission</Label> </Display> <TableDescriptor TABLE_NAME="esm_collection"> <ColumnDescriptor NAME="property" COLUMN_NAME="property" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> <ColumnDescriptor NAME="value" COLUMN_NAME="value" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> <ColumnDescriptor NAME="value2" COLUMN_NAME="value2" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="OSLineToken"> <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property> <Property NAME="scriptsDir" SCOPE="SYSTEMGLOBAL">scriptsDir</Property> <Property NAME="command" SCOPE="GLOBAL"> %perlBin%/perl %scriptsDir%//db/ohExeBinPerm.pl </Property> <Property NAME="ENVOHEXEPERM" SCOPE="INSTANCE">oh_exebin_files_perm_max</Property> <Property NAME="ENVNOHEXEPERM" SCOPE="INSTANCE">nt_oh_exebin_files_perm_max</Property> <Property NAME="startsWith" SCOPE="GLOBAL">em_result=</Property> <Property NAME="delimiter" SCOPE="GLOBAL">|</Property> <Property NAME="ENVEM_TARGET_NAME" SCOPE="INSTANCE">NAME</Property> <Property NAME="STDINEM_TARGET_USERNAME" SCOPE="INSTANCE">UserName</Property> <Property NAME="STDINEM_TARGET_PASSWORD" SCOPE="INSTANCE">password</Property> <Property NAME="ENVEM_TARGET_ROLE" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="ENVEM_TARGET_ADDRESS" SCOPE="GLOBAL">(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=%MachineName%)(Port=%Port%))(CONNECT_DATA=(SID=%SID%))) </Property> <Property NAME="ENVEM_TARGET_ORACLE_HOME" SCOPE="INSTANCE">OracleHome</Property> </QueryDescriptor> </Metric> <Metric NAME="windowsPlatform" TYPE="RAW" CONFIG="TRUE" KEYS_ONLY="TRUE" HELP="NO_HELP"> <!-- database instance-specific, home may or may not be common to all instances--> <ValidMidTierVersions START_VER="10.2.0.0.0" /> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="8iR2;9i;9iR2;10gR1;10gR2;10gR203;11gR1;11gR2"/> </ValidIf> <Display> <Label NLSID="windows_platform">Oracle Installed on which windows platform</Label> </Display> <TableDescriptor TABLE_NAME="esm_collection"> <ColumnDescriptor NAME="property" COLUMN_NAME="property" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> <ColumnDescriptor NAME="value" COLUMN_NAME="value" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="OSLineToken"> <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property> <Property NAME="scriptsDir" SCOPE="SYSTEMGLOBAL">scriptsDir</Property> <Property NAME="command" SCOPE="GLOBAL"> %perlBin%/perl %scriptsDir%//db/winplat.pl </Property> <Property NAME="ENVWINPLAT" SCOPE="INSTANCE">win_plat_max</Property> <Property NAME="startsWith" SCOPE="GLOBAL">em_result=</Property> <Property NAME="delimiter" SCOPE="GLOBAL">|</Property> <Property NAME="ENVEM_TARGET_NAME" SCOPE="INSTANCE">NAME</Property> <Property NAME="STDINEM_TARGET_USERNAME" SCOPE="INSTANCE">UserName</Property> <Property NAME="STDINEM_TARGET_PASSWORD" SCOPE="INSTANCE">password</Property> <Property NAME="ENVEM_TARGET_ROLE" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="ENVEM_TARGET_ADDRESS" SCOPE="GLOBAL">(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=%MachineName%)(Port=%Port%))(CONNECT_DATA=(SID=%SID%))) </Property> <Property NAME="ENVEM_TARGET_ORACLE_HOME" SCOPE="INSTANCE">OracleHome</Property> </QueryDescriptor> </Metric> <Metric NAME="drivePerm" TYPE="RAW" CONFIG="TRUE" KEYS_ONLY="TRUE" HELP="NO_HELP"> <!-- database instance-specific, home may or may not be common to all instances--> <ValidMidTierVersions START_VER="10.2.0.0.0" /> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="8iR2;9i;9iR2;10gR1;10gR2;10gR203;11gR1;11gR2"/> </ValidIf> <Display> <Label NLSID="install_drive_perm">Oracle Installed drive/partition permissions</Label> </Display> <TableDescriptor TABLE_NAME="esm_collection"> <ColumnDescriptor NAME="property" COLUMN_NAME="property" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> <ColumnDescriptor NAME="value" COLUMN_NAME="value" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="OSLineToken"> <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property> <Property NAME="scriptsDir" SCOPE="SYSTEMGLOBAL">scriptsDir</Property> <Property NAME="command" SCOPE="GLOBAL"> %perlBin%/perl %scriptsDir%//db/installationdrv.pl </Property> <Property NAME="ENVDRIVEPERM" SCOPE="INSTANCE">drive_perm_max</Property> <Property NAME="startsWith" SCOPE="GLOBAL">em_result=</Property> <Property NAME="delimiter" SCOPE="GLOBAL">|</Property> <Property NAME="ENVEM_TARGET_NAME" SCOPE="INSTANCE">NAME</Property> <Property NAME="STDINEM_TARGET_USERNAME" SCOPE="INSTANCE">UserName</Property> <Property NAME="STDINEM_TARGET_PASSWORD" SCOPE="INSTANCE">password</Property> <Property NAME="ENVEM_TARGET_ROLE" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="ENVEM_TARGET_ADDRESS" SCOPE="GLOBAL">(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=%MachineName%)(Port=%Port%))(CONNECT_DATA=(SID=%SID%))) </Property> <Property NAME="ENVEM_TARGET_ORACLE_HOME" SCOPE="INSTANCE">OracleHome</Property> </QueryDescriptor> </Metric> <Metric NAME="domainUsersGrp" TYPE="RAW" CONFIG="TRUE" KEYS_ONLY="TRUE" HELP="NO_HELP"> <!-- database instance-specific, home may or may not be common to all instances--> <ValidMidTierVersions START_VER="10.2.0.0.0" /> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="8iR2;9i;9iR2;10gR1;10gR2;10gR203;11gR1;11gR2"/> </ValidIf> <Display> <Label NLSID="domain_users_grp">Domain Users group in local users group</Label> </Display> <TableDescriptor TABLE_NAME="esm_collection"> <ColumnDescriptor NAME="property" COLUMN_NAME="property" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> <ColumnDescriptor NAME="value" COLUMN_NAME="value" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="OSLineToken"> <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property> <Property NAME="scriptsDir" SCOPE="SYSTEMGLOBAL">scriptsDir</Property> <Property NAME="command" SCOPE="GLOBAL"> %perlBin%/perl %scriptsDir%//db/domainusergrp.pl </Property> <Property NAME="ENVDOMAINUSER" SCOPE="INSTANCE">domain_user_grp_max</Property> <Property NAME="startsWith" SCOPE="GLOBAL">em_result=</Property> <Property NAME="delimiter" SCOPE="GLOBAL">|</Property> <Property NAME="ENVEM_TARGET_NAME" SCOPE="INSTANCE">NAME</Property> <Property NAME="STDINEM_TARGET_USERNAME" SCOPE="INSTANCE">UserName</Property> <Property NAME="STDINEM_TARGET_PASSWORD" SCOPE="INSTANCE">password</Property> <Property NAME="ENVEM_TARGET_ROLE" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="ENVEM_TARGET_ADDRESS" SCOPE="GLOBAL">(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=%MachineName%)(Port=%Port%))(CONNECT_DATA=(SID=%SID%))) </Property> <Property NAME="ENVEM_TARGET_ORACLE_HOME" SCOPE="INSTANCE">OracleHome</Property> </QueryDescriptor> </Metric> <Metric NAME="wintools" TYPE="RAW" CONFIG="TRUE" KEYS_ONLY="TRUE" HELP="NO_HELP"> <!-- database instance-specific, home may or may not be common to all instances--> <ValidMidTierVersions START_VER="10.2.0.0.0" /> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="8iR2;9i;9iR2;10gR1;10gR2;10gR203;11gR1;11gR2"/> </ValidIf> <Display> <Label NLSID="win_tools_perm">windows tools permissions</Label> </Display> <TableDescriptor TABLE_NAME="esm_collection"> <ColumnDescriptor NAME="property" COLUMN_NAME="property" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> <ColumnDescriptor NAME="value" COLUMN_NAME="value" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="OSLineToken"> <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property> <Property NAME="scriptsDir" SCOPE="SYSTEMGLOBAL">scriptsDir</Property> <Property NAME="command" SCOPE="GLOBAL"> %perlBin%/perl %scriptsDir%//db/wintools.pl </Property> <Property NAME="ENVWINTOOL" SCOPE="INSTANCE">win_tools_max</Property> <Property NAME="startsWith" SCOPE="GLOBAL">em_result=</Property> <Property NAME="delimiter" SCOPE="GLOBAL">|</Property> <Property NAME="ENVEM_TARGET_NAME" SCOPE="INSTANCE">NAME</Property> <Property NAME="STDINEM_TARGET_USERNAME" SCOPE="INSTANCE">UserName</Property> <Property NAME="STDINEM_TARGET_PASSWORD" SCOPE="INSTANCE">password</Property> <Property NAME="ENVEM_TARGET_ROLE" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="ENVEM_TARGET_ADDRESS" SCOPE="GLOBAL">(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=%MachineName%)(Port=%Port%))(CONNECT_DATA=(SID=%SID%))) </Property> <Property NAME="ENVEM_TARGET_ORACLE_HOME" SCOPE="INSTANCE">OracleHome</Property> </QueryDescriptor> </Metric> <Metric NAME="dbParamCollection" TYPE="RAW" CONFIG="TRUE" KEYS_ONLY="TRUE" HELP="NO_HELP"> <!-- database instance-specific, initialization parameters specific to instances--> <ValidMidTierVersions START_VER="10.2.0.0.0" /> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="8iR2;9i;9iR2;10gR1;10gR2;10gR203;11gR1;11gR2"/> </ValidIf> <Display> <Label NLSID="db_parameter_collection">Data Base parameter collection</Label> </Display> <TableDescriptor TABLE_NAME="esm_collection"> <ColumnDescriptor NAME="property" COLUMN_NAME="property" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> <ColumnDescriptor NAME="value" COLUMN_NAME="value" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> <ColumnDescriptor NAME="value2" COLUMN_NAME="value2" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="SQL"> <Property NAME="STATEMENT" SCOPE="GLOBAL"> <![CDATA[ WITH max as (select :1 as trc_file, :2 as rem_lsnr, :3 as aud_trl, :4 as os_auth, :5 as sql92, :6 as db_lnk from dual) SELECT 'trace_files_public' "name",nvl(value,'FALSE'),'NA' FROM v$parameter where name='_trace_files_public' and rownum <= decode((select trc_file from max),'-1',2147483647,(select trc_file from max)) union SELECT 'remote_listener' "name",nvl(value,' '),'NA' FROM v$parameter where name='remote_listener' and rownum <= decode((select rem_lsnr from max),'-1',2147483647,(select rem_lsnr from max)) union SELECT 'audit_trail' "name",nvl(value,'none'),'NA' FROM v$parameter where name='audit_trail' and rownum <= decode((select aud_trl from max),'-1',2147483647,(select aud_trl from max)) union SELECT 'os_authent_prefix' "name",nvl(value,' '),'NA' FROM v$parameter where name='os_authent_prefix' and rownum <= decode((select os_auth from max),'-1',2147483647,(select os_auth from max)) union SELECT 'sql92_security' "name",nvl(value,'FALSE'),'NA' FROM v$parameter where name='sql92_security' and rownum <= decode((select sql92 from max),'-1',2147483647,(select sql92 from max)) UNION SELECT 'db_link_global_name'"name" ,value,'NA' FROM v$parameter WHERE name='global_names' and rownum <= decode((select db_lnk from max),'-1',2147483647,(select db_lnk from max)) ]]> </Property> <Property NAME="SQLINPARAM1" SCOPE="INSTANCE">trace_files_public_max</Property> <Property NAME="SQLINPARAM2" SCOPE="INSTANCE">remote_listener_max</Property> <Property NAME="SQLINPARAM3" SCOPE="INSTANCE">audit_trail_max</Property> <Property NAME="SQLINPARAM4" SCOPE="INSTANCE">os_authent_prefix_max</Property> <Property NAME="SQLINPARAM5" SCOPE="INSTANCE">sql92_security_max</Property> <Property NAME="SQLINPARAM6" SCOPE="INSTANCE">db_link_global_name_max</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> </QueryDescriptor> </Metric> <Metric NAME="dbInitParamFilesPerm" TYPE="RAW" CONFIG="TRUE" KEYS_ONLY="TRUE" HELP="NO_HELP"> <!-- database instance-specific, initialization file specific to instances--> <ValidMidTierVersions START_VER="10.2.0.0.0" /> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="8iR2;9i;9iR2;10gR1;10gR2;10gR203;11gR1;11gR2"/> </ValidIf> <Display> <Label NLSID="db_initparam_files_perm">DB InitParameter File Permissions</Label> </Display> <TableDescriptor TABLE_NAME="esm_collection"> <ColumnDescriptor NAME="property" COLUMN_NAME="property" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> <ColumnDescriptor NAME="value" COLUMN_NAME="value" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> <ColumnDescriptor NAME="value2" COLUMN_NAME="value2" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="OSLineToken"> <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property> <Property NAME="scriptsDir" SCOPE="SYSTEMGLOBAL">scriptsDir</Property> <Property NAME="command" SCOPE="GLOBAL"> %perlBin%/perl %scriptsDir%//db/dbInitParamFilesPerm.pl </Property> <Property NAME="ENVSPFILEMAX" SCOPE="INSTANCE">spfile_perm</Property> <Property NAME="ENVINITORAMAX" SCOPE="INSTANCE">initora_perm</Property> <Property NAME="ENVNSPFILEMAX" SCOPE="INSTANCE">nt_spfile_perm</Property> <Property NAME="ENVNINITORAMAX" SCOPE="INSTANCE">nt_initora_perm</Property> <Property NAME="startsWith" SCOPE="GLOBAL">em_result=</Property> <Property NAME="delimiter" SCOPE="GLOBAL">|</Property> <Property NAME="ENVEM_TARGET_NAME" SCOPE="INSTANCE">NAME</Property> <Property NAME="STDINEM_TARGET_USERNAME" SCOPE="INSTANCE">UserName</Property> <Property NAME="STDINEM_TARGET_PASSWORD" SCOPE="INSTANCE">password</Property> <Property NAME="ENVEM_TARGET_ROLE" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="ENVDB_SID" SCOPE="INSTANCE">SID</Property> <Property NAME="ENVEM_TARGET_ADDRESS" SCOPE="GLOBAL">(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=%MachineName%)(Port=%Port%))(CONNECT_DATA=(SID=%SID%))) </Property> <Property NAME="ENVEM_TARGET_ORACLE_HOME" SCOPE="INSTANCE">OracleHome</Property> </QueryDescriptor> </Metric> <Metric NAME="dbAuditPerm" TYPE="RAW" CONFIG="TRUE" KEYS_ONLY="TRUE" HELP="NO_HELP"> <!-- database instance-specific, audit file specific to instances--> <ValidMidTierVersions START_VER="10.2.0.0.0" /> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="8iR2;9i;9iR2;10gR1;10gR2;10gR203;11gR1;11gR2"/> </ValidIf> <Display> <Label NLSID="db_audit_perm">DB Audit Files Permissions</Label> </Display> <TableDescriptor TABLE_NAME="esm_collection"> <ColumnDescriptor NAME="property" COLUMN_NAME="property" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> <ColumnDescriptor NAME="value" COLUMN_NAME="value" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> <ColumnDescriptor NAME="value2" COLUMN_NAME="value2" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="OSLineToken"> <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property> <Property NAME="scriptsDir" SCOPE="SYSTEMGLOBAL">scriptsDir</Property> <Property NAME="command" SCOPE="GLOBAL"> %perlBin%/perl %scriptsDir%//db/dbAuditPerm.pl </Property> <Property NAME="ENVAFDMAX" SCOPE="INSTANCE">audit_file_dest_max</Property> <Property NAME="ENVUDDMAX" SCOPE="INSTANCE">user_dump_dest_max</Property> <Property NAME="ENVBDDMAX" SCOPE="INSTANCE">background_dump_dest_max</Property> <Property NAME="ENVCDDMAX" SCOPE="INSTANCE">core_dump_dest_max</Property> <Property NAME="ENVNAFDMAX" SCOPE="INSTANCE">nt_audit_file_dest_max</Property> <Property NAME="ENVNUDDMAX" SCOPE="INSTANCE">nt_user_dump_dest_max</Property> <Property NAME="ENVNBDDMAX" SCOPE="INSTANCE">nt_background_dump_dest_max</Property> <Property NAME="ENVNCDDMAX" SCOPE="INSTANCE">nt_core_dump_dest_max</Property> <Property NAME="startsWith" SCOPE="GLOBAL">em_result=</Property> <Property NAME="delimiter" SCOPE="GLOBAL">|</Property> <Property NAME="ENVEM_TARGET_NAME" SCOPE="INSTANCE">NAME</Property> <Property NAME="STDINEM_TARGET_USERNAME" SCOPE="INSTANCE">UserName</Property> <Property NAME="STDINEM_TARGET_PASSWORD" SCOPE="INSTANCE">password</Property> <Property NAME="ENVEM_TARGET_ROLE" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="ENVEM_TARGET_ADDRESS" SCOPE="GLOBAL">(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=%MachineName%)(Port=%Port%))(CONNECT_DATA=(SID=%SID%))) </Property> <Property NAME="ENVEM_TARGET_ORACLE_HOME" SCOPE="INSTANCE">OracleHome</Property> </QueryDescriptor> </Metric> <Metric NAME="utlFileDirSetting" TYPE="RAW" CONFIG="TRUE" KEYS_ONLY="TRUE" HELP="NO_HELP"> <!-- database instance-specific, UTL_FILE_DIR specific to instances--> <ValidMidTierVersions START_VER="10.2.0.0.0" /> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="8iR2;9i;9iR2;10gR1;10gR2;10gR203;11gR1;11gR2"/> </ValidIf> <Display> <Label NLSID="utl_file_dir_setting">Utl File Directroy Setting</Label> </Display> <TableDescriptor TABLE_NAME="esm_collection"> <ColumnDescriptor NAME="property" COLUMN_NAME="property" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> <ColumnDescriptor NAME="value" COLUMN_NAME="value" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> <ColumnDescriptor NAME="value2" COLUMN_NAME="value2" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="OSLineToken"> <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property> <Property NAME="scriptsDir" SCOPE="SYSTEMGLOBAL">scriptsDir</Property> <Property NAME="command" SCOPE="GLOBAL"> %perlBin%/perl %scriptsDir%//db/utlFileDir.pl </Property> <Property NAME="ENVUTLFILEDIRMAX" SCOPE="INSTANCE">utl_file_dir_max</Property> <Property NAME="ENVUTLFILEDIR9MAX" SCOPE="INSTANCE">utl_file_dir_9i_max</Property> <Property NAME="startsWith" SCOPE="GLOBAL">em_result=</Property> <Property NAME="delimiter" SCOPE="GLOBAL">|</Property> <Property NAME="ENVEM_TARGET_NAME" SCOPE="INSTANCE">NAME</Property> <Property NAME="STDINEM_TARGET_USERNAME" SCOPE="INSTANCE">UserName</Property> <Property NAME="STDINEM_TARGET_PASSWORD" SCOPE="INSTANCE">password</Property> <Property NAME="ENVEM_TARGET_ROLE" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="ENVEM_TARGET_ADDRESS" SCOPE="GLOBAL">(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=%MachineName%)(Port=%Port%))(CONNECT_DATA=(SID=%SID%))) </Property> <Property NAME="ENVEM_TARGET_ORACLE_HOME" SCOPE="INSTANCE">OracleHome</Property> </QueryDescriptor> </Metric> <Metric NAME="iFileRefPerm" TYPE="RAW" CONFIG="TRUE" KEYS_ONLY="TRUE" HELP="NO_HELP"> <!-- database instance-specific, init file specific to instances--> <ValidMidTierVersions START_VER="10.2.0.0.0" /> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="8iR2;9i;9iR2;10gR1;10gR2;10gR203;11gR1;11gR2"/> </ValidIf> <Display> <Label NLSID="ifile_ref_files_perm">IFiles Permissions</Label> </Display> <TableDescriptor TABLE_NAME="esm_collection"> <ColumnDescriptor NAME="property" COLUMN_NAME="property" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> <ColumnDescriptor NAME="value" COLUMN_NAME="value" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> <ColumnDescriptor NAME="value2" COLUMN_NAME="value2" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="OSLineToken"> <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property> <Property NAME="scriptsDir" SCOPE="SYSTEMGLOBAL">scriptsDir</Property> <Property NAME="command" SCOPE="GLOBAL"> %perlBin%/perl %scriptsDir%//db/iFileRefPerm.pl </Property> <Property NAME="ENVIFILEMAX" SCOPE="INSTANCE">oh_ifile_perm_max</Property> <Property NAME="ENVNIFILEMAX" SCOPE="INSTANCE">nt_oh_ifile_perm_max</Property> <Property NAME="startsWith" SCOPE="GLOBAL">em_result=</Property> <Property NAME="delimiter" SCOPE="GLOBAL">|</Property> <Property NAME="ENVEM_TARGET_NAME" SCOPE="INSTANCE">NAME</Property> <Property NAME="STDINEM_TARGET_USERNAME" SCOPE="INSTANCE">UserName</Property> <Property NAME="STDINEM_TARGET_PASSWORD" SCOPE="INSTANCE">password</Property> <Property NAME="ENVEM_TARGET_ROLE" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="ENVDB_SID" SCOPE="INSTANCE">SID</Property> <Property NAME="ENVEM_TARGET_ADDRESS" SCOPE="GLOBAL">(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=%MachineName%)(Port=%Port%))(CONNECT_DATA=(SID=%SID%))) </Property> <Property NAME="ENVEM_TARGET_ORACLE_HOME" SCOPE="INSTANCE">OracleHome</Property> </QueryDescriptor> </Metric> <!-- ESA database collection ends --> <!-- ESM collection --> <Metric NAME="remoteRolesAndAuthentication" TYPE="RAW" CONFIG="TRUE" KEYS_ONLY="TRUE" HELP="NO_HELP"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="8iR2;9i;9iR2;10gR1;10gR2;10gR203;11gR1;11gR2"/> </ValidIf> <Display> <Label NLSID="remote_role_authentication">Remote OS Roles and Authentication</Label> </Display> <TableDescriptor TABLE_NAME="esm_collection"> <ColumnDescriptor NAME="property" COLUMN_NAME="property" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> <ColumnDescriptor NAME="value" COLUMN_NAME="value" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="SQL"> <Property NAME="STATEMENT" SCOPE="GLOBAL"> <![CDATA[ WITH max as (select :1 as rem_roles, :2 as rem_auth from dual) SELECT name,value FROM sys.v_$parameter where name='remote_os_roles' and rownum <= decode((select rem_roles from max),'-1',2147483647,(select rem_roles from max)) UNION SELECT name,value FROM sys.v_$parameter where name='remote_os_authent' and rownum <= decode((select rem_auth from max),'-1',2147483647,(select rem_auth from max)) ]]> </Property> <Property NAME="SQLINPARAM1" SCOPE="INSTANCE">remote_os_roles_max</Property> <Property NAME="SQLINPARAM2" SCOPE="INSTANCE">remote_os_authent_max</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> </QueryDescriptor> </Metric> <Metric NAME="remoteLoginPasswordFile" TYPE="RAW" CONFIG="TRUE" KEYS_ONLY="TRUE" HELP="NO_HELP" > <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="8iR2;9i;9iR2;10gR1;10gR2;10gR203;11gR1;11gR2"/> </ValidIf> <Display> <Label NLSID="remote_password_file">Remote Password File</Label> </Display> <TableDescriptor TABLE_NAME="esm_collection"> <ColumnDescriptor NAME="property" COLUMN_NAME="property" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> <ColumnDescriptor NAME="value" COLUMN_NAME="value" TYPE="STRING" IS_KEY="TRUE" HELP="NO_HELP"> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="SQL"> <Property NAME="STATEMENT" SCOPE="GLOBAL"> <![CDATA[ WITH max as (select :1 as rem_log_pass from dual) SELECT name,value FROM sys.v_$parameter where name='remote_login_passwordfile' and rownum <= decode((select rem_log_pass from max),'-1',2147483647,(select rem_log_pass from max)) ]]> </Property> <Property NAME="SQLINPARAM1" SCOPE="INSTANCE">remote_login_passwordfile_max</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> </QueryDescriptor> </Metric> <!-- ====================================================================== == SGA Metric ====================================================================== --> <Metric NAME="sga_stats" TYPE="TABLE" USAGE_TYPE="HIDDEN"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="10gR203;11gR1;11gR2"/> </ValidIf> <Display> <Label NLSID="sga_stats">Statistics from Direct SGA Attach</Label> </Display> <TableDescriptor> <ColumnDescriptor NAME="data" TYPE="STRING" IS_KEY="FALSE"> <Display> <Label NLSID="sga_stats_data">Data from the SGA</Label> </Display> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="SGA"> <Property NAME="METRIC_QUERY_NAME" SCOPE="USER">METRIC_QUERY_NAME</Property> <Property NAME="ENVEM_TARGET_ORACLE_HOME" SCOPE="INSTANCE">OracleHome</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="MachineName" SCOPE="HOST">NAME</Property> <Property NAME="ConnStr" SCOPE="GLOBAL">(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=%MachineName%)(Port=%Port%))(CONNECT_DATA=(SID=%SID%)))</Property> </QueryDescriptor> </Metric> <!-- ====================================================================== == HealthCheck Metric ====================================================================== --> <Metric NAME="health_check" TYPE="TABLE"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="10gR1;10gR2;10gR203;11gR1;11gR2" /> </ValidIf> <Display> <Label NLSID="health_check_title">Health Check</Label> </Display> <TableDescriptor> <ColumnDescriptor NAME="Status" TYPE="NUMBER" IS_KEY="FALSE"> <Display> <Label NLSID="health_check_status">Instance Status</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="Unmounted" TYPE="NUMBER" IS_KEY="FALSE"> <Display> <Label NLSID="health_check_unmounted">Unmounted</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="Mounted" TYPE="NUMBER" IS_KEY="FALSE"> <Display> <Label NLSID="health_check_mounted">Mounted</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="Unavailable" TYPE="NUMBER" IS_KEY="FALSE"> <Display> <Label NLSID="health_check_unavailable">Unavailable</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="Maintenance" TYPE="NUMBER" IS_KEY="FALSE"> <Display> <Label NLSID="health_check_maint">Maintenance</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="text" TYPE="STRING" IS_KEY="FALSE"> <Display> <Label NLSID="health_check_state_desc">State Description</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="State_Table" TYPE="NUMBER" IS_KEY="FALSE"> <Display> <Label NLSID="health_check_state">Instance State</Label> </Display> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="HC"> <Property NAME="ENVEM_TARGET_ORACLE_HOME" SCOPE="INSTANCE">OracleHome</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> </QueryDescriptor> </Metric> <!-- ====================================================================== == Hang Analyze Metric ====================================================================== --> <Metric NAME="waiting_sessions" TYPE="TABLE" USAGE_TYPE="HIDDEN" KEYS_ONLY="TRUE"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="8iR2;9i;9iR2;10gR1;10gR2;10gR203"/> </ValidIf> <TableDescriptor/> <QueryDescriptor FETCHLET_ID="OSLineToken"> <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property> <Property NAME="scriptsDir" SCOPE="SYSTEMGLOBAL">scriptsDir</Property> <Property NAME="ENVEM_TARGET_ORACLE_HOME" SCOPE="INSTANCE">OracleHome</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="analysisAreaOption" SCOPE="USER" OPTIONAL="TRUE">analysisAreaOption</Property> <Property NAME="command" SCOPE="GLOBAL"> %perlBin%/perl %scriptsDir%/db/hanganalyze.pl %OracleHome% %SID% %scriptsDir%/db/ %analysisAreaOption% </Property> <Property NAME="startsWith" SCOPE="GLOBAL">em_result=</Property> <Property NAME="delimiter" SCOPE="GLOBAL">|</Property> </QueryDescriptor> </Metric> <!-- ====================================================================== == Hang Analyze Metric (11g replacement) ====================================================================== --> <Metric NAME="session_wait_chains" TYPE="TABLE" USAGE_TYPE="HIDDEN" KEYS_ONLY="TRUE"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="11gR1;11gR2"/> </ValidIf> <TableDescriptor/> <QueryDescriptor FETCHLET_ID="OSLineToken"> <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property> <Property NAME="scriptsDir" SCOPE="SYSTEMGLOBAL">scriptsDir</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="analysisAreaOption" SCOPE="USER" OPTIONAL="TRUE">analysisAreaOption</Property> <Property NAME="ENVEM_TARGET_ADDRESS" SCOPE="GLOBAL"> (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=%MachineName%)(Port=%Port%))(CONNECT_DATA=(SID=%SID%))) </Property> <Property NAME="OracleHome" SCOPE="INSTANCE">OracleHome</Property> <Property NAME="STDINEM_SYSDBA_USERNAME" SCOPE="USER" OPTIONAL="TRUE">SYSDBAUserName</Property> <Property NAME="STDINEM_SYSDBA_PASSWORD" SCOPE="USER" OPTIONAL="TRUE">SYSDBAPassword</Property> <Property NAME="command" SCOPE="GLOBAL"> %perlBin%/perl %scriptsDir%/db/waitChains.pl %OracleHome% %SID% %analysisAreaOption% </Property> <Property NAME="startsWith" SCOPE="GLOBAL">em_result=</Property> <Property NAME="delimiter" SCOPE="GLOBAL">|</Property> </QueryDescriptor> </Metric> <!-- ====================================================================== == Hang Diagnostic Traces Metric ====================================================================== --> <Metric NAME="hung_system_traces" TYPE="TABLE" USAGE_TYPE="HIDDEN"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="11gR1;11gR2"/> </ValidIf> <TableDescriptor> <ColumnDescriptor NAME="tracefile" TYPE="STRING" IS_KEY="TRUE"/> </TableDescriptor> <QueryDescriptor FETCHLET_ID="OSLineToken"> <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property> <Property NAME="scriptsDir" SCOPE="SYSTEMGLOBAL">scriptsDir</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="ENVEM_TARGET_ADDRESS" SCOPE="GLOBAL"> (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=%MachineName%)(Port=%Port%))(CONNECT_DATA=(SID=%SID%))) </Property> <Property NAME="OracleHome" SCOPE="INSTANCE">OracleHome</Property> <Property NAME="STDINEM_SYSDBA_USERNAME" SCOPE="USER" OPTIONAL="TRUE">SYSDBAUserName</Property> <Property NAME="STDINEM_SYSDBA_PASSWORD" SCOPE="USER" OPTIONAL="TRUE">SYSDBAPassword</Property> <Property NAME="command" SCOPE="GLOBAL"> %perlBin%/perl %scriptsDir%/db/getHangTraces.pl %OracleHome% %SID% </Property> <Property NAME="startsWith" SCOPE="GLOBAL">em_result=</Property> <Property NAME="delimiter" SCOPE="GLOBAL">|</Property> </QueryDescriptor> </Metric> <!-- ====================================================================== == SGA Start Metric ====================================================================== --> <Metric NAME="sga_start" TYPE="TABLE" USAGE_TYPE="COLLECT_UPLOAD"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="10gR203;11gR1;11gR2"/> </ValidIf> <TableDescriptor> <ColumnDescriptor NAME="dummy" TYPE="STRING" IS_KEY="FALSE"/> </TableDescriptor> <QueryDescriptor FETCHLET_ID="OSLineToken"> <Property NAME="AgentOracleHome" SCOPE="GLOBAL">%OracleHome%</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="ENVEM_TARGET_ORACLE_HOME" SCOPE="INSTANCE">OracleHome</Property> <Property NAME="STDINEM_TARGET_USERNAME" SCOPE="INSTANCE">UserName</Property> <Property NAME="STDINEM_TARGET_PASSWORD" SCOPE="INSTANCE">password</Property> <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property> <Property NAME="scriptsDir" SCOPE="SYSTEMGLOBAL">scriptsDir</Property> <Property NAME="ENVEM_TARGET_VERSION" SCOPE="INSTANCE">VersionCategory</Property> <Property NAME="MachineName" SCOPE="HOST">NAME</Property> <Property NAME="ConnStr" SCOPE="GLOBAL">(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=%MachineName%)(Port=%Port%))(CONNECT_DATA=(SID=%SID%)))</Property> <Property NAME="ADVERT_DIR" SCOPE="GLOBAL">%AgentOracleHome%/%MachineName%_%SID%/sysman/log</Property> <Property NAME="command" SCOPE="GLOBAL">%perlBin%/perl %scriptsDir%/db/sgastart.pl DSGA %ConnStr% %MachineName% %Port% %SID% %AgentOracleHome% %ADVERT_DIR%</Property> <Property NAME="startsWith" SCOPE="GLOBAL">em_result=</Property> <Property NAME="delimiter" SCOPE="GLOBAL">|</Property> <Property NAME="ENVRDBMS_GROUP_OWNER" SCOPE="USER" OPTIONAL="TRUE">rdbmsGroupOwner</Property> </QueryDescriptor> </Metric> <!-- ====================================================================== == SGA Stop Metric ====================================================================== --> <Metric NAME="sga_stop" TYPE="TABLE" USAGE_TYPE="HIDDEN"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="10gR203;11gR1;11gR2"/> </ValidIf> <TableDescriptor> <ColumnDescriptor NAME="dummy" TYPE="STRING" IS_KEY="FALSE"/> </TableDescriptor> <QueryDescriptor FETCHLET_ID="OSLineToken"> <Property NAME="AgentOracleHome" SCOPE="GLOBAL">%OracleHome%</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="ENVEM_TARGET_ORACLE_HOME" SCOPE="INSTANCE">OracleHome</Property> <Property NAME="STDINEM_TARGET_USERNAME" SCOPE="INSTANCE">UserName</Property> <Property NAME="STDINEM_TARGET_PASSWORD" SCOPE="INSTANCE">password</Property> <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property> <Property NAME="scriptsDir" SCOPE="SYSTEMGLOBAL">scriptsDir</Property> <Property NAME="ENVEM_TARGET_VERSION" SCOPE="INSTANCE">VersionCategory</Property> <Property NAME="MachineName" SCOPE="HOST">NAME</Property> <Property NAME="ConnStr" SCOPE="GLOBAL">(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=%MachineName%)(Port=%Port%))(CONNECT_DATA=(SID=%SID%)))</Property> <Property NAME="ADVERT_DIR" SCOPE="GLOBAL">%AgentOracleHome%/%MachineName%_%SID%/sysman/log</Property> <Property NAME="command" SCOPE="GLOBAL">%perlBin%/perl %scriptsDir%/db/sgastart.pl DSGA %ConnStr% %MachineName% %Port% %SID% %AgentOracleHome% %ADVERT_DIR% stop</Property> <Property NAME="startsWith" SCOPE="GLOBAL">em_result=</Property> <Property NAME="delimiter" SCOPE="GLOBAL">|</Property> </QueryDescriptor> </Metric> <!-- ====================================================================== == SGA Resume Metric ====================================================================== --> <Metric NAME="sga_resume" TYPE="TABLE" USAGE_TYPE="HIDDEN"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="10gR203;11gR1;11gR2"/> </ValidIf> <TableDescriptor> <ColumnDescriptor NAME="dummy" TYPE="STRING" IS_KEY="FALSE"/> </TableDescriptor> <QueryDescriptor FETCHLET_ID="OSLineToken"> <Property NAME="AgentOracleHome" SCOPE="GLOBAL">%OracleHome%</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="ENVEM_TARGET_ORACLE_HOME" SCOPE="INSTANCE">OracleHome</Property> <Property NAME="STDINEM_TARGET_USERNAME" SCOPE="INSTANCE">UserName</Property> <Property NAME="STDINEM_TARGET_PASSWORD" SCOPE="INSTANCE">password</Property> <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property> <Property NAME="scriptsDir" SCOPE="SYSTEMGLOBAL">scriptsDir</Property> <Property NAME="ENVEM_TARGET_VERSION" SCOPE="INSTANCE">VersionCategory</Property> <Property NAME="MachineName" SCOPE="HOST">NAME</Property> <Property NAME="ConnStr" SCOPE="GLOBAL">(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=%MachineName%)(Port=%Port%))(CONNECT_DATA=(SID=%SID%)))</Property> <Property NAME="ADVERT_DIR" SCOPE="GLOBAL">%AgentOracleHome%/%MachineName%_%SID%/sysman/log</Property> <Property NAME="command" SCOPE="GLOBAL">%perlBin%/perl %scriptsDir%/db/sgastart.pl DSGA %ConnStr% %MachineName% %Port% %SID% %AgentOracleHome% %ADVERT_DIR% resume</Property> <Property NAME="startsWith" SCOPE="GLOBAL">em_result=</Property> <Property NAME="delimiter" SCOPE="GLOBAL">|</Property> </QueryDescriptor> </Metric> <!-- ====================================================================== == SGA status Metric ====================================================================== --> <Metric NAME="sga_status" TYPE="TABLE" USAGE_TYPE="HIDDEN"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="10gR203;11gR1;11gR2"/> </ValidIf> <TableDescriptor> <ColumnDescriptor NAME="dummy" TYPE="STRING" IS_KEY="FALSE"/> </TableDescriptor> <QueryDescriptor FETCHLET_ID="OSLineToken"> <Property NAME="AgentOracleHome" SCOPE="GLOBAL">%OracleHome%</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="ENVEM_TARGET_ORACLE_HOME" SCOPE="INSTANCE">OracleHome</Property> <Property NAME="STDINEM_TARGET_USERNAME" SCOPE="INSTANCE">UserName</Property> <Property NAME="STDINEM_TARGET_PASSWORD" SCOPE="INSTANCE">password</Property> <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property> <Property NAME="scriptsDir" SCOPE="SYSTEMGLOBAL">scriptsDir</Property> <Property NAME="ENVEM_TARGET_VERSION" SCOPE="INSTANCE">VersionCategory</Property> <Property NAME="MachineName" SCOPE="HOST">NAME</Property> <Property NAME="ConnStr" SCOPE="GLOBAL">(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=%MachineName%)(Port=%Port%))(CONNECT_DATA=(SID=%SID%)))</Property> <Property NAME="ADVERT_DIR" SCOPE="GLOBAL">%AgentOracleHome%/%MachineName%_%SID%/sysman/log</Property> <Property NAME="command" SCOPE="GLOBAL">%perlBin%/perl %scriptsDir%/db/sgastart.pl DSGA %ConnStr% %MachineName% %Port% %SID% %AgentOracleHome% %ADVERT_DIR% status</Property> <Property NAME="startsWith" SCOPE="GLOBAL">em_result=</Property> <Property NAME="delimiter" SCOPE="GLOBAL">|</Property> </QueryDescriptor> </Metric> <!-- ====================================================================== == SGA Hostname ====================================================================== --> <Metric NAME="sga_hostname" TYPE="TABLE" USAGE_TYPE="HIDDEN"> <TableDescriptor> <ColumnDescriptor NAME="dummy" TYPE="STRING" IS_KEY="FALSE"/> </TableDescriptor> <QueryDescriptor FETCHLET_ID="OSLineToken"> <Property NAME="HostName" SCOPE="HOST">NAME</Property> <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property> <Property NAME="scriptsDir" SCOPE="SYSTEMGLOBAL">scriptsDir</Property> <Property NAME="command" SCOPE="GLOBAL">%perlBin%/perl %scriptsDir%/db/gethostname.pl %HostName%</Property> <Property NAME="startsWith" SCOPE="GLOBAL">em_result=</Property> <Property NAME="delimiter" SCOPE="GLOBAL">|</Property> </QueryDescriptor> </Metric> <!-- ====================================================================== == SGA Physical CPUs ====================================================================== --> <Metric NAME="sga_physicalcpu" TYPE="TABLE" USAGE_TYPE="HIDDEN"> <TableDescriptor> <ColumnDescriptor NAME="dummy" TYPE="STRING" IS_KEY="FALSE"/> </TableDescriptor> <QueryDescriptor FETCHLET_ID="OSLineToken"> <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property> <Property NAME="scriptsDir" SCOPE="SYSTEMGLOBAL">scriptsDir</Property> <Property NAME="command" SCOPE="GLOBAL">%perlBin%/perl %scriptsDir%/db/getphysicalcpu.pl %perlBin% %scriptsDir%</Property> <Property NAME="startsWith" SCOPE="GLOBAL">em_result=</Property> <Property NAME="delimiter" SCOPE="GLOBAL">|</Property> </QueryDescriptor> </Metric> <!-- High Availability - Instance Recovery (MTTR) --> <Metric NAME="ha_mttr" TYPE="RAW"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="9i;9iR2;10gR1;10gR2;10gR203;11gR1;11gR2"/> </ValidIf> <Display> <Label NLSID="ha_mttr">mgmt_ha_mttr</Label> </Display> <TableDescriptor TABLE_NAME="mgmt_ha_mttr" SKIP_COLLTIME_PK="TRUE" SKIP_METRIC_COLUMN="TRUE"> <ColumnDescriptor NAME="estimated_mttr" COLUMN_NAME="estimated_mttr" TYPE="NUMBER" IS_KEY="FALSE"> <Display> <Label NLSID="ha_mttr_estimated_mttr">Estimated MTTR</Label> </Display> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="SQL"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="9i;9iR2;10gR1;10gR2;10gR203;11gR1;11gR2"/> </ValidIf> <Property NAME="STATEMENT" SCOPE="GLOBAL"><![CDATA[ SELECT estimated_mttr "Estimated MTTR" FROM v$instance_recovery ]]></Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> </QueryDescriptor> </Metric> <!-- RAC Interconnects colletion. RAC instance only --> <Metric NAME="ha_rac_intrconn" TYPE="RAW" CONFIG="TRUE"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="10gR2;10gR203;11gR1;11gR2"/> <CategoryProp NAME="MetricScope" CHOICES="RACINST"/> </ValidIf> <ValidMidTierVersions START_VER="10.2.0.0.0"/> <Display> <Label NLSID="ha_rac_intrconn">mgmt_ha_rac_intrconn</Label> </Display> <TableDescriptor TABLE_NAME="MGMT_HA_RAC_INTR_CONN"> <ColumnDescriptor NAME="ic_name" COLUMN_NAME="ic_name" TYPE="STRING" IS_KEY="TRUE"> <Display> <Label NLSID="ha_cls_intrconn_ic_name">Interconnect Name</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="ic_ip" COLUMN_NAME="ic_ip" TYPE="STRING" IS_KEY="TRUE"> <Display> <Label NLSID="ha_cls_intrconn_ic_ip">IP Address</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="ic_public" COLUMN_NAME="ic_public" TYPE="STRING" IS_KEY="FALSE"> <Display> <Label NLSID="ha_cls_intrconn_ic_public">Public</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="ic_source" COLUMN_NAME="ic_source" TYPE="STRING" IS_KEY="FALSE"> <Display> <Label NLSID="ha_cls_intrconn_ic_source">Source</Label> </Display> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="OSLineToken"> <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property> <Property NAME="scriptsDir" SCOPE="SYSTEMGLOBAL">scriptsDir</Property> <Property NAME="command" SCOPE="GLOBAL"> %perlBin%/perl %scriptsDir%/rac/dbIntrconn.pl </Property> <Property NAME="startsWith" SCOPE="GLOBAL">em_result=</Property> <Property NAME="delimiter" SCOPE="GLOBAL">|</Property> <Property NAME="ENVEM_TARGET_NAME" SCOPE="INSTANCE">NAME</Property> <Property NAME="STDINEM_TARGET_USERNAME" SCOPE="INSTANCE">UserName</Property> <Property NAME="STDINEM_TARGET_PASSWORD" SCOPE="INSTANCE">password</Property> <Property NAME="ENVEM_TARGET_ROLE" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="ENVEM_TARGET_ADDRESS" SCOPE="GLOBAL">(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=%MachineName%)(Port=%Port%))(CONNECT_DATA=(SID=%SID%))) </Property> </QueryDescriptor> </Metric> <!-- RAC Interconnect Traffic, RAC Instance Only --> <Metric NAME="ha_rac_intrconn_traffic" TYPE="TABLE"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="10gR2;10gR203;11gR1;11gR2"/> <CategoryProp NAME="MetricScope" CHOICES="RACINST"/> </ValidIf> <Display> <Label NLSID="ha_rac_intrconn_traffic">Interconnect Traffic</Label> </Display> <TableDescriptor> <ColumnDescriptor NAME="instance" TYPE="STRING" IS_KEY="TRUE"> <Display> <Label NLSID="ha_rac_intrconn_traffic_instance">Instance Name</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="db_block_size" TYPE="NUMBER" TRANSIENT="TRUE" IS_KEY="FALSE"> <Display> <Label NLSID="ha_rac_intrconn_traffic_db_block_size">db_block_size</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="gc_cr_recv" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="ha_rac_intrconn_traffic_gc_cr_recv">gc cr blocks received</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="gc_cur_recv" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="ha_rac_intrconn_traffic_gc_cr_recv">gc current blocks received</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="gc_cr_serv" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="ha_rac_intrconn_traffic_gc_cr_serv">gc cr blocks served</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="gc_cur_serv" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="ha_rac_intrconn_traffic_gc_cur_serv">gc current blocks served</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="msg_sent_dir" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="ha_rac_intrconn_traffic_msg_sent_dir">messages sent directly</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="msg_sent_indir" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="ha_rac_intrconn_traffic_msg_sent_indir">messages sent indirectly</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="msg_recv_act" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" HELP="NO_HELP"> <Display> <Label NLSID="ha_rac_intrconn_traffic_msg_recv_act">messages received actual</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="gc_cr_recv_rate" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" COMPUTE_EXPR="((gc_cr_recv < _gc_cr_recv) ? 0 : (gc_cr_recv - _gc_cr_recv))/__interval" > <Display> <Label NLSID="ha_rac_intrconn_traffic_gc_cr_recv_rate">gc cr blocks received (per sec)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="gc_cur_recv_rate" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" COMPUTE_EXPR="((gc_cur_recv < _gc_cur_recv) ? 0 : (gc_cur_recv - _gc_cur_recv))/__interval" > <Display> <Label NLSID="ha_rac_intrconn_traffic_gc_cur_recv_rate">gc current blocks received (per sec)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="gc_cr_serv_rate" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" COMPUTE_EXPR="((gc_cr_serv < _gc_cr_serv) ? 0 : (gc_cr_serv - _gc_cr_serv))/__interval" > <Display> <Label NLSID="ha_rac_intrconn_traffic_gc_cr_serv_rate">gc cr blocks served (per sec)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="gc_cur_serv_rate" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" COMPUTE_EXPR="((gc_cur_serv < _gc_cur_serv) ? 0 : (gc_cur_serv - _gc_cur_serv))/__interval" > <Display> <Label NLSID="ha_rac_intrconn_traffic_gc_cur_serv_rate">gc current blocks served (per sec)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="msg_sent_dir_rate" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" COMPUTE_EXPR="((msg_sent_dir < _msg_sent_dir) ? 0 : (msg_sent_dir - _msg_sent_dir))/__interval" > <Display> <Label NLSID="ha_rac_intrconn_traffic_msg_sent_dir_rate">messages sent directly (per sec)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="msg_sent_indir_rate" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" COMPUTE_EXPR="((msg_sent_indir < _msg_sent_indir) ? 0 : (msg_sent_indir - _msg_sent_indir))/__interval" > <Display> <Label NLSID="ha_rac_intrconn_traffic_msg_sent_indir_rate">messages sent indirectly (per sec)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="msg_recv_act_rate" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="TRUE" COMPUTE_EXPR="((msg_recv_act < _msg_recv_act) ? 0 : (msg_recv_act - _msg_recv_act))/__interval" > <Display> <Label NLSID="ha_rac_intrconn_traffic_msg_recv_act_rate">messages received actual (per sec)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="interconnect_rate" TYPE="NUMBER" IS_KEY="FALSE" COMPUTE_EXPR="( ((gc_cr_recv_rate + gc_cur_recv_rate + gc_cr_serv_rate + gc_cur_serv_rate) * db_block_size + (msg_sent_dir_rate + msg_sent_indir_rate + msg_recv_act_rate) * 200) / 1024 / 1024 )" > <Display> <Label NLSID="ha_rac_intrconn_traffic_interconnect_rate">Transfer Rate (MB/s)</Label> </Display> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="SQL"> <Property NAME="STATEMENT" SCOPE="GLOBAL"><![CDATA[ select * from (select instance_name c1 from v$instance), (select value from v$parameter where name like 'db_block_size'), (select value from v$sysstat where name='gc cr blocks received'), (select value from v$sysstat where name='gc current blocks received'), (select value from v$sysstat where name='gc cr blocks served'), (select value from v$sysstat where name='gc current blocks served'), (select value from V$dlm_misc where name='messages sent directly'), (select value from V$dlm_misc where name='messages sent indirectly'), (select value from V$dlm_misc where name='messages received actual') ]]></Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> </QueryDescriptor> </Metric> <Metric NAME="ha_rac_intrconn_type" TYPE="TABLE"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="10gR2;10gR203;11gR1;11gR2"/> <CategoryProp NAME="MetricScope" CHOICES="RACINST"/> </ValidIf> <Display> <Label NLSID="ha_rac_intrconn_type">Interconnect</Label> </Display> <TableDescriptor> <ColumnDescriptor NAME="if_name" TYPE="STRING" IS_KEY="TRUE"> <Display> <Label NLSID="ha_rac_intrconn_type_if_name">Interface Name</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="if_type" TYPE="STRING"> <Display> <Label NLSID="ha_rac_intrconn_type_if_type">Interface Type</Label> </Display> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="OSLineToken"> <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property> <Property NAME="scriptsDir" SCOPE="SYSTEMGLOBAL">scriptsDir</Property> <Property NAME="command" SCOPE="GLOBAL"> %perlBin%/perl %scriptsDir%/rac/dbIntrconnType.pl </Property> <Property NAME="startsWith" SCOPE="GLOBAL">em_result=</Property> <Property NAME="delimiter" SCOPE="GLOBAL">|</Property> <Property NAME="ENVEM_TARGET_NAME" SCOPE="INSTANCE">NAME</Property> <Property NAME="STDINEM_TARGET_USERNAME" SCOPE="INSTANCE">UserName</Property> <Property NAME="STDINEM_TARGET_PASSWORD" SCOPE="INSTANCE">password</Property> <Property NAME="ENVEM_TARGET_ROLE" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="ENVEM_TARGET_ADDRESS" SCOPE="GLOBAL">(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=%MachineName%)(Port=%Port%))(CONNECT_DATA=(SID=%SID%))) </Property> </QueryDescriptor> </Metric> <!-- End RAC Interconnect Metrics --> <Metric NAME="latest_hdm_findings" TYPE="RAW"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="10gR1;10gR2;10gR203"/> </ValidIf> <Display> <Label NLSID="hdm_findings_1">Latest HDM Findings</Label> </Display> <TableDescriptor TABLE_NAME="mgmt_db_latest_hdm_findings" SKIP_COLLTIME_PK="TRUE" SKIP_METRIC_COLUMN="TRUE"> <ColumnDescriptor NAME="task_id" TYPE="NUMBER" COLUMN_NAME="task_id" IS_KEY="TRUE"> <Display> <Label NLSID="latest_hdm_findings_task_id">Task ID</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="finding_id" TYPE="NUMBER" COLUMN_NAME="finding_id" IS_KEY="TRUE"> <Display> <Label NLSID="latest_hdm_findings_finding_id">Finding ID</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="rec_type" TYPE="STRING" COLUMN_NAME="rec_type" IS_KEY="TRUE"> <Display> <Label NLSID="latest_hdm_findings_rec_type">Rec Type</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="rec_count" TYPE="NUMBER" COLUMN_NAME="rec_count" IS_KEY="FALSE"> <Display> <Label NLSID="latest_hdm_findings_rec_count">Rec Count</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="impact_pct" TYPE="NUMBER" COLUMN_NAME="impact_pct" IS_KEY="FALSE"> <Display> <Label NLSID="latest_hdm_findings_impact_pct">Impact (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="message" TYPE="STRING" COLUMN_NAME="message" IS_KEY="FALSE"> <Display> <Label NLSID="latest_hdm_findings_message">Finding Message</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="start_time" TYPE="STRING" IS_DATE="TRUE" COLUMN_NAME="start_time" IS_KEY="FALSE"> <Display> <Label NLSID="latest_hdm_findings_start_time">Start Time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="end_time" TYPE="STRING" IS_DATE="TRUE" COLUMN_NAME="end_time" IS_KEY="FALSE"> <Display> <Label NLSID="latest_hdm_findings_end_time">End Time</Label> </Display> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="SQL"> <Property NAME="STATEMENT" SCOPE="GLOBAL"><![CDATA[ DECLARE instance_number NUMBER; latest_task_id NUMBER; db_elapsed_time NUMBER; start_time VARCHAR2(1024); end_time VARCHAR2(1024); db_id NUMBER; TYPE data_cursor_type IS REF CURSOR; data_cursor data_cursor_type; CURSOR get_latest_task_id IS SELECT TASK_LIST.TASK_ID FROM (SELECT /*+ NO_MERGE(T) ORDERED */ T.TASK_ID FROM (select * from dba_advisor_tasks order by task_id desc) T, dba_advisor_parameters_proj P1, dba_advisor_parameters_proj P2 WHERE T.ADVISOR_NAME='ADDM' AND T.STATUS = 'COMPLETED' AND T.EXECUTION_START >= (sysdate - 1) AND T.HOW_CREATED = 'AUTO' AND T.TASK_ID = P1.TASK_ID AND P1.PARAMETER_NAME = 'INSTANCE' AND P1.PARAMETER_VALUE = SYS_CONTEXT('USERENV','INSTANCE') AND T.TASK_ID = P2.TASK_ID AND P2.PARAMETER_NAME = 'DB_ID' AND P2.PARAMETER_VALUE = to_char(db_id) ORDER BY T.TASK_ID DESC) TASK_LIST WHERE ROWNUM = 1; BEGIN SELECT dbid INTO db_id from v$database; OPEN get_latest_task_id; FETCH get_latest_task_id INTO latest_task_id; CLOSE get_latest_task_id; FOR param_info IN (SELECT parameter_value, parameter_name FROM dba_advisor_parameters_proj WHERE task_id= latest_task_id AND (parameter_name='START_TIME' OR parameter_name='END_TIME' OR parameter_name='DB_ELAPSED_TIME') ORDER BY 2) LOOP IF param_info.parameter_name = 'DB_ELAPSED_TIME' THEN db_elapsed_time:= param_info.parameter_value; ELSIF param_info.parameter_name = 'END_TIME' THEN end_time := param_info.parameter_value; ELSIF param_info.parameter_name = 'START_TIME' THEN start_time := param_info.parameter_value; END IF; END LOOP; -- open the cursor to return OPEN data_cursor FOR SELECT latest_task_id task_id, f.finding_id finding_id,DECODE(recInfo.type,NULL, 'Uncategorized',recInfo.type) rec_type, recInfo.recCount rec_count, f.impact*100/db_elapsed_time impact_pct, f.message message, TO_DATE(start_time ,'MM-DD-YYYY HH24:MI:SS') start_time, TO_DATE(end_time,'MM-DD-YYYY HH24:MI:SS') end_time FROM dba_advisor_findings f, (SELECT finding_id, count(r.rec_id) recCount,r.type FROM dba_advisor_recommendations r WHERE task_id=latest_task_id GROUP BY r.finding_id, r.type) recInfo WHERE f.task_id=latest_task_id AND f.type<>'INFORMATION' AND f.type<>'WARNING' AND f.parent=0 AND f.finding_id=recInfo.finding_id (+) AND :1 != 'BASIC' ORDER BY f.finding_id; :2 := data_cursor; END; ]]></Property> <Property NAME="SQLINPARAM1" SCOPE="INSTANCE">StatisticsLevel</Property> <Property NAME="SQLOUTPARAMPOS" SCOPE="GLOBAL">2</Property> <Property NAME="SQLOUTPARAMTYPE" SCOPE="GLOBAL">SQL_CURSOR</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> </QueryDescriptor> </Metric> <Metric NAME="latest_hdm_findings" TYPE="RAW"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="11gR1;11gR2"/> </ValidIf> <Display> <Label NLSID="hdm_findings_1">Latest HDM Findings</Label> </Display> <TableDescriptor TABLE_NAME="mgmt_db_latest_hdm_findings" SKIP_COLLTIME_PK="TRUE" SKIP_METRIC_COLUMN="TRUE"> <ColumnDescriptor NAME="task_id" TYPE="NUMBER" COLUMN_NAME="task_id" IS_KEY="TRUE"> <Display> <Label NLSID="latest_hdm_findings_task_id">Task ID</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="finding_id" TYPE="NUMBER" COLUMN_NAME="finding_id" IS_KEY="TRUE"> <Display> <Label NLSID="latest_hdm_findings_finding_id">Finding ID</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="rec_type" TYPE="STRING" COLUMN_NAME="rec_type" IS_KEY="TRUE"> <Display> <Label NLSID="latest_hdm_findings_rec_type">Rec Type</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="rec_count" TYPE="NUMBER" COLUMN_NAME="rec_count" IS_KEY="FALSE"> <Display> <Label NLSID="latest_hdm_findings_rec_count">Rec Count</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="impact_pct" TYPE="NUMBER" COLUMN_NAME="impact_pct" IS_KEY="FALSE"> <Display> <Label NLSID="latest_hdm_findings_impact_pct">Impact (%)</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="message" TYPE="STRING" COLUMN_NAME="message" IS_KEY="FALSE"> <Display> <Label NLSID="latest_hdm_findings_message">Finding Message</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="start_time" TYPE="STRING" IS_DATE="TRUE" COLUMN_NAME="start_time" IS_KEY="FALSE"> <Display> <Label NLSID="latest_hdm_findings_start_time">Start Time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="end_time" TYPE="STRING" IS_DATE="TRUE" COLUMN_NAME="end_time" IS_KEY="FALSE"> <Display> <Label NLSID="latest_hdm_findings_end_time">End Time</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="finding_count" TYPE="NUMBER" COLUMN_NAME="finding_count" IS_KEY="FALSE"> <Display> <Label NLSID="latest_hdm_findings_finding_count">Finding Count</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="finding_name" TYPE="STRING" COLUMN_NAME="finding_name" IS_KEY="FALSE"> <Display> <Label NLSID="latest_hdm_findings_finding_name">Finding Name</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="active_sessions" TYPE="NUMBER" COLUMN_NAME="active_sessions" IS_KEY="FALSE"> <Display> <Label NLSID="latest_hdm_findings_finding_active_sessions">Finding Count</Label> </Display> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="SQL"> <Property NAME="STATEMENT" SCOPE="GLOBAL"><![CDATA[ DECLARE instance_number NUMBER; latest_task_id NUMBER; start_time VARCHAR2(1024); end_time VARCHAR2(1024); db_id NUMBER; TYPE data_cursor_type IS REF CURSOR; data_cursor data_cursor_type; CURSOR get_latest_task_id IS SELECT TASK_LIST.TASK_ID FROM (SELECT /*+ NO_MERGE(T) ORDERED */ T.TASK_ID FROM (select * from dba_advisor_tasks order by task_id desc) T, dba_advisor_parameters_proj P1, dba_advisor_parameters_proj P2 WHERE T.ADVISOR_NAME='ADDM' AND T.STATUS = 'COMPLETED' AND T.EXECUTION_START >= (sysdate - 1) AND T.HOW_CREATED = 'AUTO' AND T.TASK_ID = P1.TASK_ID AND P1.PARAMETER_NAME = 'INSTANCE' AND P1.PARAMETER_VALUE = SYS_CONTEXT('USERENV','INSTANCE') AND T.TASK_ID = P2.TASK_ID AND P2.PARAMETER_NAME = 'DB_ID' AND P2.PARAMETER_VALUE = to_char(db_id) ORDER BY T.TASK_ID DESC) TASK_LIST WHERE ROWNUM = 1; BEGIN SELECT dbid INTO db_id from v$database; OPEN get_latest_task_id; FETCH get_latest_task_id INTO latest_task_id; CLOSE get_latest_task_id; FOR param_info IN (SELECT parameter_value, parameter_name FROM dba_advisor_parameters_proj WHERE task_id= latest_task_id AND (parameter_name='START_TIME' OR parameter_name='END_TIME') ORDER BY 2) LOOP IF param_info.parameter_name = 'END_TIME' THEN end_time := param_info.parameter_value; ELSIF param_info.parameter_name = 'START_TIME' THEN start_time := param_info.parameter_value; END IF; END LOOP; -- open the cursor to return OPEN data_cursor FOR SELECT latest_task_id task_id, f.finding_id finding_id,DECODE(recInfo.type,NULL, 'Uncategorized',recInfo.type) rec_type, recInfo.recCount rec_count, f.perc_active_sess impact_pct, f.message message, TO_DATE(start_time ,'MM-DD-YYYY HH24:MI:SS') start_time, TO_DATE(end_time,'MM-DD-YYYY HH24:MI:SS') end_time, history.finding_count finding_count, f.finding_name finding_name, f.active_sessions active_sessions FROM dba_addm_findings f, (SELECT finding_id, count(r.rec_id) recCount,r.type FROM dba_advisor_recommendations r WHERE task_id=latest_task_id GROUP BY r.finding_id, r.type) recInfo, (select count(f_all.task_id) finding_count, f_curr.finding_name FROM (select finding_name from dba_advisor_findings where task_id=latest_task_id) f_curr, (select t.task_id,i.local_task_id,t.end_time, t.begin_time from dba_addm_tasks t,dba_addm_instances i where t.end_time>sysdate -1 AND t.task_id=i.task_id AND i.instance_number=sys_context('USERENV','INSTANCE') AND t.requested_analysis='INSTANCE' ) tasks, dba_advisor_findings f_all WHERE f_all.task_id=tasks.task_id AND f_all.finding_name=f_curr.finding_name AND f_all.type<>'INFORMATION' AND f_all.type<>'WARNING' AND f_all.parent=0 GROUP BY f_curr.finding_name) history WHERE f.task_id=latest_task_id AND f.type<>'INFORMATION' AND f.type<>'WARNING' AND f.filtered<>'Y' AND f.parent=0 AND f.finding_id=recInfo.finding_id (+) AND f.finding_name=history.finding_name ORDER BY f.finding_id; :2 := data_cursor; END; ]]></Property> <Property NAME="SQLINPARAM1" SCOPE="INSTANCE">StatisticsLevel</Property> <Property NAME="SQLOUTPARAMPOS" SCOPE="GLOBAL">2</Property> <Property NAME="SQLOUTPARAMTYPE" SCOPE="GLOBAL">SQL_CURSOR</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> </QueryDescriptor> </Metric> <Metric NAME="latest_hdm_metric_helper" TYPE="RAW"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="10gR1;10gR2;10gR203"/> </ValidIf> <Display> <Label NLSID="latest_hdm_metric_helper">latest_hdm_metric_helper</Label> </Display> <TableDescriptor TABLE_NAME="mgmt_db_hdm_metric_helper" SKIP_COLLTIME_PK="TRUE" SKIP_METRIC_COLUMN="TRUE"> <ColumnDescriptor NAME="task_available" TYPE="NUMBER" COLUMN_NAME="task_available" IS_KEY="FALSE"> <Display> <Label NLSID="mgmt_db_hdm_metric_helper_task_available">Task Available</Label> </Display> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="SQL"> <Property NAME="STATEMENT" SCOPE="GLOBAL"><![CDATA[ DECLARE instance_number NUMBER; task_id NUMBER; db_id NUMBER; TYPE data_cursor_type IS REF CURSOR; data_cursor data_cursor_type; CURSOR get_task_id IS SELECT t.task_id FROM dba_advisor_tasks t, dba_advisor_parameters_proj p, dba_advisor_parameters_proj p1 WHERE t.advisor_name='ADDM' AND t.task_id = p.task_id AND p.parameter_name = 'INSTANCE' AND p.parameter_value = sys_context('USERENV','INSTANCE') AND t.task_id = p1.task_id AND p1.parameter_name = 'DB_ID' AND p1.parameter_value = to_char(db_id) AND rownum = 1; BEGIN SELECT dbid INTO db_id from v$database; task_id:=-1; OPEN get_task_id; FETCH get_task_id INTO task_id; CLOSE get_task_id; -- open the cursor to return OPEN data_cursor FOR SELECT task_id task_available from dual; :1 := data_cursor; END; ]]></Property> <Property NAME="SQLOUTPARAMPOS" SCOPE="GLOBAL">1</Property> <Property NAME="SQLOUTPARAMTYPE" SCOPE="GLOBAL">SQL_CURSOR</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> </QueryDescriptor> </Metric> <Metric NAME="latest_hdm_metric_helper" TYPE="RAW"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="11gR1;11gR2"/> </ValidIf> <Display> <Label NLSID="latest_hdm_metric_helper">latest_hdm_metric_helper</Label> </Display> <TableDescriptor TABLE_NAME="mgmt_db_hdm_metric_helper" SKIP_COLLTIME_PK="TRUE" SKIP_METRIC_COLUMN="TRUE"> <ColumnDescriptor NAME="task_available" TYPE="NUMBER" COLUMN_NAME="task_available" IS_KEY="FALSE"> <Display> <Label NLSID="mgmt_db_hdm_metric_helper_task_available">Task Available</Label> </Display> </ColumnDescriptor> <ColumnDescriptor NAME="task_count" TYPE="NUMBER" COLUMN_NAME="task_count" IS_KEY="FALSE"> <Display> <Label NLSID="latest_hdm_findings_task_count">Task Count</Label> </Display> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="SQL"> <Property NAME="STATEMENT" SCOPE="GLOBAL"><![CDATA[ DECLARE instance_number NUMBER; task_id NUMBER; db_id NUMBER; TYPE data_cursor_type IS REF CURSOR; data_cursor data_cursor_type; CURSOR get_task_id IS SELECT t.task_id FROM dba_advisor_tasks t, dba_advisor_parameters_proj p, dba_advisor_parameters_proj p1 WHERE t.advisor_name='ADDM' AND t.task_id = p.task_id AND p.parameter_name = 'INSTANCE' AND p.parameter_value = sys_context('USERENV','INSTANCE') AND t.task_id = p1.task_id AND p1.parameter_name = 'DB_ID' AND p1.parameter_value = to_char(db_id) AND rownum = 1 ORDER BY 1 DESC; BEGIN SELECT dbid INTO db_id from v$database; task_id:=-1; OPEN get_task_id; FETCH get_task_id INTO task_id; CLOSE get_task_id; -- open the cursor to return OPEN data_cursor FOR SELECT task_id task_available, latest_tasks.task_count from dual, (select count(*) task_count from dba_addm_tasks t, dba_addm_instances i WHERE t.task_id=i.task_id AND t.end_time>sysdate -1 AND i.instance_number=sys_context('USERENV','INSTANCE' ) AND requested_analysis='INSTANCE') latest_tasks; :1 := data_cursor; END; ]]></Property> <Property NAME="SQLOUTPARAMPOS" SCOPE="GLOBAL">1</Property> <Property NAME="SQLOUTPARAMTYPE" SCOPE="GLOBAL">SQL_CURSOR</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> </QueryDescriptor> </Metric> <!-- ====================================================================== == Category: Text Index Log Content == Collection Level: {Not Collected} == Purpose: On-Demand ====================================================================== --> <Metric NAME="textIndexLogContent" TYPE="TABLE" HELP="NO_HELP" USAGE_TYPE="COLLECT_UPLOAD"> <Display> <Label NLSID="textIndexLogContent">Text Index Log Content</Label> </Display> <TableDescriptor> <ColumnDescriptor NAME="textIndexLogContent" TYPE="STRING" IS_KEY="FALSE"> <Display> <Label NLSID="textIndexLog_content">Content</Label> </Display> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="OS"> <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property> <Property NAME="scriptsDir" SCOPE="SYSTEMGLOBAL">scriptsDir</Property> <Property NAME="startsWith" SCOPE="GLOBAL">em_result=</Property> <Property NAME="ConvertFromCharset" SCOPE="INSTANCE">ConvertFromCharset</Property> <Property NAME="needCharsetConvert" SCOPE="INSTANCE">needCharsetConvert</Property> <Property NAME="logFileToView" SCOPE="USER">logFileToView</Property> <Property NAME="sizeToView" SCOPE="USER">sizeToView</Property> <Property NAME="startTime" SCOPE="USER" OPTIONAL="TRUE">startTime</Property> <Property NAME="endTime" SCOPE="USER" OPTIONAL="TRUE">endTime</Property> <Property NAME="command" SCOPE="GLOBAL"> %perlBin%/perl %scriptsDir%/txt/textIndexLogViewer.pl %logFileToView% %sizeToView% %startTime% %endTime% </Property> </QueryDescriptor> </Metric> <!-- ====================================================================== == Category: Text Index Remove Log == Collection Level: {Not Collected} == Purpose: On-Demand ====================================================================== --> <Metric NAME="textIndexLogRemover" TYPE="TABLE" HELP="NO_HELP" USAGE_TYPE="COLLECT_UPLOAD"> <Display> <Label NLSID="textIndexLogRemover">Text Index Log Remover</Label> </Display> <TableDescriptor> <ColumnDescriptor NAME="textIndexLogRemover" TYPE="STRING" IS_KEY="FALSE"> <Display> <Label NLSID="textIndexLog_content">Content</Label> </Display> </ColumnDescriptor> </TableDescriptor> <QueryDescriptor FETCHLET_ID="OS"> <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property> <Property NAME="scriptsDir" SCOPE="SYSTEMGLOBAL">scriptsDir</Property> <Property NAME="startsWith" SCOPE="GLOBAL">em_result=</Property> <Property NAME="ConvertFromCharset" SCOPE="INSTANCE">ConvertFromCharset</Property> <Property NAME="needCharsetConvert" SCOPE="INSTANCE">needCharsetConvert</Property> <Property NAME="logFileToRemove" SCOPE="USER">logFileToRemove</Property> <Property NAME="command" SCOPE="GLOBAL"> %perlBin%/perl %scriptsDir%/txt/textIndexLogRemover.pl %logFileToRemove% </Property> </QueryDescriptor> </Metric> <!-- ====================================================================== == Category: Password expiry send mail == Collection Level: Collection Level: Every 24 hours == Purpose: To send mail,with a list of users whose password's are abt to expire. ====================================================================== --> <Metric NAME="pwd_expiry" TYPE="TABLE" USAGE_TYPE="COLLECT_UPLOAD" IS_METRIC_LONG_RUNNING="FALSE"> <TableDescriptor> <ColumnDescriptor NAME="USER_IDS" TYPE="STRING" IS_KEY="FALSE" TRANSIENT="FALSE" IS_LONG_TEXT="TRUE" IS_DATE="FALSE" IS_TIMESTAMP="FALSE" HELP="NO_HELP"/> </TableDescriptor> <QueryDescriptor FETCHLET_ID="OS"> <Property NAME="perlBin" SCOPE="SYSTEMGLOBAL">perlBin</Property> <Property NAME="scriptsDir" SCOPE="SYSTEMGLOBAL">scriptsDir</Property> <Property NAME="emd_email_address" SCOPE="SYSTEMGLOBAL">emd_email_address</Property> <Property NAME="emd_from_email_address" SCOPE="SYSTEMGLOBAL">emd_from_email_address</Property> <Property NAME="emd_email_gateway" SCOPE="SYSTEMGLOBAL">emd_email_gateway</Property> <Property NAME="REPOSITORY_URL" SCOPE="SYSTEMGLOBAL">REPOSITORY_URL</Property> <Property NAME="agentVersion" SCOPE="SYSTEMGLOBAL">agentVersion</Property> <Property NAME="ENVEM_TARGET_NAME" SCOPE="INSTANCE">NAME</Property> <Property NAME="ENVEM_TARGET_TYPE" SCOPE="INSTANCE">TYPE</Property> <Property NAME="STDINEM_TARGET_USERNAME" SCOPE="INSTANCE">UserName</Property> <Property NAME="STDINEM_TARGET_PASSWORD" SCOPE="INSTANCE">password</Property> <Property NAME="ENVEM_TARGET_ROLE" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="ENVEM_TARGET_ADDRESS" SCOPE="GLOBAL">(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=%MachineName%)(Port=%Port%))(CONNECT_DATA=(SID=%SID%)))</Property> <Property NAME="command" SCOPE="GLOBAL">%perlBin%/perl %scriptsDir%/pwdexpiry.pl %REPOSITORY_URL% %emd_email_address% %emd_from_email_address% %emd_email_gateway% %agentVersion% </Property> </QueryDescriptor> </Metric> <!-- ====================================================================== == Category: Incident Meter == Collection Level: Minimum == Purpose: To upload the incident meter to the repository ====================================================================== --> <Metric NAME="incident_meter" TYPE="TABLE" USAGE_TYPE="COLLECT_UPLOAD" IS_METRIC_LONG_RUNNING="FALSE"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="11gR1;11gR2" /> </ValidIf> <TableDescriptor> <ColumnDescriptor NAME="SEVERITY_INDEX" TYPE="STRING" IS_KEY="FALSE" TRANSIENT="FALSE" IS_LONG_TEXT="FALSE" IS_DATE="FALSE" IS_TIMESTAMP="FALSE" HELP="NO_HELP"/> <ColumnDescriptor NAME="CRITICAL_INCIDENTS" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="FALSE" IS_LONG_TEXT="FALSE" IS_DATE="FALSE" IS_TIMESTAMP="FALSE" HELP="NO_HELP"/> <ColumnDescriptor NAME="WARNING_INCIDENTS" TYPE="NUMBER" IS_KEY="FALSE" TRANSIENT="FALSE" IS_LONG_TEXT="FALSE" IS_DATE="FALSE" IS_TIMESTAMP="FALSE" HELP="NO_HELP"/> </TableDescriptor> <QueryDescriptor FETCHLET_ID="SQL"> <Property NAME="STATEMENT" SCOPE="GLOBAL" OPTIONAL="FALSE"> <![CDATA[ SELECT SEVERITY_INDEX, CRITICAL_INICDENTS, WARNING_INCIDENTS from v$incmeter_summary ]]> </Property> <Property NAME="MachineName" SCOPE="INSTANCE" OPTIONAL="FALSE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE" OPTIONAL="FALSE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE" OPTIONAL="FALSE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE" OPTIONAL="FALSE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE" OPTIONAL="FALSE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> </QueryDescriptor> </Metric> <!-- ********** STREAMS SERVER GENERATED ALERTS BEGIN ********** --> <!-- ====================================================================== == Category: Streams Server-generated alert == Collection Level: Recommended == Purpose: Alert for Streams pool usage ====================================================================== --> <Metric NAME="streams_pool" TYPE="TABLE"> <ValidIf> <CategoryProp NAME="VersionCategory" CHOICES="11gR1;11gR2"/> </ValidIf> <Display> <Label NLSID="streams_pool">Streams Pool Usage</Label> </Display> <TableDescriptor> <ColumnDescriptor NAME="streams_pool_full" TYPE="STRING"> <Display FOR_SUMMARY_UI="TRUE"> <Label NLSID="streams_pool_full">Streams Pool Full</Label> </Display> </ColumnDescriptor> </TableDescriptor> <PushDescriptor RECVLET_ID="AQMetrics"> <Property NAME="QueueName" SCOPE="GLOBAL">ALERT_QUE</Property> <Property NAME="MachineName" SCOPE="INSTANCE">MachineName</Property> <Property NAME="Port" SCOPE="INSTANCE">Port</Property> <Property NAME="SID" SCOPE="INSTANCE">SID</Property> <Property NAME="UserName" SCOPE="INSTANCE">UserName</Property> <Property NAME="password" SCOPE="INSTANCE">password</Property> <Property NAME="Role" SCOPE="INSTANCE" OPTIONAL="TRUE">Role</Property> <Property NAME="InstanceName" SCOPE="INSTANCE">InstanceName</Property> <Property NAME="KeyField" SCOPE="GLOBAL">OBJECT_NAME</Property> <Property NAME="KeyColumn" SCOPE="GLOBAL">streams_pool_full</Property> </PushDescriptor> </Metric> <!-- ********** STREAMS SERVER GENERATED ALERTS END ********** -->
Ms-Dos/Windows
Unix
Write backup
jsp File Browser version 1.2 by
www.vonloesch.de