EPM Automate의 여러 인스턴스 실행

EPM Automate의 여러 인스턴스를 동일한 디렉토리의 한 환경에 대해 실행할 수 있습니다. 마찬가지로, 동일한 디렉토리 또는 다른 디렉토리의 서로 다른 환경에 대해 여러 인스턴스를 실행할 수 있습니다.

예를 들어 https://cloudpln.pbcs.us1.oraclecloud.com 및 https://testcloudpln.pbcs.us1.oraclecloud.com의 서로 다른 두 환경에서 동시에 Planning 애플리케이션 큐브를 새로고침해야 할 수도 있습니다. 이 시나리오에는 두 가지 옵션이 있습니다.

동일한 디렉토리에서 두 개의 세션 실행

동일한 디렉토리에서 EPM Automate의 두 인스턴스를 실행할 수 있습니다. 한 인스턴스에서 로그아웃하더라도 다른 인스턴스에서 로그아웃되지 않고 각 인스턴스가 독립적으로 작동하도록 하기 위해 특정 스크립트를 구현해야 합니다. 이러한 스크립트는 다른 인스턴스에서 로그아웃하더라도 해당 환경에서 완료될 때까지 EPM Automate 활동이 계속 실행됩니다. 이 섹션에는 두 개의 Windows 및 Unix/Linux 샘플 스크립트(caller 및 multisession)가 포함되어 있어 동일한 디렉토리에서 두 개의 세션을 생성하는 데 사용할 수 있습니다.

여러 동시 세션을 실행하려면 caller 스크립트에 연결 정보를 추가합니다. 이 스크립트는 multisession 스크립트를 호출하여 login, uploadfile, listfiles 및 logout 명령을 실행합니다. 다른 태스크를 수행하도록 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 쉘 스크립트

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

다른 디렉토리에서 두 개의 세션 실행

UNIX/Linux 서버에서는 특정 스크립트를 작성하지 않고도 서로 다른 디렉토리에서 서로 다른 환경으로 두 개의 세션을 실행할 수 있습니다. 서로 다른 두 디렉토리에서 실행되는 EPM Automate 명령은 서로 간섭하지 않으며 서로 독립적으로 작동할 수 있습니다. 이 방법은 이전 섹션에서 언급한 특정 스크립트를 사용해야 하는 Windows 컴퓨터에서는 작동하지 않습니다.