Hallo zusammen,
ich habe folgendes "Problem": Ich habe einen Datenbankserver mit CentOS 6. Innerhalb der Datenbank habe ich Backupjobs konfiguriert, die Linuxskripte und somit das eigentliche Backup ausführen.
Nun ist allerdings bei Oracle das Problem, dass ich beim Skriptaufruf keine Aufrufparameter mitgeben darf. Oracle schneidet alles nach dem ersten blank ab, somit fallen die Parameter ins Nirvana.
Da ich aber mehrere Skripte habe, die gleiche Parameter (zur Zeit als Variablen) nutzen, habe ich gedacht, es müsste einen anderen Weg geben. Ein Kollege sagte mir dann, es wäre möglich, eine allgemeine Parameterdatei zu erstellen, in der die Parameter, die jedes Skript benötigt, eingetragen werden und die Skripte dann einfach auf diese Parameterdatei zugreifen, eine .profile sozusagen für die Skripte.
Nur leider finde ich im Netz nicht viel dazu. Weis einer von euch, ob das wirklich geht und, vor allem, wie?
Für die Skripte nutze ich die Kornshell. Für jeden Interessierten hier mal das Skript:
Danke euch schon mal im voraus für jede brauchbare Antwort!
Grüße,
David
ich habe folgendes "Problem": Ich habe einen Datenbankserver mit CentOS 6. Innerhalb der Datenbank habe ich Backupjobs konfiguriert, die Linuxskripte und somit das eigentliche Backup ausführen.
Nun ist allerdings bei Oracle das Problem, dass ich beim Skriptaufruf keine Aufrufparameter mitgeben darf. Oracle schneidet alles nach dem ersten blank ab, somit fallen die Parameter ins Nirvana.
Da ich aber mehrere Skripte habe, die gleiche Parameter (zur Zeit als Variablen) nutzen, habe ich gedacht, es müsste einen anderen Weg geben. Ein Kollege sagte mir dann, es wäre möglich, eine allgemeine Parameterdatei zu erstellen, in der die Parameter, die jedes Skript benötigt, eingetragen werden und die Skripte dann einfach auf diese Parameterdatei zugreifen, eine .profile sozusagen für die Skripte.
Nur leider finde ich im Netz nicht viel dazu. Weis einer von euch, ob das wirklich geht und, vor allem, wie?
Für die Skripte nutze ich die Kornshell. Für jeden Interessierten hier mal das Skript:
Code:
#!/bin/ksh
###############################################################################
# description:
# this script deletes all obsolete and expired backups from Oracle RMAN and send a report about that
# to entered email address
# AUTHOR : xxxxx
# VERSION: 0.1
# $Id$
# $HeadURL$
###############################################################################
# *****************************************************************************
# declarations
# *****************************************************************************
export ORACLE_SID=xxx
export ORACLE_HOME=xxx
export ORACLE_BIN=$ORACLE_HOME/bin
export ORACLE_REPORT=$ORACLE_HOME/reports
alias RMAN=$ORACLE_BIN/rman
host=$( /bin/hostname -s )
mail=xxx@yyy.com
# *****************************************************************************
# functions
# *****************************************************************************
usage() {
print -u2 "\nusage ${0##*/} with no options\n"
exit 1
}
program_arguments_ok() {
[ $# -eq 0 ] || return 1
}
delete_obsolete_backups() {
RMAN target / > $ORACLE_REPORT/report_del_obsolete 2>&1 <<EOI
delete noprompt obsolete;
delete noprompt expired backup;
quit
EOI
}
send_report_mail() {
report=$( cat $ORACLE_REPORT/report_del_obsolete )
echo "$report" | mail -s "$host: abgelaufene Backups geloescht!" "$mail"
}
# *****************************************************************************
# main
# *****************************************************************************
program_arguments_ok || usage
delete_obsolete_backups
send_report_mail
Grüße,
David