# DCrsrc.ctl:206:Collects Oracle Database Resource Manager Information # $Id: DCrsrc.ctl,v 1.3 2015/02/20 18:44:54 RDA Exp $ # ARCS: $Header: /home/cvs/cvs/RDA_8/src/scripting/lib/collect/DB/DCrsrc.ctl,v 1.3 2015/02/20 18:44:54 RDA Exp $ # # Change History # 20150220 KRA Improve list management. =head1 NAME DB:DCrsrc - Collects Oracle Database Resource Manager Information =head1 DESCRIPTION This module collects Oracle Database Resource Manager information. The following reports can be generated and are regrouped under C: =cut if !${I_DBC/E} return echo tput('bold'),'Processing DB.RSRC module ...',tput('off') # Initialization var $TOC = '%TOC%' var $TOP = '[[#Top][Back to top]]' pretoc '^1:RDBMS' pretoc '1+:Resource Manager' =head2 active_plan - Active Plan and Statistics Gets the active Database Resource Manager plan and statistics. =cut debug ' Inside RSRC module, staring with the active plans and statistics' report active_plan toc '2:[[',getFile(),'][rda_report][Active Plan and Statistics]]' write '---+!! Active Plan and Statistics' write $TOC set $sql {SELECT '|' || name || ' |' " FROM v$rsrc_plan; } if loadSql($sql) {write '---+ Current Active Plan' prefix write '|*Active Plan*|' call writeLastSql() unprefix var @tbl = () loop $lin (grepLastSql('\S')) {if field('\s*\|\s*',1,$lin) call push(@tbl,last) } if @tbl var $PLAN_LIST = concat("'",join("','",@tbl),"'") else {var $PLAN_LIST = undef write '**No active plans**%BR%' } write $TOP } else {write '**Database Error: ',getSqlMessage(),'**' # Disable the group title in next index toc '-:RDBMS' return } var ($hdr,$col) = getSqlColumns('RDA','SYS','v_$rsrc_consumer_group') if $hdr {set $sql {SELECT :1 " FROM v$rsrc_consumer_group; } if loadSql(bindSql($sql,$col)) {prefix {write '---+ Current Statistics for Active Consumer Groups' write $hdr } call writeLastSql() if hasOutput(true) write $TOP var @tbl = () var ($pos) = getSqlDesc('RDA','name') loop $lin (grepLastSql('\S')) {if field('\s*\|\s*',$pos,$lin) call push(@tbl,last) } if @tbl var $GROUP_LIST = concat("'",join("','",@tbl),"'") else {var $GROUP_LIST = undef } } } call clearSqlColumns('RDA') =head2 details - Active Plan Details Gets the Database Resource Manager plan, consumer groups, and directives of the current active plan. =cut debug ' Inside RSRC module, staring with the active plan details' report details write '---+!! Details of the Active Plan' write $TOP if $PLAN_LIST {prefix {write '---+ Active Plan Details' write '|*Cpu Method*|*Status*|' } set $sql {SELECT '|' || " cpu_method || ' |' || " status || ' |' " FROM dba_rsrc_plans " WHERE plan IN (:1); } call writeSql(bindSql($sql,$PLAN_LIST)) if hasOutput(true) write $TOP } if $GROUP_LIST {prefix {write '---+ Consumer Groups' write '|*Consumer Group*|*Cpu Method*|*Status*|' } set $sql {SELECT '|' || " consumer_group || ' |' || " cpu_method || ' |' || " status || ' |' " FROM dba_rsrc_consumer_groups " WHERE consumer_group IN (:1); } call writeSql(bindSql($sql,$GROUP_LIST)) if hasOutput(true) write $TOP } if $PLAN_LIST {var ($hdr,$col) = getSqlColumns('RDA','SYS','dba_rsrc_plan_directives') if $hdr {prefix {write '---+ Consumer Plan Directives' write $hdr } set $sql {SELECT :1 " FROM dba_rsrc_plan_directives " WHERE plan in (:2) " ORDER BY plan,group_or_subplan,type,cpu_p1,cpu_p2,cpu_p3,cpu_p4; } call writeSql(bindSql($sql,$col,$PLAN_LIST)) if hasOutput(true) write $TOP } call clearSqlColumns('RDA') } if $GROUP_LIST {var ($hdr,$col) = getSqlColumns('RDA','SYS','dba_rsrc_consumer_group_privs') if $hdr {prefix {write '---+ Consumer Group Privileges' write $hdr } set $sql {SELECT :1 " FROM dba_rsrc_consumer_group_privs " WHERE granted_group IN (:2); } call writeSql(bindSql($sql,$col,$GROUP_LIST)) if hasOutput(true) write $TOP } call clearSqlColumns('RDA') var ($hdr,$col) = getSqlColumns('RDA','SYS','dba_rsrc_group_mappings') if $hdr {prefix {write '---+ Consumer Group Mappings' write $hdr } set $sql {SELECT :1 " FROM dba_rsrc_group_mappings " WHERE consumer_group IN (:2); } call writeSql(bindSql($sql,$col,$GROUP_LIST)) if hasOutput(true) write $TOP } call clearSqlColumns('RDA') } var ($hdr,$col) = getSqlColumns('RDA','SYS','dba_rsrc_mapping_priority') if $hdr {prefix {write '---+ Consumer Group Mapping Priorities' write $hdr } set $sql {SELECT :1 " FROM dba_rsrc_mapping_priority; } call writeSql(bindSql($sql,$col)) if hasOutput(true) write $TOP } call clearSqlColumns('RDA') toc '2:[[',getFile(),'][rda_report][Active Plan Details]]' =head2 history - History Gets the Database Resource Manager-related historic information. =cut debug ' Inside RSRC module, staring with the history queries' report history var $TTL = '---+!! History' var ($hdr,$col) = getSqlColumns('RDA','SYS','v_$rsrc_plan_history') if $hdr {prefix {write $TTL write $TOC write '---+ Plan History' write $hdr var $TTL = undef } set $sql {SELECT :1 " FROM v$rsrc_plan_history; } call writeSql(bindSql($sql,$col)) if hasOutput(true) write $TOP } call clearSqlColumns('RDA') var ($hdr,$col) = getSqlColumns('RDA','SYS','v_$rsrc_cons_group_history') if $hdr {prefix {if $TTL {write $TTL write $TOC } write '---+ Consumer Group History' write $hdr } set $sql {SELECT :1 " FROM v$rsrc_cons_group_history; } call writeSql(bindSql($sql,$col)) if hasOutput(true) write $TOP } call clearSqlColumns('RDA') if isCreated(true) toc '2:[[',getFile(),'][rda_report][History]]' # Disable the group title in next index if isTocCreated() toc '-:RDBMS' =head1 SEE ALSO L =begin credits =over 10 =item RDA 4.3: Jurgen Schelfhout. =back =end credits =head1 COPYRIGHT NOTICE Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights reserved. =head1 TRADEMARK NOTICE Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners. =cut