執行 EPM Automate 的多個例項

您可以針對相同目錄中的某個環境執行 EPM Automate 的多個例項。同樣地,您可以針對來自相同或不同目錄的不同環境執行 EPM Automate 的多個例項。

例如,您可能需要同時重新整理 https://cloudpln.pbcs.us1.oraclecloud.comhttps://testcloudpln.pbcs.us1.oraclecloud.com 中的 Planning 應用程式立方體。在此案例中,您有兩個選項:

  • 從相同目錄執行 EPM Automate 的兩個例項,以重新整理不同環境中的應用程式立方體

  • 從單獨的目錄執行 EPM Automate 以連接到環境,然後重新整理應用程式立方體

在兩種情況下,EPM Automate 的每個例項皆獨立運作;登出某個例項不會讓您登出另一個例項。即使您登出其他例項,使用 EPM Automate 啟動的活動也會繼續在環境中執行完畢。

本節包含 Windows 和 Unix/Linux 範例指令碼 (callermultisession),其可用於建立兩個 EPM Automate 階段作業以執行任務。若要執行多個階段作業,您必須在 caller 指令碼中新增下列連線資訊,此指令碼會呼叫 multisession 指令碼以執行 loginuploadfilelistfileslogout 命令。您可以修改 multisession 指令碼以執行這些以外的任務。確保這兩個指令碼都儲存在相同目錄中。

  • EPM Automate 使用環境變數 EPM_SID 來區分多個階段作業。此變數必須在 caller 指令碼中針對每個階段作業設為唯一值。在範例指令碼中,將其設為唯一值的方式如下:

    • caller.BAT 中,EPM_SID 是設為 !RANDOM!,這會為其指派一個唯一的系統產生號碼。此號碼也用來為每個階段作業產生日誌檔。如果您想要追蹤每個階段作業的日誌檔,您可以指定一個唯一的號碼來取代 !RANDOM!

    • caller.sh 中,EPM_SID 是設為程序 ID,這是唯一的。如果您想要追蹤每個階段作業的日誌檔,您可以將 multisession 指令碼的 export EPM_SID=$$ 陳述式修改成使用傳入值來指定唯一 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