Beispiel: Sie müssen den Cube der Planning-Anwendung unter https://cloudpln.pbcs.us1.oraclecloud.com
und https://testcloudpln.pbcs.us1.oraclecloud.com
möglicherweise gleichzeitig aktualisieren. In diesem Szenario haben Sie zwei Möglichkeiten:
Zwei Instanzen von EPM Automate aus demselben Verzeichnis ausführen, um Anwendungs-Cubes in verschiedenen Umgebungen zu aktualisieren
EPM Automate aus separaten Verzeichnissen ausführen, um eine Verbindung zu den Umgebungen herzustellen und dann die Anwendungs-Cubes zu aktualisieren
In beiden Szenarios arbeiten die Instanzen von EPM Automate unabhängig voneinander. Beim Abmelden von einer Instanz werden Sie nicht von anderen Instanzen abgemeldet. Aktivitäten, die mit EPM Automate initiiert wurden, werden in der Umgebung weiterhin bis zum Abschluss ausgeführt, auch wenn Sie sich von der anderen Instanz abmelden.
Dieser Abschnitt enthält Beispielskripte für Windows und Unix/Linux (caller
und multisession
), mit denen zwei EPM Automate-Sessions zum Ausführen von Aufgaben erstellt werden können. Um mehrere Sessions gleichzeitig auszuführen, müssen Sie folgende Verbindungsinformationen im caller
-Skript hinzufügen. Damit wird das multisession
-Skript zum Ausführen der Befehle login
, uploadfile
, listfiles
und logout
aufgerufen. Sie können das multisession
-Skript ändern, um damit andere Aufgaben als diese auszuführen. Stellen Sie sicher, dass beide Skripte in demselben Verzeichnis gespeichert sind.
EPM Automate verwendet die Umgebungsvariable EPM_SID
, um mehrere Sessions zu unterscheiden. Diese Variable muss im Aufruferskript für jede Session auf einen eindeutigen Wert gesetzt sein. In den Beispielskripten ist sie wie folgt auf eindeutige Werte gesetzt:
In caller.BAT
ist EPM_SID
auf !RANDOM!
gesetzt. Dadurch wird der ID eine eindeutige systemgenerierte Zahl zugewiesen. Diese Zahl wird auch zum Generieren der Logdateien für jede Session verwendet. Wenn Sie die Logdatei für jede Session verfolgen möchten, können Sie eine eindeutige Zahl anstelle von !RANDOM!
angeben.
In caller.sh
, ist EPM_SID
auf die Prozess-ID gesetzt, die eindeutig ist. Wenn Sie die Logdatei für jede Session verfolgen möchten, können Sie einen eindeutigen Wert für EPM_SID
angeben, indem Sie die Anweisung export EPM_SID=$$
im multisession
-Skript ändern, sodass der übergebene Wert verwendet wird, und dann einen eindeutigen Wert für diesen Parameter in das caller
-Skript für jede Session übergeben, indem Sie z.B. wie folgt den Wert von EPM SID
in caller.sh
angeben:
$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
: Anmelde-ID eines Serviceadministrators
PASSWORD
: Kennwort des Serviceadministrators
URL
: Verbindungs-URL der Umgebung
Windows-Beispielskripte
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
Bourne-Shell-Beispielskript
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