2026-03-12 20:23:15
This commit is contained in:
48
vdh/adrci_cleanup.sh
Normal file
48
vdh/adrci_cleanup.sh
Normal file
@@ -0,0 +1,48 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
### sets the short and long retention policy for all oracle homes
|
||||
### and issues a purge for all non rdbms homes (smon automatically runs a purge once every 7 days)
|
||||
###
|
||||
### run as Oracle owner, expects no role separation between Oracle and GI
|
||||
### advice to schedule this once a week
|
||||
###
|
||||
### adrci_cleanup.sh [ORACLE_HOME] [adrci base] [short policy duration] [long policy duration]
|
||||
|
||||
|
||||
export ORACLE_HOME=${1:-/u01/app/oracle/product/18.0.0.0/dbhome_1}
|
||||
ADRCI=${ORACLE_HOME}/bin/adrci
|
||||
adrci_base=${2:-/u01/app/oracle}
|
||||
#short: script default 7 days, used for TRACE, CDUMP, UTSCDMP, IPS
|
||||
shortp_policy=${3:-168}
|
||||
#long: script default 31 days, used for ALERT, INCIDENT, SWEEP, STAGE, HM
|
||||
longp_policy=${4:-744}
|
||||
|
||||
### loops through the adrci homes and sets the short and long policy
|
||||
echo
|
||||
echo set policies
|
||||
echo using ${adrci_base} as adrci_bash
|
||||
echo
|
||||
for home in $(${ADRCI} exec="set base ${adrci_base}; show homes" | egrep -e "/rdbms/|/tnslsnr/|/asm/")
|
||||
do
|
||||
echo set policy for ${home}
|
||||
${ADRCI} exec="set homepath ${home}; set control \(SHORTP_POLICY = ${shortp_policy}, LONGP_POLICY = ${longp_policy}\)"
|
||||
done
|
||||
|
||||
|
||||
### loop through the non database homes and issue the purge (db homes are done by smon automatically every 7 days)
|
||||
### ---> changed to do rdbms homes as wel due to bug 29021413 (see MOS Note Doc ID 2572977.1 - ADR Files are not purged automatically)
|
||||
echo
|
||||
echo purging non rdbms homes
|
||||
echo using ${adrci_base} as adrci_bash
|
||||
echo
|
||||
start=$SECONDS
|
||||
for home in $(${ADRCI} exec="set base ${adrci_base}; show homes" | egrep -e "/rdbms/|/tnslsnr/|/asm/")
|
||||
do
|
||||
echo Purging home ${home}
|
||||
homestart=$SECONDS
|
||||
${ADRCI} exec="set homepath ${home}; purge"
|
||||
echo Duration: $(date -u -d "0 $SECONDS sec - ${homestart} sec" +"%H:%M:%S")
|
||||
echo
|
||||
done
|
||||
echo Total duration: $(date -u -d "0 $SECONDS sec - ${start} sec" +"%H:%M:%S")
|
||||
|
||||
Reference in New Issue
Block a user