Skip to main content
SnapManager for SAP
La versione in lingua italiana fornita proviene da una traduzione automatica. Per eventuali incoerenze, fare riferimento alla versione in lingua inglese.

Visualizza script plug-in di esempio

Collaboratori

SnapManager include script che è possibile utilizzare come esempio per creare script personalizzati o come base per gli script personalizzati.

A proposito di questa attività

Gli script dei plug-in di esempio si trovano nella seguente posizione:

  • <default_install_directory>/plugins/examples/backup/create

  • <default_install_directory>/plugins/examples/clone/create

  • <default_install_directory>/plugins/unix/examples/backup/create/post

La directory che contiene gli script dei plug-in di esempio include le seguenti sottodirectory:

  • policy: Contiene script che, una volta configurati, vengono sempre eseguiti sull'operazione di clonazione.

  • pre: Contiene script che, una volta configurati, vengono eseguiti prima dell'operazione di clonazione.

  • post: Contiene script che, una volta configurati, vengono eseguiti dopo l'operazione di clonazione.

La seguente tabella descrive gli script di esempio:

Nome dello script Descrizione Tipo di script

validate_sid.sh

Contiene controlli aggiuntivi per il SID utilizzato nel sistema di destinazione. Lo script verifica che il SID abbia le seguenti caratteristiche:

  • Contiene tre caratteri alfanumerici

  • Inizia con una lettera

  • Non include i SID SAP riservati

Policy

cleanup.sh

Pulisce il sistema di destinazione in modo che sia pronto per memorizzare il clone appena creato. Conserva o elimina file e directory in base alle esigenze.

Pretask

sap_follow_up_activities.sh

Esegue attività di follow-up come descritto in SAP System Copy Guide e TR-3442, SAP con Oracle su UNIX e NFS e NetApp Storage. Ad esempio, questo script elimina o modifica le voci di tabella nello schema SAP.

Post-task

os_db_authentication.sh

Adatta l'autenticazione del sistema operativo per l'utente OPS, come raccomandato nella nota SAP 316641. Questo è un esempio di come elaborare file SQL esterni.

Post-task

Mirror_the_backup.sh

Esegue il mirroring dei volumi dopo l'esecuzione dell'operazione di backup in un ambiente UNIX quando si utilizza Data ONTAP in 7-Mode o Clustered Data ONTAP.

Post-task

Vault_the_backup_cDOT.sh

Esegue il vault del backup dopo che l'operazione di backup ha luogo in un ambiente UNIX quando si utilizza Clustered Data ONTAP.

Post-task

Gli script forniti con SnapManager utilizzano la shell BASH per impostazione predefinita. Prima di eseguire uno qualsiasi degli script di esempio, è necessario assicurarsi che il supporto per la shell BASH sia installato sul sistema operativo.

Fasi
  1. Per verificare che si stia utilizzando LA shell BASH, immettere il seguente comando al prompt dei comandi:

    bash

    Se non viene visualizzato alcun errore, LA shell BASH funziona correttamente.

    In alternativa, è possibile immettere which-bash al prompt dei comandi.

  2. Individuare lo script nella seguente directory:

    <installdir>/plugins/examples/clone/create

  3. Aprire lo script in un editor di script come vi.


Script di esempio

Il seguente script personalizzato di esempio convalida i nomi SID del database e impedisce l'utilizzo di nomi non validi nel database clonato. Include tre operazioni (check, descrivi ed esegui), che vengono chiamate dopo l'esecuzione dello script. Lo script include anche la gestione dei messaggi di errore con i codici 0, 4 e >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

Informazioni correlate