Esecuzione di più istanze di EPM Automate

È possibile eseguire più istanze di EPM Automate in un unico ambiente dalla stessa directory. Allo stesso modo, è possibile eseguire più istanze di EPM Automate in ambienti diversi dalla stessa directory o da directory diverse.

Si supponga, ad esempio, di dover aggiornare contemporaneamente il cubo dell'applicazione Planning in https://cloudpln.pbcs.us1.oraclecloud.com e https://testcloudpln.pbcs.us1.oraclecloud.com. In questo scenario, è possibile procedere in due modi:

  • Eseguire due istanze di EPM Automate dalla stessa directory per aggiornare i cubi dell'applicazione in ambienti diversi.

  • Eseguire EPM Automate da directory separate per connettersi agli ambienti e quindi aggiornare i cubi dell'applicazione.

In entrambi gli scenari, ciascuna istanza di EPM Automate funziona in modo indipendente, pertanto la disconnessione da un'istanza non comporta la disconnessione dalle altre. Le attività avviate utilizzando EPM Automate continuano fino al completamento nell'ambiente anche se si esegue la disconnessione dall'altra istanza.

In questa sezione sono contenuti script di esempio di Windows e di Unix/Linux (caller e multisession) che possono essere utilizzati per creare due sessioni di EPM Automate per eseguire i task. Per eseguire più sessioni simultanee, è necessario aggiungere le seguenti informazioni di connessione nello script caller, che richiama lo script multisession per eseguire i comandi login, uploadfile, listfiles e logout. È possibile modificare lo script multisession per eseguire task diversi da quelli indicati. Assicurarsi che entrambi gli script siano memorizzati nella stessa directory.

  • EPM Automate utilizza la variabile di ambiente EPM_SID per distinguere tra più sessioni. La variabile deve essere impostata nello script chiamante su un valore univoco per ogni sessione. Negli script di esempio è impostato su valori univoci nel modo seguente:

    • In caller.BAT, EPM_SID è impostato su !RANDOM!, che assegna un numero univoco generato dal sistema. Questo numero viene inoltre utilizzato per generare i file di log per ogni sessione. Se si desidera tenere traccia del file di log per ogni sessione, invece di !RANDOM! è possibile specificare un numero univoco.

    • In caller.sh, EPM_SID è impostato sull'ID processo, che è un valore univoco. Se si desidera tenere traccia del file di log per ogni sessione, è possibile specificare un valore univoco per EPM_SID modificando l'istruzione export EPM_SID=$$ nello script multisession in modo da utilizzare il valore passato, quindi passare un valore univoco per questo parametro nello script caller per ogni sessione, ad esempio specificando il valore di EPM SID in caller.sh nel modo seguente:

      $SCRIPT_DIR/multisession.sh EPM_SID "USERNAME" "PASSWORD" "URL" "/home/user/Snapshot1.zip" &
      $SCRIPT_DIR/multisession.sh EPM_SID "USERNAME" "PASSWORD" "URL" "/home/user/Snapshot2.zip" &
  • USERNAME: ID di accesso di un utente con ruolo Amministratore servizi

  • PASSWORD: password dell'utente con ruolo Amministratore servizi

  • URL: URL di connessione dell'ambiente

Script di esempio di Windows

caller.BAT

@echo off
setlocal EnableExtensions EnableDelayedExpansion

REM syntax: start /B multisession.bat EPM_SID "USERNAME" "PASSWORD" "URL"  "SNAPSHOTPATH"
start /B multisession.bat !RANDOM! "USERNAME" "PASSWORD" "URL" "C:\Snapshot1.zip"
start /B multisession.bat !RANDOM! "USERNAME" "PASSWORD" "URL" "C:\Snapshot2.zip"

endlocal

multisession.BAT

@echo off

set EPM_SID=%1
set USERNAME=%2
set PASSWORD=%3
set URL=%4
set SNAPSHOTNAME=%5

echo User: %USERNAME% > %EPM_SID%.log
echo Cloud Instance: %URL% >> %EPM_SID%.log

call epmautomate login %USERNAME% %PASSWORD% %URL% >> %EPM_SID%.log
call epmautomate uploadfile %SNAPSHOTNAME% >> %EPM_SID%.log
call epmautomate listfiles >> %EPM_SID%.log
call epmautomate logout

Script di esempio della shell Bourne

caller.sh
#!/bin/sh

set +x
SCRIPT_DIR=`dirname "${0}"`

# syntax: /home/user/multisession.sh "USERNAME" "PASSWORD" "URL" "SNAPSHOTPATH" &
$SCRIPT_DIR/multisession.sh "USERNAME" "PASSWORD" "URL"  "/home/user/Snapshot1.zip" &
$SCRIPT_DIR/multisession.sh "USERNAME" "PASSWORD" "URL" "/home/user/Snapshot2.zip" &
multisession.sh
#!/bin/sh

set +x

EPM_AUTOMATE_HOME=/home/user/epmautomate

export JAVA_HOME=/home/user/jre
export EPM_SID=$$

USERNAME=$1
PASSWORD=$2
URL=$3
SNAPSHOTNAME=$4

echo User: $USERNAME > $EPM_SID.log
echo Cloud Instance: $URL >> $EPM_SID.log

$EPM_AUTOMATE_HOME/bin/epmautomate.sh login $USERNAME $PASSWORD $URL >> $EPM_SID.log
$EPM_AUTOMATE_HOME/bin/epmautomate.sh uploadfile $SNAPSHOTNAME >> $EPM_SID.log
$EPM_AUTOMATE_HOME/bin/epmautomate.sh listfiles >> $EPM_SID.log
$EPM_AUTOMATE_HOME/bin/epmautomate.sh logout