# DCasm.cfg: Collects Automatic Storage Management Information # $Id: DCasm.cfg,v 1.13 2014/08/14 12:59:15 RDA Exp $ # ARCS: $Header: /home/cvs/cvs/RDA_8/src/scripting/lib/collect/DB/DCasm.cfg,v 1.13 2014/08/14 12:59:15 RDA Exp $ # # Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights reserved. # # Change history # 20140814 KRA Rename B_DG_STAT in B_ASM_DGS setting. ############################################################################### # Collect the Automatic Storage Management setup information ############################################################################### #------------------------------------------------------------------------------ # Module definition #------------------------------------------------------------------------------ col=${B_IN_USE} dsc='Collects Automatic Storage Management Information' fam=Cygwin,Unix,Windows man="RDA considers this module with Oracle Database 10g or later only. RDA \ performs this check only when the inventory information is available.\n\n\ RDA excludes this module when you did not specify a database to analyze." pre=RDA:DCbegin rpt=B_IN_USE,D_ORACLE_HOME,T_ORACLE_SID tgt=${I_DB/C} var=not_used # Flow:B_IN_USE exe=sdcl { "if nvl(${GRP.DB.I_DB}->get_prime('I_ORACLE_HOME'),\ ${SET.RDA.BEGIN.I_ORACLE_HOME}) "{var $itm = last " var $ORACLE_HOME = $itm->get_first('D_ORACLE_HOME') " if ?getComponentVersion($ORACLE_HOME,'oracle.rdbms') " {if match(last,'^(1[012]\.\d+\.)') " var @{AUX.var} = ('B_IN_USE') " } " keep $ORACLE_HOME "} " "macro get_spfile "{if isVms() " return " var $fil = undef " if ?${D_ORACLE_HOME/P} " {var $dir = catDir(last,cond(isUnix(),'dbs','database')) " if grepDir($dir,"^\Qspfile${T_ORACLE_SID}.ora\E$",'fip') " var ($fil) = last " elsif grepDir($dir,"^\Qinit${T_ORACLE_SID}.ora\E$",'fip') " var ($fil) = last " } " return $fil "} } #------------------------------------------------------------------------------ # Setting definitions #------------------------------------------------------------------------------ [not_used] typ=B dft=false dsc='Is Automatic Storage Management (ASM) in use?' nam=B_IN_USE [B_IN_USE] typ=B dft=${PRF.B_IN_USE:${AUX.B_SELECTED}} dsc='Is Automatic Storage Management (ASM) in use?' inp='Do you want RDA to collect Automatic Storage Management (ASM) \ information (Y/N)?' var=true:detect_asm,set_oh_target,set_db_target,set_sq_target,B_ADVANCED,\ B_ALLOCATION,B_DEVICES,B_ASM_DGS,B_ALERT_SUMMARY,N_ALERT_TAIL,\ B_INTERIM,R_TRACE_AGE,N_TRACE_ERRORS,N_TRACE_RATIO,N_TRACE_TRESHOLD,\ R_TRACE_VOLUME,N_TRACE_BDUMP,R_TRACE_UDUMP [detect_asm] typ=B dft=defined(${PRF.B_DETECT}) dsc='Do you want RDA to automatically detect ASM Oracle home and ASM SID?' nam=- var=false:B_DISTINCT_HOME,T_ORACLE_SID,B_PFILE_LOCAL,find_adrci:\ set_properties,B_ALERT_TEXT,N_INCIDENTS [B_DISTINCT_HOME] typ=B dft=false dsc='Is ASM installed in a separate Oracle home?' inp='Is ASM installed in a separate Oracle home (Y/N)?' var=false:oracle_home:\ D_ORACLE_HOME [oracle_home] typ=D dft=$ORACLE_HOME dsc='ASM Oracle home path' nam=D_ORACLE_HOME [D_ORACLE_HOME] typ=D dft=$ORACLE_HOME dsc='ASM Oracle home path' err='Warning: The specified directory does not -yet- exist' inp='Enter the ASM Oracle home path' val=W [T_ORACLE_SID] typ=T dsc='ASM Oracle SID' inp='Enter the ASM Oracle SID' exe=sdcl { "if ${T_ORACLE_SID/M} "{var ($hom,$sid) = (${D_ORACLE_HOME},'+ASM') " run DB:ASMinit(\$hom,\$sid) " var ${AUX.dft} = $sid "} } [B_PFILE_LOCAL] typ=B dft=true dsc='Is the PFILE local?' inp='Is the ASM INIT.ORA located on this system (Y/N)?' var=true:F_PFILE_LOCATION [F_PFILE_LOCATION] typ=F dft=get_spfile() dsc='ASM SPFILE/PFILE location' err='Warning: The specified file does not -yet- exist' inp='Enter the location of the ASM spfile or the INIT.ORA (including the \ directory and file name)' # stopwords spfile val=W [set_properties] typ=B nam=- exe=sdcl { "var ($hom,$sid) = ($ORACLE_HOME,${T_ORACLE_SID}) "run DB:ASMinit(\$hom,\$sid) "var ${B_DISTINCT_HOME:'Is ASM installed in a separate Oracle home?'} = true "var ${B_PFILE_LOCAL:'Is the PFILE local?'} = true "var ${D_ORACLE_HOME:'Detected ASM Oracle home'} = $hom "var ${T_ORACLE_SID:'Detected ASM Oracle SID'} = $sid "if ?get_spfile() " var ${F_PFILE_LOCATION:'ASM SPFILE/PFILE location'} = last } [set_oh_target] typ=B dsc='Target associated with the ASM Oracle home' nam=- exe=sdcl { "var $ttl = "ASM Oracle home ${D_ORACLE_HOME}" "if findItem('OH',{B_DEDICATED=>true,\ " T_TITLE =>$ttl}) " var $tgt = defineTarget(last,{D_ORACLE_HOME=>${D_ORACLE_HOME},\ " T_ORACLE_HOME=>${D_ORACLE_HOME}}) "else " var $tgt = defineTarget('OH',{B_DEDICATED =>true,\ " D_ORACLE_HOME=>${D_ORACLE_HOME},\ " T_OH_ABBR =>'$ASM',\ " T_ORACLE_HOME=>${D_ORACLE_HOME},\ " T_TITLE =>$ttl}) "var ${I_OH:'ASM Oracle home target'} = $tgt } [set_db_target] typ=B nam=- dsc='Target associated with the ASM context' exe=sdcl { "var $ttl = "ASM database ${T_ORACLE_SID}" "if findItem('DB',{B_DEDICATED=>true,\ " T_TITLE =>$ttl}) " var $tgt = defineTarget(last,{B_MISSING_BASE =>true,\ " B_PFILE_LOCAL =>${B_PFILE_LOCAL},\ " F_PFILE_LOCATION=>${F_PFILE_LOCATION},\ " I_ORACLE_HOME =>${I_OH},\ " T_ORACLE_SID =>${T_ORACLE_SID}}) "else " var $tgt = defineTarget('DB',{B_DEDICATED =>true,\ " B_MISSING_BASE =>true,\ " B_PFILE_LOCAL =>${B_PFILE_LOCAL},\ " F_PFILE_LOCATION=>${F_PFILE_LOCATION},\ " I_ORACLE_HOME =>${I_OH},\ " T_ORACLE_SID =>${T_ORACLE_SID},\ " T_TITLE =>$ttl}) "var ${I_ASM:'ASM context target'} = $tgt } [set_sq_target] typ=B dsc='Target for ASM queries' nam=- exe=sdcl { "var $ttl = 'DB.ASM query target' "var ${T_USER:'ASM user'} = ${T_USER:'/'} "if findItem('SQ',{B_DEDICATED=>true,\ " T_TITLE =>$ttl}) " var $tgt = defineTarget(last,{B_LOCAL =>true,\ " I_DATABASE =>${I_ASM},\ " T_ORACLE_SID=>${T_ORACLE_SID},\ " T_USER =>${T_USER}}) "else " var $tgt = defineTarget('SQ',{B_DEDICATED =>true,\ " B_LOCAL =>true,\ " I_DATABASE =>${I_ASM},\ " T_ORACLE_SID=>${T_ORACLE_SID},\ " T_TITLE =>$ttl,\ " T_USER =>${T_USER}}) "var ${I_DB:'ASM query target'} = $tgt } [B_ADVANCED] typ=B dft=false dsc='Advanced collection mode' inp='Is the advanced mode to be enabled (Y/N)?' lvl=6 [B_ALLOCATION] typ=B dft=true dsc='Do you want to collect allocation information?' inp='Should RDA collect allocation information (Y/N)?' lvl=9 [B_DEVICES] typ=B dft=true dsc='Do you want to collect device header and its potential duplicates?' inp='Should RDA collect device header and its potential duplicates \ information (Y/N)?' lvl=9 [B_ASM_DGS] typ=B dft=false dsc='Do you want to use V$ASM_DISKGROUP_STAT instead of V$ASM_DISKGROUP?' inp='Should RDA use V$ASM_DISKGROUP_STAT instead of V$ASM_DISKGROUP for \ collecting ASM disk group details (Y/N)?' lvl=3 [find_adrci] typ=F alt=alert_text,incidents dft=(catFile(${D_ORACLE_HOME/P},'bin','adrci.exe'),\ catFile(${D_ORACLE_HOME/P},'bin','adrci')) dsc='Look for adrci in the $D_ORACLE_HOME/bin directory' # stopwords adrci nam=- var=B_ALERT_TEXT,N_INCIDENTS [alert_text] typ=B dft=true dsc='Do you want RDA to collect the ASM alert.log in text format?' nam=B_ALERT_TEXT [B_ALERT_SUMMARY] typ=B dft=true dsc='Do you want RDA to analyze the ASM alert.log report?' inp='Do you want RDA to analyze the ASM alert.log report (Y/N)?' lvl=6 [B_ALERT_TEXT] typ=B dft=true dsc='Do you want RDA to collect the ASM alert.log in text format?' inp='Do you want RDA to collect the ASM alert.log in text format (Y/N)?' lvl=6 [N_ALERT_TAIL] typ=N dft=30000 dsc='Maximum number of lines to extract from ASM alert.log' err='The number of lines must be an integer greater than zero' inp='How many lines can we extract from ASM alert.log?' lvl=6 ref='I]0,[' val=F [incidents] typ=N dft=0 dsc='Number of incidents to capture' nam=N_INCIDENTS [N_INCIDENTS] typ=N dft=10 dsc='Number of incidents to capture' err='The number must be a positive integer' inp='Enter the maximum number of incidents to capture' lvl=6 ref='I[0,[' val=F [B_INTERIM] typ=B dft=false dsc='Collect the file/directory list for the interim patches' inp='Do you want to collect the file and directory list for the interim \ patches in inventory (Y/N)?' lvl=6 [R_TRACE_AGE] typ=N dft=15 dsc='Age limit (in days) of the error trace files to be collected' err='The number of days must be a positive number' inp='Enter the age limit (in days) for the error trace files to be collected' lvl=6 ref='R[0,[' val=F [N_TRACE_ERRORS] typ=N dft=250 dsc='Number of error references extracted from the alert_log' err='The number of references must be a positive integer' inp='Enter how many error references are considered' lvl=6 ref='I[0,[' val=F [N_TRACE_RATIO] typ=N dft=10 dsc='Ratio to estimate contribution to collection volume' [N_TRACE_TRESHOLD] typ=N dft=20480 dsc='Minimum file size (in bytes) to apply the N_TRACE_RATIO' [R_TRACE_VOLUME] typ=N dft=10 dsc='Total size limit (in MiB) for error trace files to be collected' err='The number of MiB must be a positive number' inp='Enter the total size limit (in MiB) for error trace files to be \ collected' lvl=6 ref='R[0,[' val=F [N_TRACE_BDUMP] typ=N dft=0 dsc='Number of background trace files of each type to be collected' err='The number of trace files must be a positive integer' inp='Enter how many background trace files of each type can be collected' lvl=6 ref='I[0,[' val=F [R_TRACE_UDUMP] typ=N dft=0 dsc='Age limit (in days) of the user dump files to be collected' err='The number of days must be a positive number' inp='Enter the age limit (in days) for the user dump files to be collected' lvl=6 ref='R[0,[' val=F