SnapManager Oracle
Die deutsche Sprachversion wurde als Serviceleistung für Sie durch maschinelle Übersetzung erstellt. Bei eventuellen Unstimmigkeiten hat die englische Sprachversion Vorrang.

Anzeigen von Beispielskripten für das Plug-in

Beitragende

SnapManager enthält Skripte, die Sie als Beispiele dafür verwenden können, wie Sie Ihre eigenen Skripte oder als Grundlage für Ihre benutzerdefinierten Skripts erstellen.

Die Beispielskripts für das Plug-in finden Sie unter folgender Adresse:

  • <default_install_Directory>/Plugins/examples/Backup/create

  • <default_install_Directory>/Plugins/examples/Clone/create

  • <default_install_Directory>/Plugins/unix/examples/Backup/create/post

Das Verzeichnis, das die Beispiel-Plug-in-Skripte enthält, umfasst die folgenden Unterverzeichnisse:

  • Richtlinie: Enthält Skripte, die, wenn sie konfiguriert sind, immer im Klonvorgang ausgeführt werden.

  • Pre: Enthält Skripte, die, wenn konfiguriert, vor dem Klonvorgang ausgeführt werden.

  • Post: Enthält Skripte, die, wenn sie konfiguriert sind, nach dem Klonvorgang ausgeführt werden.

Die folgende Tabelle beschreibt die Beispielskripts:

Skriptname Beschreibung Skripttyp

validate_sid.sh

Enthält zusätzliche Prüfungen für den auf dem Zielsystem verwendeten SID. Das Skript überprüft, ob der SID die folgenden Eigenschaften hat:

  • Enthält drei alphanumerische Zeichen

  • Beginnt mit einem Buchstaben

Richtlinie

cleanup.sh

Reinigt das Zielsystem, so dass es bereit ist, den neu erstellten Klon zu speichern. Speichert oder löscht Dateien und Verzeichnisse je nach Bedarf.

Voraufgabe

Mirror_the_backup.sh

Spiegelung der Volumes nach dem Backup in einer UNIX-Umgebung bei Verwendung von Data ONTAP im 7-Mode oder Clustered Data ONTAP

Aufgabe einstellen

Vault_the_backup_cDOT.sh

Vaults das Backup, nachdem der Backup-Vorgang in einer UNIX-Umgebung ausgeführt wurde, wenn Sie Clustered Data ONTAP verwenden.

Aufgabe einstellen

Mit SnapManager gelieferte Skripte verwenden standardmäßig die BASH Shell. Sie müssen sicherstellen, dass die Unterstützung für DIE BASH-Shell auf Ihrem Betriebssystem installiert ist, bevor Sie versuchen, einen der Beispielskripte auszuführen.

  1. Um zu überprüfen, ob Sie die BASH-Shell verwenden, geben Sie den folgenden Befehl an der Eingabeaufforderung ein: bash

    Wenn kein Fehler auftritt, funktioniert DIE BASH-Shell ordnungsgemäß.

    Sie können alternativ den Befehl which-bash an der Eingabeaufforderung eingeben.

  2. Suchen Sie das Skript im folgenden Verzeichnis:

    <installdir>/Plugins/Beispiele/Clone/create

  3. Öffnen Sie das Skript in einem Skript-Editor wie vi.

Beispielskript

Das folgende benutzerdefinierte Beispielskript validiert die Namen der Datenbank-SID und verhindert, dass ungültige Namen in der geklonten Datenbank verwendet werden. Es umfasst drei Operationen (prüfen, beschreiben und ausführen), die aufgerufen werden, nachdem Sie das Skript ausgeführt haben. Das Skript enthält auch Fehlermeldungs-Handling mit den Codes 0, 4 und >4.

EXIT=0
name="Validate SID"
description="Validate SID used on the target system"
parameter=()

# reserved system IDs
INVALID_SIDS=("ADD" "ALL" "AND" "ANY" "ASC"
              "COM" "DBA" "END" "EPS" "FOR"
              "GID" "IBM" "INT" "KEY" "LOG"
              "MON" "NIX" "NOT" "OFF" "OMS"
              "RAW" "ROW" "SAP" "SET" "SGA"
              "SHG" "SID" "SQL" "SYS" "TMP"
              "UID" "USR" "VAR")
function _exit {
     rc=$1
     echo "Command complete."
    	return $rc}

function usage {
     echo "usage: $(basename $0) { -check | -describe | -execute }"
     _exit 99}

function describe {
    	echo "SM_PI_NAME:$name"
    	echo "SM_PI_DESCRIPTION:$description"
    	_exit 0}

function check {
    	_exit 0}

function execute {
    	IFS=\$ myEnv=$(env)
     for a in ${paramteter[@]}; do
       		key=$(echo ${$a} | awk -F':' '{ print $1 }')
         val=$(echo $myEnv | grep -i -w $key 2>/dev/null | awk -F'=' '{ print $2 }')

       		if [ -n "$val" ] ; then
              state="set to $val"
       		else
           			state="not set"
           			#indicate a FATAL error, do not continue processing
           			((EXIT=+4))
		       fi
         echo "parameter $key is $state"
     done

	######################################################################
	# additional checks
 # Use SnapManager environment variable of SM_TARGET_SID

	if [ -n "$SM_TARGET_SID" ] ; then
  		if [ ${#SM_TARGET_SID} -ne 3 ] ; then
        echo "SID is defined as a 3 digit value, [$SM_TARGET_SID] is not valid."
        EXIT=4
    else
        echo "${INVALID_SIDS[@]}" | grep -i -w $SM_TARGET_SID >/dev/null 2>&1
     			if [ $? -eq 0 ] ; then
            echo "The usage of SID [$SM_TARGET_SID] is not supported by SAP."
        				((EXIT+=4))
  		fi
	fi
	else
   		echo "SM_TARGET_SID not set"
     EXIT=4
	fi  _exit $EXIT}

# Include the 3 required operations for clone plugin
case $(echo "$1" | tr [A-Z] [a-z]) in
  -check )        check     ;;
  -describe )     describe  ;;
  -execute )      execute   ;;     	* )
		 echo "unknown option $1"    usage 		;;
esac