Created
July 8, 2015 13:20
-
-
Save Silvarion/d8de05914a76b605dfa1 to your computer and use it in GitHub Desktop.
Revisions
-
Silvarion created this gist
Jul 8, 2015 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,82 @@ #!/bin/ksh ########################### ## ## File: apply_to_all.ksh ## ## Author: Jesus Sanchez ([email protected]) ## ## Changelog: ## 2015-05-11 Jesus Sanchez Created this script ## ###################################################################### ############### ## FUNCTIONS ## ############### ##################### # Utility Functions # ##################### export LAUNCH_DIR=`pwd` export SOURCE_DIR=$( cd -P -- "$(dirname -- "$(command -v -- "$0")")" && pwd -P ) source $SOURCE_DIR/utility_functions.ksh export TEMPDIR=$LAUNCH_DIR function printUsage { print "USAGE: this script has exlusive modes for running." print "FILE MODE: PATH/TO/SCRIPT/apply_to_all_db.ksh -f <FILENAME>" print "COMMAND MODE: PATH/TO/SCRIPT/apply_to_all_db.ksh -c <DOUBLE-QUOTED COMMAND ENDED BY SEMICOLON>" } ######################### # Function: crawl # # Description: this function will look for pmon running processes, # gather instance names and "crawl" through them, running the # command/SQL file on each instance on the same host. # # Usage: # ######################################################## function crawl { ## Crawl through databases and execute command/file for DBNAME in $(ps -ef | grep pmon | cut -d"_" -s -f3 | grep -v ASM) do . oraenv <<_EOORA_ ${DBNAME} _EOORA_ sqlplus / as sysdba<<_EOSQL_ select global_name from global_name; !echo "[INFO] About to execute: $1"; $1 exit _EOSQL_ done msgPrint -info "All done!!!" } ## MAIN ALGORITHM ## ## Check parameters ## if [[ -z $2 ]]; then printUsage else if [[ $1 = "-f" ]]; then msgPrint -info "Using file mode" crawl "@${2}" elif [[ $1 = "-c" ]]; then msgPrint -info "Using command mode" crawl "${2}" else printUsage fi fi exit 0