script for oracle ASM header backup

script for oracle ASM header backup

script name: disk_asmheader_backup.sh

#!/bin/sh
PATH=$PATH:/usr/local/bin;export PATHTIMESTAMP=`date +%Y%m%d`

host=`hostname`

export ORACLE_SID=`ps -ef | grep pmon | grep +ASM | grep -v “grep pmon” | cut -f3 -d_`
export ORACLE_HOME=`grep -e “^$ORACLE_SID” /etc/oratab | awk -F: ‘{print $2}’`

# Creating backup destination if not exists

export BACKUP_DEST=/home/oracle/${host}/${ORACLE_SID}

if [[ ! -e $BACKUP_DEST ]]; then
mkdir -p $BACKUP_DEST
fi

# Setting Oracle Environment
# export ORAENV_ASK=NO
# . /usr/local/bin/oraenv

# Backing up ASM header

$ORACLE_HOME/bin/asmcmd md_backup ${BACKUP_DEST}/ASMheader_$TIMESTAMP.bkp > ${BACKUP_DEST}/ASMheader_$TIMESTAMP.log

# Check the return code

if [[ $? != 0 ]]; then
mailx -s “ASM Header Backup ERROR on ${host}” dba@ajara.tech < /home/oracle/${host}/disk_asmheader_backup.log
#else
# mailx -s “ASM Header Backup SUCCESSFUL on ${host}” dba@ajara.tech < /home/oracle/${host}/disk_asmheader_backup.log
fi

# Deleting old backups and logs

find $BACKUP_DEST/ASMheader*.log -mtime +14 -exec rm -f {} \; >/dev/null 2>&1
find $BACKUP_DEST/ASMheader*.bkp -mtime +14 -exec rm -f {} \; >/dev/null 2>&1

exit

crontab entry

##ASm header backup
10  06 * * * /home/oracle/scripts/backup/disk_asmheader_backup.sh > /home/oracle/scripts/backup/ORCLP01/disk_asmheader_backup.log 2>&1

Sample o/p

This execution creates 2 files
orasrvr001:/home/oracle/orasrvr001/+ASM:SID=ORCLP01 > ls -ltr
total 64
-rw-r–r– 1 oracle oinstall 25598 Oct 18 13:44 ASMheader_20231018.bkp
-rw-r–r– 1 oracle oinstall 589 Oct 18 13:44 ASMheader_20231018.log

 

1st file content

orasrvr001:/home/oracle/orasrvr001/+ASM:SID=ORCLP01 > cat ASMheader_20231018.bkp
@diskgroup_set = (
{
‘ALIASINFO’ => {
‘1’ => {
‘DGNAME’ => ‘DATA’,
‘ALIASNAME’ => ‘ORCLP01’,
‘SYSTEM_CREATED’ => ‘Y’,
‘LEVEL’ => 0,
‘REFERENCE_INDEX’ => ‘16777428’
},
‘0’ => {
‘LEVEL’ => 0,
‘REFERENCE_INDEX’ => ‘16777269’,
‘ALIASNAME’ => ‘ASM’,
‘SYSTEM_CREATED’ => ‘Y’,
‘DGNAME’ => ‘DATA’
}
},
‘TEMPLATEINFO’ => {
‘7’ => {
‘DGNAME’ => ‘DATA’,
‘REDUNDANCY’ => ‘UNPROT’,
‘SYSTEM’ => ‘Y’,
‘TEMPNAME’ => ‘FLASHBACK’,
‘STRIPE’ => ‘COARSE’
},
’12’ => {
‘REDUNDANCY’ => ‘UNPROT’,
‘DGNAME’ => ‘DATA’,
‘STRIPE’ => ‘COARSE’,
‘SYSTEM’ => ‘Y’,
‘TEMPNAME’ => ‘XTRANSPORT BACKUPSET’
},
‘6’ => {
‘REDUNDANCY’ => ‘UNPROT’,
‘DGNAME’ => ‘DATA’,
‘STRIPE’ => ‘COARSE’,
‘SYSTEM’ => ‘Y’,
‘TEMPNAME’ => ‘KEY_STORE’
},
’20’ => {
‘STRIPE’ => ‘COARSE’,
‘SYSTEM’ => ‘Y’,
‘TEMPNAME’ => ‘DUMPSET’,
‘REDUNDANCY’ => ‘UNPROT’,
‘DGNAME’ => ‘DATA’
},
’11’ => {
‘SYSTEM’ => ‘Y’,
‘TEMPNAME’ => ‘INCR XTRANSPORT BACKUPSET’,
‘STRIPE’ => ‘COARSE’,
‘DGNAME’ => ‘DATA’,
‘REDUNDANCY’ => ‘UNPROT’
},
‘2’ => {
‘DGNAME’ => ‘DATA’,
‘REDUNDANCY’ => ‘UNPROT’,
‘SYSTEM’ => ‘Y’,
‘TEMPNAME’ => ‘OCRFILE’,
‘STRIPE’ => ‘COARSE’
},
‘9’ => {
‘DGNAME’ => ‘DATA’,
‘REDUNDANCY’ => ‘UNPROT’,
‘TEMPNAME’ => ‘XTRANSPORT’,
‘SYSTEM’ => ‘Y’,
‘STRIPE’ => ‘COARSE’
},
‘1’ => {
‘TEMPNAME’ => ‘ASMPARAMETERFILE’,
‘SYSTEM’ => ‘Y’,
‘STRIPE’ => ‘COARSE’,
‘DGNAME’ => ‘DATA’,
‘REDUNDANCY’ => ‘UNPROT’
},
‘4’ => {
‘STRIPE’ => ‘COARSE’,
‘TEMPNAME’ => ‘AUDIT_SPILLFILES’,
‘SYSTEM’ => ‘Y’,
‘REDUNDANCY’ => ‘UNPROT’,
‘DGNAME’ => ‘DATA’
},
’15’ => {
‘REDUNDANCY’ => ‘UNPROT’,
‘DGNAME’ => ‘DATA’,
‘STRIPE’ => ‘COARSE’,
‘TEMPNAME’ => ‘DATAFILE’,
‘SYSTEM’ => ‘Y’
},
’16’ => {
‘STRIPE’ => ‘COARSE’,
‘SYSTEM’ => ‘Y’,
‘TEMPNAME’ => ‘ONLINELOG’,
‘REDUNDANCY’ => ‘UNPROT’,
‘DGNAME’ => ‘DATA’
},
‘3’ => {
‘STRIPE’ => ‘COARSE’,
‘TEMPNAME’ => ‘DATAGUARDCONFIG’,
‘SYSTEM’ => ‘Y’,
‘REDUNDANCY’ => ‘UNPROT’,
‘DGNAME’ => ‘DATA’
},
’13’ => {
‘SYSTEM’ => ‘Y’,
‘TEMPNAME’ => ‘BACKUPSET’,
‘STRIPE’ => ‘COARSE’,
‘DGNAME’ => ‘DATA’,
‘REDUNDANCY’ => ‘UNPROT’
},
’19’ => {
‘STRIPE’ => ‘FINE’,
‘SYSTEM’ => ‘Y’,
‘TEMPNAME’ => ‘CONTROLFILE’,
‘REDUNDANCY’ => ‘UNPROT’,
‘DGNAME’ => ‘DATA’
},
‘0’ => {
‘STRIPE’ => ‘COARSE’,
‘TEMPNAME’ => ‘PARAMETERFILE’,
‘SYSTEM’ => ‘Y’,
‘REDUNDANCY’ => ‘UNPROT’,
‘DGNAME’ => ‘DATA’
},
’17’ => {
‘SYSTEM’ => ‘Y’,
‘TEMPNAME’ => ‘ARCHIVELOG’,
‘STRIPE’ => ‘COARSE’,
‘DGNAME’ => ‘DATA’,
‘REDUNDANCY’ => ‘UNPROT’
},
‘8’ => {
‘STRIPE’ => ‘COARSE’,
‘TEMPNAME’ => ‘CHANGETRACKING’,
‘SYSTEM’ => ‘Y’,
‘REDUNDANCY’ => ‘UNPROT’,
‘DGNAME’ => ‘DATA’
},
‘5’ => {
‘DGNAME’ => ‘DATA’,
‘REDUNDANCY’ => ‘UNPROT’,
‘SYSTEM’ => ‘Y’,
‘TEMPNAME’ => ‘AUTOLOGIN_KEY_STORE’,
‘STRIPE’ => ‘COARSE’
},
’10’ => {
‘STRIPE’ => ‘COARSE’,
‘SYSTEM’ => ‘Y’,
‘TEMPNAME’ => ‘AUTOBACKUP’,
‘REDUNDANCY’ => ‘UNPROT’,
‘DGNAME’ => ‘DATA’
},
’18’ => {
‘STRIPE’ => ‘COARSE’,
‘TEMPNAME’ => ‘FLASHFILE’,
‘SYSTEM’ => ‘Y’,
‘REDUNDANCY’ => ‘UNPROT’,
‘DGNAME’ => ‘DATA’
},
’14’ => {
‘STRIPE’ => ‘COARSE’,
‘TEMPNAME’ => ‘TEMPFILE’,
‘SYSTEM’ => ‘Y’,
‘REDUNDANCY’ => ‘UNPROT’,
‘DGNAME’ => ‘DATA’
},
’21’ => {
‘TEMPNAME’ => ‘VOTINGFILE’,
‘SYSTEM’ => ‘Y’,
‘STRIPE’ => ‘COARSE’,
‘DGNAME’ => ‘DATA’,
‘REDUNDANCY’ => ‘UNPROT’
}
},
‘DGINFO’ => {
‘DGNAME’ => ‘DATA’,
‘DGTYPE’ => ‘EXTERN’,
‘DGDBCOMPAT’ => ‘10.1.0.0.0’,
‘DGTORESTORE’ => 0,
‘DGAUSZ’ => ‘1048576’,
‘DGCOMPAT’ => ‘12.1.0.0.0’
},
‘DISKSINFO’ => {
‘DATA_0000’ => {
‘DATA_0000’ => {
‘FAILGROUP’ => ‘DATA_0000’,
‘TOTAL_MB’ => ‘81920’,
‘PATH’ => ‘/dev/rhdiskpower1’,
‘QUORUM’ => ‘REGULAR’,
‘NAME’ => ‘DATA_0000’,
‘DGNAME’ => ‘DATA’
}
}
},
‘ATTRINFO’ => {
‘COMPATIBLE.ASM’ => ‘12.1.0.0.0’,
‘_._DIRVERSION’ => ‘12.1.0.0.0’,
‘COMPATIBLE.RDBMS’ => ‘10.1.0.0.0’
}
},
{
‘TEMPLATEINFO’ => {
‘8’ => {
‘SYSTEM’ => ‘Y’,
‘TEMPNAME’ => ‘AUTOBACKUP’,
‘STRIPE’ => ‘COARSE’,
‘DGNAME’ => ‘FRA’,
‘REDUNDANCY’ => ‘UNPROT’
},
’10’ => {
‘TEMPNAME’ => ‘XTRANSPORT BACKUPSET’,
‘SYSTEM’ => ‘Y’,
‘STRIPE’ => ‘COARSE’,
‘DGNAME’ => ‘FRA’,
‘REDUNDANCY’ => ‘UNPROT’
},
‘5’ => {
‘DGNAME’ => ‘FRA’,
‘REDUNDANCY’ => ‘UNPROT’,
‘SYSTEM’ => ‘Y’,
‘TEMPNAME’ => ‘FLASHBACK’,
‘STRIPE’ => ‘COARSE’
},
’18’ => {
‘DGNAME’ => ‘FRA’,
‘REDUNDANCY’ => ‘UNPROT’,
‘TEMPNAME’ => ‘DUMPSET’,
‘SYSTEM’ => ‘Y’,
‘STRIPE’ => ‘COARSE’
},
’21’ => {
‘REDUNDANCY’ => ‘UNPROT’,
‘DGNAME’ => ‘FRA’,
‘STRIPE’ => ‘COARSE’,
‘TEMPNAME’ => ‘DATAGUARDCONFIG’,
‘SYSTEM’ => ‘Y’
},
’14’ => {
‘STRIPE’ => ‘COARSE’,
‘SYSTEM’ => ‘Y’,
‘TEMPNAME’ => ‘ONLINELOG’,
‘REDUNDANCY’ => ‘UNPROT’,
‘DGNAME’ => ‘FRA’
},
‘4’ => {
‘REDUNDANCY’ => ‘UNPROT’,
‘DGNAME’ => ‘FRA’,
‘STRIPE’ => ‘COARSE’,
‘SYSTEM’ => ‘Y’,
‘TEMPNAME’ => ‘KEY_STORE’
},
‘1’ => {
‘DGNAME’ => ‘FRA’,
‘REDUNDANCY’ => ‘UNPROT’,
‘SYSTEM’ => ‘Y’,
‘TEMPNAME’ => ‘OCRFILE’,
‘STRIPE’ => ‘COARSE’
},
’15’ => {
‘REDUNDANCY’ => ‘UNPROT’,
‘DGNAME’ => ‘FRA’,
‘STRIPE’ => ‘COARSE’,
‘SYSTEM’ => ‘Y’,
‘TEMPNAME’ => ‘ARCHIVELOG’
},
’16’ => {
‘DGNAME’ => ‘FRA’,
‘REDUNDANCY’ => ‘UNPROT’,
‘SYSTEM’ => ‘Y’,
‘TEMPNAME’ => ‘FLASHFILE’,
‘STRIPE’ => ‘COARSE’
},
‘3’ => {
‘DGNAME’ => ‘FRA’,
‘REDUNDANCY’ => ‘UNPROT’,
‘SYSTEM’ => ‘Y’,
‘TEMPNAME’ => ‘AUTOLOGIN_KEY_STORE’,
‘STRIPE’ => ‘COARSE’
},
’13’ => {
‘STRIPE’ => ‘COARSE’,
‘TEMPNAME’ => ‘DATAFILE’,
‘SYSTEM’ => ‘Y’,
‘REDUNDANCY’ => ‘UNPROT’,
‘DGNAME’ => ‘FRA’
},
’19’ => {
‘DGNAME’ => ‘FRA’,
‘REDUNDANCY’ => ‘UNPROT’,
‘TEMPNAME’ => ‘VOTINGFILE’,
‘SYSTEM’ => ‘Y’,
‘STRIPE’ => ‘COARSE’
},
‘0’ => {
‘TEMPNAME’ => ‘PARAMETERFILE’,
‘SYSTEM’ => ‘Y’,
‘STRIPE’ => ‘COARSE’,
‘DGNAME’ => ‘FRA’,
‘REDUNDANCY’ => ‘UNPROT’
},
’17’ => {
‘DGNAME’ => ‘FRA’,
‘REDUNDANCY’ => ‘UNPROT’,
‘SYSTEM’ => ‘Y’,
‘TEMPNAME’ => ‘CONTROLFILE’,
‘STRIPE’ => ‘FINE’
},
‘2’ => {
‘DGNAME’ => ‘FRA’,
‘REDUNDANCY’ => ‘UNPROT’,
‘TEMPNAME’ => ‘AUDIT_SPILLFILES’,
‘SYSTEM’ => ‘Y’,
‘STRIPE’ => ‘COARSE’
},
‘9’ => {
‘REDUNDANCY’ => ‘UNPROT’,
‘DGNAME’ => ‘FRA’,
‘STRIPE’ => ‘COARSE’,
‘TEMPNAME’ => ‘INCR XTRANSPORT BACKUPSET’,
‘SYSTEM’ => ‘Y’
},
‘7’ => {
‘STRIPE’ => ‘COARSE’,
‘SYSTEM’ => ‘Y’,
‘TEMPNAME’ => ‘XTRANSPORT’,
‘REDUNDANCY’ => ‘UNPROT’,
‘DGNAME’ => ‘FRA’
},
’12’ => {
‘REDUNDANCY’ => ‘UNPROT’,
‘DGNAME’ => ‘FRA’,
‘STRIPE’ => ‘COARSE’,
‘TEMPNAME’ => ‘TEMPFILE’,
‘SYSTEM’ => ‘Y’
},
‘6’ => {
‘STRIPE’ => ‘COARSE’,
‘TEMPNAME’ => ‘CHANGETRACKING’,
‘SYSTEM’ => ‘Y’,
‘REDUNDANCY’ => ‘UNPROT’,
‘DGNAME’ => ‘FRA’
},
’20’ => {
‘STRIPE’ => ‘COARSE’,
‘SYSTEM’ => ‘Y’,
‘TEMPNAME’ => ‘ASMPARAMETERFILE’,
‘REDUNDANCY’ => ‘UNPROT’,
‘DGNAME’ => ‘FRA’
},
’11’ => {
‘TEMPNAME’ => ‘BACKUPSET’,
‘SYSTEM’ => ‘Y’,
‘STRIPE’ => ‘COARSE’,
‘DGNAME’ => ‘FRA’,
‘REDUNDANCY’ => ‘UNPROT’
}
},
‘ALIASINFO’ => {
‘0’ => {
‘REFERENCE_INDEX’ => ‘33554485’,
‘LEVEL’ => 0,
‘SYSTEM_CREATED’ => ‘Y’,
‘ALIASNAME’ => ‘ORCLP01’,
‘DGNAME’ => ‘FRA’
}
},
‘DGINFO’ => {
‘DGCOMPAT’ => ‘12.1.0.0.0’,
‘DGAUSZ’ => ‘1048576’,
‘DGDBCOMPAT’ => ‘10.1.0.0.0’,
‘DGTYPE’ => ‘EXTERN’,
‘DGNAME’ => ‘FRA’,
‘DGTORESTORE’ => 0
},
‘DISKSINFO’ => {
‘FRA_0000’ => {
‘FRA_0000’ => {
‘PATH’ => ‘/dev/rhdiskpower2’,
‘FAILGROUP’ => ‘FRA_0000’,
‘TOTAL_MB’ => ‘81920’,
‘DGNAME’ => ‘FRA’,
‘NAME’ => ‘FRA_0000’,
‘QUORUM’ => ‘REGULAR’
}
}
},
‘ATTRINFO’ => {
‘COMPATIBLE.ASM’ => ‘12.1.0.0.0’,
‘_._DIRVERSION’ => ‘12.1.0.0.0’,
‘COMPATIBLE.RDBMS’ => ‘10.1.0.0.0’
}
}
);
orasrvr001:/home/oracle/orasrvr001/+ASM:SID=ORCLP01 >

Second (ASMheader_20231018.log) file content

Disk group metadata to be backed up: DATA
Disk group metadata to be backed up: FRA
Current alias directory path: ORCLP01/CONTROLFILE
Current alias directory path: ASM/PASSWORD
Current alias directory path: ORCLP01/TEMPFILE
Current alias directory path: ASM
Current alias directory path: ORCLP01
Current alias directory path: ORCLP01/PARAMETERFILE
Current alias directory path: ASM/ASMPARAMETERFILE
Current alias directory path: ORCLP01/ONLINELOG
Current alias directory path: ORCLP01/DATAFILE
Current alias directory path: ORCLP01
Current alias directory path: ORCLP01/CONTROLFILE

See also