Hi all!
So, today just sharing some useful scripts to configure, set and check on databases and users.
This is specially useful for environments with several databases under different users, considering a possible server consolidation strategy.
# Script to Check on Current Configuration:
[root@greporasrv ~]# cat adrci-check.sh su - $1 -c 'export ORAENV_ASK=NO ; ORACLE_SID=$2 ; . oraenv ; for f in $(adrci exec="show homes" | grep -v "ADR Homes:" | grep -v "clients") ; do adrci exec="set home $f; show control;" ; done'
# Script to Set New Configuration
On this example: (SHORTP_POLICY = 168, LONGP_POLICY = 720).
[root@greporasrv ~]# cat adrci-set.sh ORAUSER=$1 export SID=$2 su - $ORAUSER -c 'export ORAENV_ASK=NO ; ORACLE_SID='$SID' ; . oraenv ; for f in $(adrci exec="show homes" | grep -v "ADR Homes:" | grep -v "clients") ; do adrci exec="set home $f; set control \(SHORTP_POLICY = 168, LONGP_POLICY = 720\);" ; done'
# To run them informing OSUSER and SID:
./adrci-check.sh OWNER SID ./adrci-set.sh OWNER SID
# Master one: Script to set for all DBs/Users:
[root@greporasrv ~]# cat adrci-gen.sh for h in $(grep -v "^#" /etc/oratab | awk 'BEGIN { FS=":";} {if (NF) print $2}' | sort -u) do ORAOWN=`ls -ld $h | cut -d " " -f 3` # validate user? # get a SID to use for this home SID=`grep $h /etc/oratab | grep -v '^\*:' | cut -d ":" -f 1 | tail -1` # Generating the code to check ADRCI settings on this OH ./adrci-check.sh $ORAOWN $SID # Generating the code to change ADRCI settings on this OH ./adrci-set.sh $ORAOWN $SID done
Nice, right?
Hope it helps. Cheers!
Pingback: Autonomous Health Framework – Managing logs and REST API – GREPORA
Thanks a lot for your script.
I found a small mistake. I added the line ” export ORACLE_SID=$2″
adrci-check.sh
export ORACLE_SID=$2
su – $1 -c ‘export ORAENV_ASK=NO ; ORACLE_SID=$2 ; . oraenv ; for f in $(adrci exec=”show homes” | grep -v “ADR Homes:” | grep -v “clients”) ; do adrci exec=”set home $f; show control;” ; done’