# DCovmm.ctl:142:Collects Oracle VM Manager Information # $Id: DCovmm.ctl,v 1.5 2015/05/29 05:52:40 RDA Exp $ # ARCS: $Header: /home/cvs/cvs/RDA_8/src/scripting/lib/collect/OS/DCovmm.ctl,v 1.5 2015/05/29 05:52:40 RDA Exp $ # # Change History # 20150527 KRA Improve the documentation. =head1 NAME OS:DCovmm - Collects Oracle VM Manager Information =for stopwords cron =head1 DESCRIPTION This module collects information about Oracle VM Manager. It asks for the Oracle VM Manager repository user password. For C/C execution, you can encode the password in the setup file using the pseudo user C. The following reports can be generated and are regrouped under C: =cut echo tput('bold'),'Processing OS.OVMM module ...',tput('off') # Initialization var $ORACLE_HOME = ${SET.RDA.BEGIN.D_ORACLE_HOME:''} var $ORACLE_SID = nvl(${SET.DB.DB.I_DB}->get_first('T_ORACLE_SID'),'XE') var $OVS_HOME = ${D_OVS_HOME:''} var $TAIL = ${DFT.N_TAIL:1000} var $TOC = '%TOC%' var $TOP = '[[#Top][Back to top]]' pretoc '1:Oracle VM Manager' # Load common macros run DB:DBinfo() run RDA:library() # Get the connection information var $fil = catFile($OVS_HOME,'OVSDataCollector','classes','com','oracle',\ 'oardc','ovs','OVSDataCollector.properties') var $usr = nvl(value(grepFile($fil,'^database.connection.username\s*=','fi')),\ 'ovs') call setDbTarget({T_TYPE=>'Oracle',T_USER=>$usr,T_SOURCE=>$ORACLE_SID}) var ($typ,$sid,$usr) = getDbInfo() call derivePassword($typ,$sid,$usr,'OVMM_REPOS_USER') =head2 no_db_access - No Database Access Reports database access issue. =cut if testDb() {report no_db_access write 'Cannot connect to the database as ',$usr,'@',$sid,\ ' (',getDbMessage(),')' toc '2:[[',getFile(),'][rda_report][No Database Access]]' } =head2 dbinfo - Database Information Gets the version and edition of the database =cut else {debug ' Inside OVMM module, getting database version and edition' report dbinfo prefix {write '---+!! Product Versions from V$Version' if match($sid,'^\/\/127\.0\.0\.1\b') write '---## Database is local' write '|*Banner*|' } set $sql {# SQL1 "SELECT '|' || v.banner || '|' " FROM v$version v "/ } call writeDb($sql) if isCreated(true) toc '2:[[',getFile(),'][rda_report][Database Information]]' =head2 tableinfo - Table Information Gathers the Oracle VM Manager table information. =cut debug ' Inside OVMM module, gathering table information' report tableinfo var $TTL = '---+!! Oracle VM Manager Table Information' var @TTL = ('',\ '---+ OVS_VM_GEN_INFO',\ '---+ OVS_ALERT',\ '---+ OVS_VM_IMG',\ '---+ OVS_USER',\ '---+ OVS_VIRTUAL_DISK',\ '---+ OVS_VM_NETWORK',\ '---+ OVS_AGENT',\ '---+ OVS_SERVER',\ '---+ OVS_VM_SNAPSHOT',\ '---+ OVS_GROUP',\ '---+ OVS_PREFERRED_SERVER') var ($HDR[1],$col1) = getDbColumns('RDA','OVS_VM_GEN_INFO') call clearDbColumns('RDA') var ($HDR[2],$col2) = getDbColumns('RDA','OVS_ALERT') call clearDbColumns('RDA') var $col2 = replace($col2,'operation_details',\ "REPLACE(operation_details,CHR(10),'%BR%')") var ($HDR[3],$col3) = getDbColumns('RDA','OVS_VM_IMG') call clearDbColumns('RDA') var ($HDR[4],$col4) = getDbColumns('RDA','OVS_USER') call clearDbColumns('RDA') var ($HDR[5],$col5) = getDbColumns('RDA','OVS_VIRTUAL_DISK') call clearDbColumns('RDA') var ($HDR[6],$col6) = getDbColumns('RDA','OVS_VM_NETWORK') call clearDbColumns('RDA') var ($HDR[7],$col7) = getDbColumns('RDA','OVS_AGENT') call clearDbColumns('RDA') var ($HDR[8],$col8) = getDbColumns('RDA','OVS_SERVER') call clearDbColumns('RDA') var ($HDR[9],$col9) = getDbColumns('RDA','OVS_VM_SNAPSHOT') call clearDbColumns('RDA') var ($HDR[10],$col10) = getDbColumns('RDA','OVS_GROUP') call clearDbColumns('RDA') var ($HDR[11],$col11) = getDbColumns('RDA','OVS_PREFERRED_SERVER') call clearDbColumns('RDA') set $sql {# SQL1 "SELECT :1 " FROM ovs_vm_gen_info "/ "# MACRO separator(2) "# SQL2 "SELECT :2 " FROM ovs_alert "/ "# MACRO separator(3) "# SQL3 "SELECT :3 " FROM ovs_vm_img "/ "# MACRO separator(4) "# SQL4 "SELECT :4 " FROM ovs_user "/ "# MACRO separator(5) "# SQL5 "SELECT :5 " FROM ovs_virtual_disk "/ "# MACRO separator(6) "# SQL6 "SELECT :6 " FROM ovs_vm_network "/ "# MACRO separator(7) "# SQL7 "SELECT :7 " FROM ovs_agent "/ "# MACRO separator(8) "# SQL8 "SELECT :8 " FROM ovs_server "/ "# MACRO separator(9) "# SQL9 "SELECT :9 " FROM ovs_vm_snapshot "/ "# MACRO separator(10) "# SQL10 "SELECT :10 " FROM ovs_group "/ } if $hdr[11] {append $sql {# MACRO separator(11) "# SQL11 "SELECT :11 " FROM ovs_preferred_server "/ } } call separator(1) call writeDb(bindDb($sql,$col1,$col2,$col3,$col4,$col5,$col6,$col7,$col8,\ $col9,$col10,$col11),2) call separator(0,'Table Information') =head2 stat_info - Statistics Gathers the Oracle VM Manager C table information for the last days. =cut debug ' Inside OVMM module, gathering statistics (can take time)' report stat_info var ($hdr,$col) = getDbColumns('RDA','OVS_STATISTIC') prefix {write '---+!! Oracle VM Manager OVS_STATISTIC Table Information' write $hdr } set $sql {# SQL1 "SELECT :1 " FROM ovs_statistic " WHERE snap_date > SYSDATE - (:2) " ORDER BY snap_date DESC "/ } var $day = ${R_STAT_AGE/T:5} call writeDb(bindDb($sql,$col,$day),2) if isCreated(true) toc '2:[[',getFile(),'][rda_report][Statistics]]' } =head2 Log Files Gathers log files from the following directory structure: =over 4 =item o F =back =cut debug ' Inside OVMM module, collecting the log files' pretoc '2:Log Files' call sort_files(3,$TAIL,grepDir('/var/log/ovm-manager','^\.+$','vr')) unpretoc 2 =head1 SEE ALSO L, L =begin credits =over 10 =item RDA 4.12: Guido Tijskens. =item RDA 4.16: Shinya Narahara, Takeshi Watanabe. =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