# DCoid.cfg: Collects Oracle Internet Directory Information # $Id: DCoid.cfg,v 1.16 2015/05/09 14:57:40 RDA Exp $ # ARCS: $Header: /home/cvs/cvs/RDA_8/src/scripting/lib/collect/OFM/DCoid.cfg,v 1.16 2015/05/09 14:57:40 RDA Exp $ # # Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights reserved. # # Change history # 20150509 MSC Improve description consistency. ############################################################################### # Collect Oracle Internet Directory setup information ############################################################################### #------------------------------------------------------------------------------ # Module definition #------------------------------------------------------------------------------ col=${B_IN_USE} dsc='Collects Oracle Internet Directory Information' pre=OFM:DCinit req=?B_REQ_IREQ:OFM:DCireq,?B_REQ_WREQ:OFM:DCwreq rpt=B_IN_USE tgt=${I_OHC/C} trg=?B_REQ_IREQ:OFM:DCireq,?B_REQ_WREQ:OFM:DCwreq var=not_used # Flow: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') " var ${B_REQ_IREQ/T} = undef " var ${B_REQ_WREQ/T} = undef " if ?testDir('d',catDir($ORACLE_HOME,'ldap')) " var @{AUX.var} = ('B_IN_USE') " keep $ORACLE_HOME "} " "macro check_instance "{loop $ins (findDir($arg[0],'^[^\.]+$','np')) " {if ?testFile('f',catFile($ins,'bin',${AS.BATCH:'opmnctl'})) " return 1 " } " return 0 "} " "macro is_valid_instance "{var ($nam,$dir) = @arg " require testDir('d',$dir),\ " 'The specified instance root directory does not exist.' " require isAbsolute($dir),\ " 'The specified instance root directory is not an absolute path.' " require check_instance($dir),\ " 'The specified instance root directory does not contain some Oracle \ " Fusion Middleware instance related-files. Without a valid directory, the \ " collection will not contain complete instance data.' " var ${AUX.nam} = $nam " return true "} " "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('T_PRODUCT'),\ '^Oracle Identity Management 11g'),\ testDir('d',catDir($ORACLE_HOME,'rcu'))) dsc='Check for OFM 11g install' nam=- var=true:set_primary:\ T_ORACLE_SID,set_db [set_primary] typ=B dft=cond(${PRF/B_OFM_PROFILE},${PRF.B_PRIMARY},true) dsc='Is OID the primary module?' nam=B_PRIMARY var=true:instance_root,D_DOMAIN_HOME,set_primary_db:\ set_primary_db #------------------------------------------------------------------------------ # Setting definitions for Oracle Instance #------------------------------------------------------------------------------ [instance_root] typ=D alt=D_INSTANCE_ROOT dft=${SET.RDA.BEGIN.D_INSTANCE_ROOT} dsc='Instance root directory' nam=D_INSTANCE_ROOT var=I_ORACLE_INSTANCES,set_req_instance [D_INSTANCE_ROOT] typ=D dsc='Instance root directory' fmt='<$dir,\ " T_TITLE=>"Instance home ${VAR.dir}"}))) "var ${AUX.dft} = [@itm] } [set_req_instance] typ=B dft=false dsc='Does OID require Oracle instance request handler execution?' nam=B_REQ_IREQ exe=sdcl { "var ($flg,%tgt) = (false) "loop $tgt (@{I_ORACLE_INSTANCES}) "{var $dir = $tgt->get_first('D_ORACLE_INSTANCE') " next !?testFile('f',catFile($dir,'bin',${AS.BATCH:'opmnctl'})) " var $oid = $tgt->get_oid " var ${MOD.IREQ_OFM_OID_${VAR.oid}.I_ORACLE_INSTANCE:\ " 'Target associated with the Oracle instance home'} = $tgt " var ${MOD.IREQ_OFM_OID_${VAR.oid}.T_OH_FOCUS:\ " 'Focus areas for Oracle home associated to the instance home'} = \ " 'HTTP,Manifest,OID,OPMN' " var ${MOD.IREQ_OFM_OID_${VAR.oid}.T_OI_FOCUS:\ " 'Focus areas for instance home'} = 'HTTP,OID,OPMN' " var ${MOD.IREQ_OFM_OID_${VAR.oid}.D_EXTRA_TNSADMIN:\ " 'List of extra TNS_ADMIN directories'} = catDir($dir,'config') " if ?$tgt->get_first('I_ORACLE_HOME')->get_prime('I_COMMON_HOME') " var $tgt{last->get_oid} = last " var $flg = true "} "loop $oid (keys(%tgt)) "{var ${MOD.IREQ_OFM_OID_${VAR.oid}.I_COMMON_HOME:\ " 'Target associated with the Oracle common home'} = $tgt{$oid} " var ${MOD.IREQ_OFM_OID_${VAR.oid}.T_CH_FOCUS:\ " 'Focus areas for common home collection'} = 'Manifest,WlsGeneric' "} "var ${AUX.dft} = $flg } #------------------------------------------------------------------------------ # Setting definitions for Oracle WebLogic Server #------------------------------------------------------------------------------ [D_DOMAIN_HOME] typ=D dft=${ENV.DOMAIN_HOME} dsc='Oracle WebLogic server domain home directory' 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 " 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'} = \ " 'ExtDomCfg,ExtSnmCfg,ExtSrvCfg,MinDomCfg,MinSrvCfg,NodDomCfg,NodDomLog,\ " OFM_OID,SrvErr' " var ${CTX.B_REQ_WREQ:\ " 'Does OID require Oracle WebLogic request handler collection?'} = true "} } #------------------------------------------------------------------------------ # Common setting definitions #------------------------------------------------------------------------------ [set_primary_db] typ=B nam=- exe=sdcl { "if !?${I_DB} "{var $ttl = 'OFM.OID queries' " if findItem('SQ',{B_DEDICATED=>true,\ " T_TITLE=>$ttl}) " var $db = defineTarget(last,{B_LOCAL=>false,\ " T_ORACLE_SID=>'OIDDB',\ " T_USER=>'ODS'}) " else " var $db = defineTarget('SQ',{B_DEDICATED=>true,\ " B_LOCAL=>false,\ " T_ORACLE_SID=>'OIDDB',\ " T_TITLE=>$ttl,\ " T_USER=>'ODS'}) " var ${I_DB:'Database to analyze'} = $db "} } [T_ORACLE_SID] typ=T clr='-' dft=${SET.DB.DB.I_DB}->get_first('T_ORACLE_SID') dsc='Database SID' err='Database SID should not contain any space' inp="Enter the OID database SID. If you do not want RDA to collect \ information from the database, then enter a dash (${AUX.clr})." ref='^(|\S+)$' val=E [set_db] typ=B nam=- exe=sdcl { "if and(length(${T_ORACLE_SID}),not(${I_DB/E})) "{var $ttl = 'OFM.OID queries' " if findItem('SQ',{B_DEDICATED=>true,\ " T_TITLE=>$ttl}) " var $db = defineTarget(last,{B_LOCAL=>false,\ " T_ORACLE_SID=>${T_ORACLE_SID},\ " T_USER=>'ODS'}) " else " var $db = defineTarget('SQ',{B_DEDICATED=>true,\ " B_LOCAL=>false,\ " T_ORACLE_SID=>${T_ORACLE_SID},\ " T_TITLE=>$ttl,\ " T_USER=>'ODS'}) " var ${I_DB:'Database to analyze'} = $db "} } [B_DIAG] typ=B dft=true dsc='Is the output of the oiddiag command requested?' hlp='oiddiag command execution can hang. If you face a hang during RDA data \ collection, you must rerun the setup and disable the oiddiag execution.' inp='Do you want RDA to collect the output of the oiddiag command (Y/N)?' var=true:T_HOST,N_PORT,T_SERVICE_NAME [T_HOST] typ=T dft=nvl(first(match(${T_ORACLE_SID/P},'^([^:]+)\:\d+\:[^:]*\:.*$')),\ ${RDA.T_HOST}) dsc='Database host name' err='Fully domain-qualified database host name cannot be null and should not \ contain any space' inp='Enter the fully domain-qualified database host name' ref='^\S+$' val=E [N_PORT] typ=N dft=nvl(first(match(${T_ORACLE_SID/P},'^[^:]+\:(\d+)\:[^:]*\:.*$')),1521) dsc='Database listener port number' inp='Enter the database listener port number' [T_SERVICE_NAME] typ=T dft=match(${T_ORACLE_SID/P},'^[^:]+\:\d+\:[^:]*\:(.*)$') dsc='Database Service Name' err='Database service name cannot be null and should not contain any space' hlp="oiddiag expects the database service name instead of the database system \ identifier. Depending on the configuration, it could require a fully \ qualified service name. You can often retrieve the information from the \ tnsnames.ora file or by running a tnsping command. When the listener \ is configured on the local system, you can retrieve the information by \ running 'lsnrctl status' or 'lsnrctl services' commands." \ # stopwords lsnrctl oiddiag tnsnames tnsping inp='Enter the database service name' ref='^\S+$' val=E [I_OHC] typ=I cls='OH' dsc='Target associated with the Oracle home' vis=false