# DCess.cfg: Collects Oracle Essbase Information # $Id: DCess.cfg,v 1.15 2015/02/26 06:54:21 RDA Exp $ # ARCS: $Header: /home/cvs/cvs/RDA_8/src/scripting/lib/collect/BI/DCess.cfg,v 1.15 2015/02/26 06:54:21 RDA Exp $ # # Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights reserved. # # Change history # 20150226 MSC Improve symbol compliance. ############################################################################### # Collect ESS setup information ############################################################################### #------------------------------------------------------------------------------ # Module definition #------------------------------------------------------------------------------ col=${B_IN_USE} dsc='Collects Oracle Essbase Information' fam=Cygwin,Unix,Windows pre=BI:DCepm req=?B_REQ_WREQ:OFM:DCwreq rpt=B_IN_USE tgt=${I_OH/C} trg=BI:DCepm,?B_REQ_IREQ:OFM:DCireq,?B_REQ_WREQ:OFM:DCwreq var=not_used # Flow:in_use,B_IN_USE,D_ORACLE_PARENT exe=sdcl { "var ${B_REQ_IREQ/T} = undef "var ${B_REQ_WREQ/T} = undef "if ${AUX.N_DEPTH} " var @{AUX.var} = ('D_ORACLE_PARENT') "elsif ${GRP.EPM.I_OH} " var (${I_OH/T},@{AUX.var}) = \ " (last,cond(${PRF.B_TESTS},'in_use','B_IN_USE')) " "macro derive_mw_home "{if ?testDir('d',${ENV.HYPERION_HOME}) " {var @dir = splitDir(catDir(last)) " call pop(@dir) " if expr('>',scalar(@dir),1) " return catDir(@dir) " } " loop $pth (grep(@{ENV.PATH},'\bepmsystem\d+\b')) " {next !?testDir('d',catDir($pth)) " var @dir = splitDir(last) " while ?$dir = pop(@dir) " {next !match($dir,'^epmsystem\d+$') " break expr('<',scalar(@dir),3) " if compare('eq',$dir[-1],'user_projects') " {call pop(@dir) " return catDir(@dir) " } " } " } " return () "} " "macro is_valid_mw_home "{var ($nam,$dir) = @arg " require testDir('d',$dir),\ " 'The specified Middleware home directory does not exist.' " require isAbsolute($dir),\ " 'The specified Middleware home directory is not an absolute path.' " require testFile('f',catFile($dir,'registry.xml')),\ " 'The specified Middleware home directory does not contain some \ " Oracle WebLogic server related-files. Without a valid directory, the \ " collection will be disabled. Rerun the setup with the correct \ " Middleware home directory.' " var ${AUX.nam} = $nam " return true "} } #------------------------------------------------------------------------------ # Setting definitions for BEGIN-based setup #------------------------------------------------------------------------------ [D_ORACLE_PARENT] typ=D dft=(${ENV.MW_HOME},\ ${ENV.BEA_HOME},\ derive_mw_home()) dsc='Oracle Middleware home' inp='Enter the Oracle Middleware home to be used for data analysis' nam=- ref=is_valid_mw_home('D_ORACLE_PARENT',last) val=F var=exists:set_properties [set_properties] typ=B nam=- exe=sdcl { "var $top = ${D_ORACLE_PARENT} "if ?testDir('d',catDir($top,'user_projects','domains','EPMSystem')) " var ${D_COMMON_DOMAIN_HOME:'Oracle WebLogic Server domain home'} = lastDir() "if findDir($top,'^EPMSystem\d+','fp') " var ${D_ORACLE_HOME:'Oracle home'} = first(last) "if ?testDir('d',catDir($top,'user_projects')) " var ${D_INSTANCE_ROOT:'Instance root directory'} = lastDir() "if findDir($top,'^(jdk\d+|jrockit_\d+)','fp') " var ${D_JAVA_HOME:'Java home'} = first(last) } #------------------------------------------------------------------------------ # Setting definitions for ESS-based setup #------------------------------------------------------------------------------ [in_use] typ=B dft=true dsc='Is Oracle Essbase information requested?' nam=B_IN_USE var=chk_domain,R_AGE,I_OH [not_used] typ=B dft=false dsc='Is Oracle Essbase information requested?' nam=B_IN_USE [B_IN_USE] typ=B dft=${AUX.B_SELECTED} dsc='Is Oracle Essbase information requested?' inp='Do you want RDA to analyze Oracle Essbase (Y/N)?' var=true:chk_domain,R_AGE,I_OH #------------------------------------------------------------------------------ # Determine the collection approach #------------------------------------------------------------------------------ [chk_domain] typ=D alt=chk_instance dft=${GRP.EPM.D_DOMAIN} dsc='Does EPM contain single domain?' nam=-D_TMP_DOMAIN var=D_ARBORPATH,T_HOST,T_USER,T_APPNAME,T_DBNAME,T_SERVERS [chk_instance] typ=D alt=D_ARBORPATH,T_HOST,T_USER,T_APPNAME,T_DBNAME dft=${GRP.EPM.D_INSTANCE_ROOT} dsc='Does EPM contain instance root?' nam=- var=set_ins_properties [set_ins_properties] typ=B nam=- var=true:loop_instances exe=sdcl { "keep %OID "var $flg = false "loop $tgt (@{GRP.EPM.I_ORACLE_INSTANCES}) "{var $dir = $tgt->get_first('D_ORACLE_INSTANCE') " next !?testDir('d',catDir($dir,'EssbaseServer')) " var ($ins,$oid) = (basename($dir),$tgt->get_oid) " var ${MOD.${VAR.oid}.D_HOME:"Instance home directory for ${VAR.ins}"} = $dir " var $flg = true " var $OID{$ins} = $oid "} "var ${B_REQ_IREQ:\ " 'Does ESS require Oracle instance request handler execution?'} = true "var ${AUX.dft} = $flg } [loop_instances] typ=L dft=keys(%OID) dsc='Iterate on each instance' nam=-RUN/SDSL.W_INS var=loop:domain_home,set_arborpath,set_host,set_user,set_appname,set_dbname #------------------------------------------------------------------------------ # Setting definitions for Oracle WebLogic Server #------------------------------------------------------------------------------ [domain_home] typ=D dft=${GRP.EPM.D_DOMAINS}->{${RUN.SDSL.W_INS}} dsc='Oracle WebLogic Server domain home' nam=-D_TMP_DOMAIN var=exists:T_SERVERS #------------------------------------------------------------------------------ # Select the server(s) #------------------------------------------------------------------------------ [T_SERVERS] typ=M bef="Server list for '${T_TMP_DOM}' domain:" def=concat('./WREQ_BI_ESS_',replace($OID{${RUN.SDSL.W_INS}},'^OI_','DOM_')) dft='*' dsc="Server list for the domain associated to ${RUN.SDSL.W_INS}" itm=[@{T_TMP_ITM}] pck=true val=E exe=sdcl { "var ($dir,@itm) = (${CTX.D_TMP_DOMAIN}) "if expr('>',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_DOM/T} = $nam = pop(@dir) " var @{T_TMP_ITM/T} = @itm " 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' " var ${T_DOM_FOCUS:\ " 'Focus areas for Oracle WebLogic Server domain collection'} = \ " 'BI_ESS,BI_HSS,ExtDomCfg,ExtSnmCfg,ExtSrvCfg,MinDomCfg,MinSrvCfg,NodDomCfg,\ " NodDomLog,SrvErr' " var ${CTX.B_REQ_WREQ:\ " 'Does ESS require Oracle WebLogic Request Handler collection?'} = true "} } [set_arborpath] typ=D def=concat('./',$OID{${RUN.SDSL.W_INS}}) dft=${D_ARBORPATH} dsc='Location of Oracle Essbase directory structure' err='The specified directory does not -yet- exist' inp="Specify the ARBORPATH for instance '${RUN.SDSL.W_INS}'" nam=D_ARBORPATH val=W exe=sdcl { "if ${D_ARBORPATH/M} "{var $dft = '' " if findDir(catDir(${D_HOME},'EssbaseServer'),'essbaseserver\d+','fnp') " var $dft = first(last) " elsif ?${ENV.ARBORPATH} " var $dft = last " var ${AUX.dft} = $dft "} } [set_host] typ=T def=concat('./',$OID{${RUN.SDSL.W_INS}}) dft=${T_HOST:'localhost'} dsc='Host name of the Oracle Essbase server' err='Host name cannot be null and should not contain spaces or quotation marks.' inp="Enter the host name of the Oracle Essbase server for instance \ '${RUN.SDSL.W_INS}'" nam=T_HOST ref='^[^\"\s]+$' val=E [set_user] typ=T def=concat('./',$OID{${RUN.SDSL.W_INS}}) dft=${T_USER:'admin'} dsc='User identifier defined on the Oracle Essbase server' err='User name cannot be null and should not contain spaces or quotation marks.' inp="Enter the user identifier defined on the Oracle Essbase server for \ instance '${RUN.SDSL.W_INS}'." nam=T_USER ref='^[^\"\s]+$' val=E [set_appname] typ=T clr='-' def=concat('./',$OID{${RUN.SDSL.W_INS}}) dft=${T_APPNAME} dsc='Name of the application to load' err='Application name should not contain spaces or quotation marks.' inp="Name of the application to load for instance '${RUN.SDSL.W_INS}'. \ Enter a dash (${AUX.clr}) if you do not want to load any application." nam=T_APPNAME ref='^[^\"\s]*$' val=E [set_dbname] typ=T clr='-' def=concat('./',$OID{${RUN.SDSL.W_INS}}) dft=${T_DBNAME} dsc='Name of the database to load' err='Database name should not contain spaces or quotation marks.' inp="Name of the database to load. Enter a dash (${AUX.clr}) if you do not \ want to load any database." nam=T_DBNAME ref='^[^\"\s]*$' val=E #------------------------------------------------------------------------------ # Pre 11.1.2 settings #------------------------------------------------------------------------------ [D_ARBORPATH] typ=D dft=${ENV.ARBORPATH} dsc='Location of Oracle Essbase directory structure' err='The specified directory does not -yet- exist' inp='Specify the ARBORPATH. It contains a bin directory where RDA can find \ executable files like ESSCMD and essmsh.' # stopwords essmsh val=W [T_HOST] typ=T dft='localhost' dsc='Host name of the Oracle Essbase server' err='Host name cannot be null and should not contain spaces or quotation marks.' inp='Enter the host name of the Oracle Essbase server' ref='^[^\"\s]+$' val=E [T_USER] typ=T dsc='User identifier defined on the Oracle Essbase server' err='User name cannot be null and should not contain spaces or quotation marks.' inp='Enter the user identifier defined on the Oracle Essbase server.' ref='^[^\"\s]+$' val=E [T_APPNAME] typ=T clr='-' dsc='Name of the application to load' err='Application name should not contain spaces or quotation marks.' inp="Name of the application to load. Enter a dash (${AUX.clr}) if you do not \ want to load any application." ref='^[^\"\s]*$' val=E [T_DBNAME] typ=T clr='-' dsc='Name of the database to load' err='Database name should not contain spaces or quotation marks.' inp="Name of the database to load. Enter a dash (${AUX.clr}) if you do not \ want to load any database." ref='^[^\"\s]*$' val=E #------------------------------------------------------------------------------ # Common settings #------------------------------------------------------------------------------ [R_AGE] typ=N dft=15 dsc='Age limit (in days) of the log files to be collected' err='The number of days must be a positive number' inp='Enter the age limit (in days) for the log files to be collected for \ Oracle Essbase' lvl=6 ref='R[0,[' val=F [I_OH] typ=I cls='OH' dsc='Target associated with the EPM home' vis=false