# DCowsm.cfg: Collects Oracle Web Services Manager Information # $Id: DCowsm.cfg,v 1.17 2015/09/25 00:35:35 RDA Exp $ # ARCS: $Header: /home/cvs/cvs/RDA_8/src/scripting/lib/collect/OFM/DCowsm.cfg,v 1.17 2015/09/25 00:35:35 RDA Exp $ # # Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights reserved. # # Change history # 20150924 MSC Eliminate trailing spaces. ############################################################################### # Collect Oracle Web Services Manager setup information ############################################################################### #------------------------------------------------------------------------------ # Module definition #------------------------------------------------------------------------------ col=${B_IN_USE} dsc='Collects Oracle Web Services Manager Information' pre=OFM:DCinit req=?B_REQ_IREQ:OFM:DCireq,?B_REQ_J2EE:OFM:DCj2ee,?B_REQ_WREQ:OFM:DCwreq rpt=B_IN_USE tgt=${I_OHC/C} trg=?B_REQ_IREQ:OFM:DCireq,?B_REQ_J2EE:OFM:DCj2ee,?B_REQ_WREQ:OFM:DCwreq var=not_used # Flow:in_use,B_IN_USE exe=sdcl { "if ${GRP.INIT.I_OH} "{var ${I_OHC/T} = $itm = last " var $ORACLE_HOME = $itm->get_first('D_ORACLE_HOME') " if ?nvl(testDir('d',catDir($ORACLE_HOME,'soa')),\ " testDir('d',catDir($ORACLE_HOME,'owsm'))) " var @{AUX.var} = (cond(${PRF.B_TESTS},'in_use','B_IN_USE')) " var ${B_REQ_IREQ/T} = undef " keep $ORACLE_HOME "} " "macro is_valid_domain "{var ($nam,$dir) = @arg " require testDir('d',$dir),\ " 'The specified WebLogic Server domain directory does not exist.' " require isAbsolute($dir),\ " 'The specified WebLogic Server domain directory is not an absolute path.' " require grepFile(catFile($dir,'config','config.xml'),\ " '^get_first('I_MW_HOME')->get_first('I_COMMON_HOME') "{var ${MOD.IREQ_OFM_OWSM_CH.I_COMMON_HOME:\ " 'Target associated with the Oracle common home'} = last " var ${MOD.IREQ_OFM_OWSM_CH.T_CH_FOCUS:\ " 'Focus areas for common home collection'} = 'Manifest' " var $flg = true "} "var ${AUX.dft} = $flg } #------------------------------------------------------------------------------ # Setting definitions for Oracle WebLogic Server #------------------------------------------------------------------------------ [D_DOMAIN_HOME] typ=D dsc='Oracle WebLogic Server domain home' fmt='<',scalar(@dir = splitDir($dir)),1) "{loop $srv (findDir(catDir($dir,'servers'),'^[^\.]+$','n')) " {if ?testDir('d',catDir($dir,'servers',$srv,'logs')) " call push(@itm,$srv,$srv) " } " var ${T_TMP_NAM/T} = $nam = pop(@dir) " var @{T_TMP_ITM/T} = @itm " if ${PRF/N_OFM_LEVEL} " {var $cnt = scalar(@itm) " if or(expr('==',$cnt,2),\ " and(expr('==',$cnt,4),grep(@itm,'^AdminServer$','if'))) " {var ${AUX.lvl} = ${PRF/N_OFM_LEVEL} " call unshift(@{AUX.W_NEXT},'server_comment') " } " else " var ${AUX.bef} = "\nServer list for '${T_TMP_NAM}' - domain home \ " (in ${CTX.D_DOMAIN_HOME}):\n\ " Two or more managed servers have been discovered." " } " var ${I_DOMAIN:'Target associated with the domain'} = \ " nvl(findItem('DOM','D_DOMAIN_HOME',getShortPath($dir,true)),\ " defineTarget('DOM',{D_DOMAIN_ROOT=>$top = catNative(@dir,''),\ " T_DOMAIN_NAME=>$nam,\ " T_TITLE=>"Domain ${VAR.nam} (in ${VAR.top})"})) " var ${T_TOP_FOCUS:\ " 'Focus areas for Oracle WebLogic Server Middleware collection'} = \ " 'Generic,Manifest' " var ${T_DOM_FOCUS:\ " 'Focus areas for Oracle WebLogic Server domain collection'} = \ " 'ExtSnmCfg,NodDomCfg,NodDomLog,OFM_OWSM,SrvErr' " var ${CTX.B_REQ_WREQ:\ " 'Does OWSM require Oracle WebLogic request handler collection?'} = true "} } [server_comment] typ=C def='./WREQ_OFM_OWSM_DOM' dsc='Report RDA has determined the server(s) to collect' inp="\nServer list for '${T_TMP_NAM}' - domain home (in ${CTX.D_DOMAIN_HOME}):\ \nWhen RDA discovers only one managed server and/or an AdminServer, \ server list selection is suppressed.\n\ RDA will target the server(s):\n\ ${T_TMP_SERVERS}" # stopwords AdminServer vis=false exe=sdcl { "var ($cnt,$str) = (0) "loop $srv (@{T_SERVERS}) " var $str = join("\n",$str,sprintf(" %d %s",incr($cnt),$srv)) "var ${T_TMP_SERVERS/T} = $str } #------------------------------------------------------------------------------ # Other settings #------------------------------------------------------------------------------ [set_sq_target] typ=B dsc='Determine the query target' nam=- exe=sdcl { "if !?${I_DB} "{var ($sid,$usr) = () " var $fil = catFile(${D_DOMAIN_HOME},'config','jdbc','mds-owsm-jdbc.xml') " if ?testFile('r',$fil) " {if xmlFind(xmlLoadFile(last),'jdbc-data-source/jdbc-driver-params') " {var ($xml) = (last) " if xmlFind($xml,'properties/property|name *="^user$"') " {var $usr = xmlData(xmlFind(last,'value')) " var $sid = field('@',1,xmlData(xmlFind($xml,'url'))) " if match($sid,'^[\w\-\.]+:\d+\/') " {# Pattern for service name, eg: hostname:port/service " var $sid = replace($sid,'/','::') " } " } " } " } " " # Determine the corresponding query target " var $ttl = 'OFM.OWSM queries' " if findItem('SQ',{B_DEDICATED=>true,\ " T_TITLE=>$ttl}) " var $db = defineTarget(last,{T_ORACLE_SID=>$sid,\ " T_USER=>$usr}) " else " var $db = defineTarget('SQ',{B_DEDICATED=>true,\ " T_ORACLE_SID=>$sid,\ " T_TITLE=>$ttl,\ " T_USER=>$usr}) " var ${I_DB:'Database to analyze'} = $db "} } [B_DB_AUTO] typ=B dft=true dsc='Automatic collection of the database connection details?' inp='Do you want RDA to collect the database connection details \ automatically (Y/N)?' lvl=6 var=true:T_USER,need_sysdba,set_target:\ I_DB [T_USER] typ=T dft='orawsm' dsc='User to connect to SQL*Plus' inp='Enter an Oracle User ID (user name only) to view DBA_ and ORAWSM related \ tables.' [need_sysdba] typ=B dft=check(${T_USER},'^\/',true,${B_SYSDBA}) dsc='Indicate that T_USER will connect as SYSDBA' inp="Is '${T_USER}' a SYSDBA user (will connect as SYSDBA) (Y/N)?" nam=B_SYSDBA [set_target] typ=B dsc='Determine the query target' nam=- exe=sdcl { "if !?${I_DB} "{var $sid = undef " if grepFile(catFile($ORACLE_HOME,'owsm','bin','coresv.properties'),\ " concat('^',verbatim('dataload.messagelog.db.url'),'\s*='),'fi') " {var $sid = replace(value(first(last)),'^.*@') " if match($sid,'^//([\w\-\.]+:{1}\d+/{1}.*)$') " {# Pattern for service name, eg: //hostname:port/service " var $sid = replace(last,'/','::') " } " } " " # Determine the corresponding query target " var $ttl = 'OFM.OWSM queries' " if findItem('SQ',{B_DEDICATED=>true,\ " T_TITLE=>$ttl}) " var $db = defineTarget(last,{B_SYSDBA=>${B_SYSDBA},\ " T_ORACLE_SID=>$sid,\ " T_USER=>${T_USER}}) " else " var $db = defineTarget('SQ',{B_DEDICATED=>true,\ " B_SYSDBA=>${B_SYSDBA},\ " T_ORACLE_SID=>$sid,\ " T_TITLE=>$ttl,\ " T_USER=>${T_USER}}) " var ${I_DB:'Database to analyze'} = $db "} } [I_DB] typ=I cls='SQ' dft=nvl(findItem('SQ','T_USER','orawsm'),${SET.DB.DB.I_DB}) dsc='Database to analyze' exe=sdcl { "var ${RUN.CLASS.SQ.T_USER} = 'orawsm' } [I_OHC] typ=I cls='OH' dsc='Target associated with the Oracle home' vis=false