たとえば、https://cloudpln.pbcs.us1.oraclecloud.comおよびhttps://testcloudpln.pbcs.us1.oraclecloud.comのPlanningアプリケーション・キューブを同時にリフレッシュする必要がある場合があります。このシナリオには、2つのオプションがあります。
同じディレクトリからEPM自動化の2つのインスタンスを実行して、様々な環境内のアプリケーション・キューブをリフレッシュします
複数の異なるディレクトリからEPM自動化を実行してこれらの環境に接続してから、アプリケーション・キューブをリフレッシュします
どちらのシナリオでも、各インスタンスは別々に作動します。1つのインスタンスからログアウトしても、その他のインスタンスからはログアウトしません。その他のインスタンスからサインアウトした場合でも、EPM自動化を使用して開始されたアクティビティは、その環境で完了するまで実行を継続します。
この項には、2つのEPM自動化セッションを作成してタスクを実行するために使用できるWindowsおよびUnix/Linuxのサンプル・スクリプト(callerおよびmultisession)が記載されています。複数の同時セッションを実行するには、次の接続情報をcallerスクリプト(multisessionスクリプトをコールしてlogin、uploadfile、listfilesおよびlogoutコマンドを実行する)に追加する必要があります。これらのコマンド以外のタスクを実行するためにmultisessionスクリプトを変更できます。これら両方のスクリプトが同じディレクトリに格納されていることを確認してください。
EPM自動化では、環境変数EPM_SIDを使用して複数のセッションを区別します。この変数は、callerスクリプトでセッションごとに一意の値に設定する必要があります。サンプル・スクリプトでは、次のように一意の値が設定されています:
caller.BATでは、EPM_SIDに!RANDOM!が設定され、これによって一意のシステム生成番号が割り当てられます。この番号は、各セッションのログ・ファイルの生成にも使用されます。各セッションのログ・ファイルを追跡する必要がある場合は、!RANDOM!のかわりに一意の番号を指定できます。
caller.shでは、EPM_SIDには一意のプロセスIDが設定されます。各セッションのログ・ファイルを追跡する必要がある場合に、一意のEPM_SIDを指定するには、渡された値を使用するようにmultisessionスクリプトのexport EPM_SID=$$文を変更した後、各セッションのcallerスクリプトでこのパラメータに一意の値を渡します。たとえば、caller.shではEPM SIDの値を次のように指定します:
$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
PASSWORD: サービス管理者のパスワード
URL: 環境の接続URL
サンプルの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
サンプルのBourne Shellスクリプト
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