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