환경 복제 자동화

이 섹션의 스크립트를 사용하여 환경 복제를 자동화할 수 있습니다.

아래와 유사한 스크립트가 포함된 뱃치(.bat) 또는 쉘(.sh) 파일을 생성하여 환경을 복제합니다. 아래 샘플 스크립트에서는 다음 활동을 처리합니다:

  • 소스 환경에 로그인합니다.
  • 소스 환경에서 사용할 수 있는 Artifact Snapshot(소스 환경의 최종 일별 유지관리 중 생성된 스냅샷) 또는 다른 스냅샷으로 타겟 환경을 소스의 복제본으로 변환합니다.
  • 선택적으로, 소스 환경과 일치하도록 사용자 및 사전 정의된 애플리케이션 역할 지정을 생성합니다.
  • 선택적으로, 일별 유지관리 시작 시간을 소스 환경의 해당 시간과 일치하도록 변경합니다.
  • 사인아웃

복제 프로세스에 대한 자세한 내용은 Oracle Enterprise Performance Management Cloud용 마이그레이션 관리 에서 "EPM Cloud 환경 복제 "를 참조하십시오.

Windows 태스크 스케줄러를 사용하여 스크립트 스케줄을 예약하는 방법에 대한 자세한 내용은 스크립트 실행 자동화를 참조하십시오.

Windows

  1. 다음 스크립트를 포함하는 cloneEnvironment.bat라는 뱃치(.BAT) 파일을 생성한 후 C:\automate_scripts 등의 편리한 위치에 저장합니다.
    @echo off
    set paramRequiredMessage=Syntax: cloneEnvironment.bat "SOURCE USERNAME" "SOURCE PASSWORD FILE" "SOURCE URL" "TARGET USERNAME" "TARGET PASSWORD FILE" "TARGET URL"
    
    set usersandpredefinedroles="false"
    set snapshotname="Artifact Snapshot"
    set dailymaintenancestarttime="true"
    set dirpath=%~dp0
    cd %dirpath:~0,-1%
    
    if "%~1" == "" (
      echo Source User Name is missing.
      echo %paramRequiredMessage%
      exit /b 1
      )
    if "%~2" == "" (
      echo Source Password File is missing.
      echo %paramRequiredMessage%
      exit /b 1
      )
    if "%~3" == "" (
      echo Source URL is missing.
      echo %paramRequiredMessage%
      exit /b 1
      )
    if "%~4" == "" (
      echo Target User Name is missing.
      echo %paramRequiredMessage%
      exit /b 1
      )
    if "%~5" == "" (
      echo Target Password File is missing.
      echo %paramRequiredMessage%
      exit /b 1
      )
    if "%~6" == "" (
      echo Target URL is missing.
      echo %paramRequiredMessage%
      exit /b 1
      )
    
    PowerShell.exe -File cloneEnvironment.ps1 %~1 %~2 %~3 %~4 %~5 %~6 %usersandpredefinedroles% %snapshotname% %dailymaintenancestarttime%
    
  2. cloneEnvironment.bat를 수정하여 다음 매개변수 값을 설정합니다.

    표 3-5 cloneEnvironment.bat에서 설정할 매개변수

    매개변수 설명
    usersandpredefinedroles 사용자 및 사전 정의된 애플리케이션 역할 지정을 복제하려면 이 매개변수 값을 true로 설정합니다.

    사용자 및 역할 지정을 복제하려면 스크립트를 실행하는 사용자가 타겟 환경에서 서비스 관리자ID 도메인 관리자 역할이 있어야 합니다.

    snapshotname 복제에 사용할 소스 환경의 스냅샷 이름입니다.
    dailymaintenancestarttime 복제된 환경의 일별 유지관리 시작 시간을 소스 환경의 해당 시간으로 변경하려면 이 매개변수 값을 true로 설정합니다. 복제된 환경의 현재 일별 유지관리 시작 시간을 유지하려면 이 값을 false로 설정합니다.
  3. 다음 스크립트가 포함된 PowerShell 스크립트 cloneEnvironment.ps1을 생성하여 cloneEnvironment.bat를 저장한 디렉토리(예: C:\automate_scripts)에 저장합니다.
    # Clone Environment script
    
    $source_username=$args[0]
    $source_password=$args[1]
    $source_url=$args[2]
    $target_username=$args[3]
    $target_password=$args[4]
    $target_url=$args[5]
    $usersandpredefinedroles=$args[6]
    $snapshotname=$args[7]
    $dailymaintenancestarttime=$args[8]
    
    epmautomate.bat login "${source_username}" "${source_password}" "${source_url}"
    epmautomate.bat cloneEnvironment "${target_username}" "${target_password}" "${target_url}" UsersAndPreDefinedRoles="${usersandpredefinedroles}" SnapshotName="${snapshotname}" DailyMaintenanceStartTime="${dailymaintenancestarttime}"
    epmautomate.bat logout
  4. 다음 명령을 사용하여 cloneEnvironment.bat를 실행합니다.
    cloneEnvironment.bat "SOURCE USERNAME" "SOURCE PASSWORD FILE" "SOURCE URL" "TARGET USERNAME" "TARGET PASSWORD FILE" "TARGET URL"
    
    예를 들어 다음과 같습니다.
    cloneEnvironment.bat jdoe@example.com C:\mySecuredir\example_pwd.epw https://source_example.oraclecloud.com jdoe@example.com C:\mySecuredir\example_pwd2.epw https://target_example.oraclecloud.com.

Linux

  1. 다음 스크립트가 포함된 쉘 스크립트 cloneEnvironment.sh를 생성하여 편리한 위치에 저장합니다.
    #!/bin/bash
    
    # Update the following parameters
    # -------------------------------
    epmautomatescript=/home/user1/epmautomate/bin/epmautomate.sh
    javahome=/home/user1/jdk1.8.0_191/
    usersandpredefinedroles="false"
    snapshotname="Artifact Snapshot"
    dailymaintenancestarttime="true"
    # -------------------------------
    
    source_username="$1"
    source_password="$2"
    source_url="$3"
    target_username="$4"
    target_password="$5"
    target_url="$6"
    
    export JAVA_HOME=${javahome}
    
    if [ "$#" -ne 6 ]; then
        echo "Usage: ./cloneEnvironment.sh <SOURCE USERNAME> <SOURCE PASSWORD FILE> <SOURCE URL> <TARGET USERNAME> <TARGET PASSWORD FILE> <TARGET URL>"
        exit 1
    fi
    
    ${epmautomatescript} login "${source_username}" "${source_password}" "${source_url}" 
    ${epmautomatescript} cloneEnvironment "${target_username}" "${target_password}" "${target_url}" UsersAndPreDefinedRoles="${usersandpredefinedroles}" SnapshotName="${snapshotname}" DailyMaintenanceStartTime="${dailymaintenancestarttime}"
    ${epmautomatescript} logout
  2. cloneEnvironment.sh를 수정하여 다음 매개변수 값을 설정합니다.

    표 3-6 cloneEnvironment.sh에서 설정할 매개변수

    매개변수 설명
    epmautomatescript EPM Automate 실행 파일의 절대 경로(epmautomate.sh)입니다.
    javahome JAVA_HOME 위치입니다.
    usersandpredefinedroles 사용자 및 사전 정의된 애플리케이션 역할 지정을 복제하려면 이 매개변수 값을 true로 설정합니다.

    사용자 및 역할 지정을 복제하려면 스크립트를 실행하는 사용자가 타겟 환경에서 서비스 관리자ID 도메인 관리자 역할이 있어야 합니다.

    snapshotname 복제에 사용할 소스 환경의 스냅샷 이름입니다.
    dailymaintenancestarttime 복제된 환경의 일별 유지관리 시작 시간을 소스 환경의 해당 시간으로 변경하려면 이 매개변수 값을 true로 설정합니다. 복제된 환경의 현재 일별 유지관리 시작 시간을 유지하려면 이 값을 false로 설정합니다.
  3. cloneEnvironment.sh를 실행합니다.
    ./cloneEnvironment.sh "SOURCE USERNAME" "SOURCE PASSWORD FILE" "SOURCE URL" "TARGET USERNAME" "TARGET PASSWORD FILE" "TARGET URL"
    
    예를 들어 다음과 같습니다.
    ./cloneEnvironment.sh jdoe@example.com ./home/secure/example_pwd.epw https://source_example.oraclecloud.com jdoe@example.com ./home/secure/example_pwd.epw2 https://target_example.oraclecloud.com.