EPM自動化の複数インスタンスの実行

同一のディレクトリから1つの環境に対してEPM自動化の複数のインスタンスを実行できます。同様に、同じまたは異なるディレクトリから様々な環境に対してEPM自動化の複数のインスタンスを実行できます。

たとえば、https://cloudpln.pbcs.us1.oraclecloud.comおよびhttps://testcloudpln.pbcs.us1.oraclecloud.comのPlanningアプリケーション・キューブを同時にリフレッシュする必要がある場合があります。このシナリオには、2つのオプションがあります。

  • 同じディレクトリからEPM自動化の2つのインスタンスを実行して、様々な環境内のアプリケーション・キューブをリフレッシュします

  • 複数の異なるディレクトリからEPM自動化を実行してこれらの環境に接続してから、アプリケーション・キューブをリフレッシュします

どちらのシナリオでも、EPM自動化の各インスタンスは別々に作動します。1つのインスタンスからログアウトしても、その他のインスタンスからはログアウトしません。その他のインスタンスからサインアウトした場合でも、EPM自動化を使用して開始されたアクティビティは、その環境で完了するまで実行を継続します。

この項には、2つのEPM自動化セッションを作成してタスクを実行するために使用できるWindowsおよびUnix/Linuxのサンプル・スクリプト(callerおよびmultisession)が記載されています。複数の同時セッションを実行するには、次の接続情報をcallerスクリプト(multisessionスクリプトをコールしてloginuploadfilelistfilesおよび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