Tuesday, May 5, 2015

Verify ASM Lun -




#!/bin/ksh

function Usage
{
echo
echo "Usage: verify_asm_lun.ksh [-d] [-f] [-l] [-h] [-s]

        [-h]    Help
        [-l]    Name of LUN
        [-f]    File name containing list of LUNS
        [-d]    Name of asm diksgroup to which LUN is to be added
        [-s]    Run in batch mode checking all exiting asm devices
     "
exit 1
}


################################################################################
# Variables
################################################################################
typeset DEVICE_LOCATION=/dev/oracle

################################################################################
# Get information for asm disk and ask disk path from asm
################################################################################
lun_list() {
sqlplus -s / as sysdba << _SQL_
set pagesize 0 newpage 0 feedback off linesize 132 echo on
col dbname format a10
col name format a22
col path format a45
select substr(name,1,instr(name,'_')-1) as dbname,
       name as name,
       path as path
from   v\$asm_disk
where name is not null
and   name not like 'OCR%'
order by 1;
_SQL_
}
################################################################################
# Derive LUN/ASMDISK and device name information used by Currently used by ASM
################################################################################
asm_lun=$(lun_list)

################################################################################
# Derive device name information NOTR used by ASM
################################################################################
#nonasm_lun=`vxprint | grep dm  | awk '{print $3}'`
#echo "Non ASM LUN : ${nonasm_lun}"

#echo "${asm_lun}" | while read DBNAME NAME ASMLUN
#do
#echo "BEFORE:  $ASMLUN"
#lun_dev=`echo $ASMLUN | cut -d . -f2`
#echo "AFTER:  $lun_dev"
#lun_dev=emc0_2a3a
#   echo "${nonasm_lun}" | while read NONASMLUN
#   do
#   echo "Inside Loop 2 : ${lun_dev} : $NONASMLUN "
#    if [[ $lun_dev == $NONASMLUN ]] then
#        echo "Yeah Man"
#    fi
#   done
#dev_name=`ls -l $ASMLUN | awk '{print $11}'`
#wwwid=`grep $lun_dev /etc/vx/disk.info | awk '{print $1}'`
#echo $DBNAME $NAME $ASMLUN $dev_name $wwwid
#done


################################################################################
#
# Function : GetLunList
#
################################################################################
GetLunList() {
typeset DEVICELIST=`ls -l /dev/oracle | grep asmdat | awk '{print $9}' | cut -d . -f2`
}

################################################################################
#
# Function : CheckAllASMDevices
#
################################################################################
CheckAllASMDevices() {

GetLunList

echo "Here We Go"
}

################################################################################
#
# Main Section of script
#
################################################################################
if [ $# -lt 1 ]; then
  Usage
  exit 1
fi

while getopts "d:f:l:h:s" opt; do
  case $opt in
        d) cDiskGroupName=${OPTARG};
           echo "$cDiskGroupName";;
           # CheckAsmDiskGroup;;

        f) cCheckFile=${OPTARG};
           echo "$cCheckFile";;
           # CheckFile;;

        l) cCheckLun=${OPTARG};
           echo "$cCheckLun";;
           # CheckLun;;

        s) CheckAllASMDevices;;

        h) Usage;;

        *) Usage;;
  esac
done;



No comments:

Post a Comment