Automatizar a Clonagem de Ambientes

Use o script nesta seção para automatizar a clonagem de ambientes.

Crie um arquivo de lote (.bat) ou shell (.sh) contendo um script semelhante ao mostrado a seguir para clonar um ambiente. Os scripts de amostra a seguir tratam estas atividades:

  • Estabelecer conexão com o ambiente de origem.
  • Usar o Instantâneo de Artefato (o instantâneo criado durante a última manutenção diária do ambiente de origem) ou outro instantâneo disponível no ambiente de origem para converter o ambiente de destino como um clone da origem.
  • Opcionalmente, criar usuários e as respectivas atribuições de funções predefinidas e de aplicativos que correspondem às existentes no ambiente de origem.
  • Opcionalmente, alterar a hora de início da manutenção diária para corresponder à do ambiente de origem.
  • Sair.

Para obter informações detalhadas sobre o processo de clonagem, consulte "Clonagem de Ambientes do EPM Cloud " in Administração da Migração para o Oracle Enterprise Performance Management Cloud.

Consulte Automação da Execução de Scripts para obter informações sobre como programar o script usando o Agendador de Tarefas do Windows.

Windows

  1. Crie um arquivo de lote (.BAT) chamado cloneEnvironment.bat contendo o script a seguir e salve-o em um local conveniente, como, por exemplo, 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. Modifique cloneEnvironment.bat para definir os valores desses parâmetros:

    Tabela 3-5 Parâmetros para definir no cloneEnvironment.bat

    Parâmetro Descrição
    usersandpredefinedroles Defina o valor desse parâmetro como true para clonar usuários e as respectivas atribuições de funções predefinidas e de usuários.

    Para clonar atribuições de funções e usuários, o usuário que está executando o script precisa ter a função de Administrador do Serviço e ser Administrador do Domínio de Identidade no ambiente de destino.

    snapshotname O nome do instantâneo no ambiente de origem que deve ser usado para clonagem.
    dailymaintenancestarttime Defina o valor desse parâmetro como true para alterar a hora de início da manutenção diária do ambiente clonado para à do ambiente de origem. Defina esse valor como false para manter a hora de início da manutenção diária do ambiente clonado.
  3. Crie um script do PowerShell denominado cloneEnvironment.ps1 que contenha o script a seguir e salve-o no diretório onde salvou cloneEnvironment.bat; por exemplo, 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. Execute cloneEnvironment.bat usando esse comando:
    cloneEnvironment.bat "SOURCE USERNAME" "SOURCE PASSWORD FILE" "SOURCE URL" "TARGET USERNAME" "TARGET PASSWORD FILE" "TARGET URL"
    
    Por exemplo:
    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. Crie um script shell denominado cloneEnvironment.sh que contenha o script a seguir e salvá-lo em um local conveniente.
    #!/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. Modifique cloneEnvironment.sh para definir os valores desses parâmetros:

    Tabela 3-6 Parâmetros para definir no cloneEnvironment.sh

    Parâmetro Descrição
    epmautomatescript O caminho absoluto do arquivo executável do EPM Automate (epmautomate.sh).
    javahome Local do JAVA_HOME.
    usersandpredefinedroles Defina o valor desse parâmetro como true para clonar usuários e as respectivas atribuições de funções predefinidas e de usuários.

    Para clonar atribuições de funções e usuários, o usuário que está executando o script precisa ter a função de Administrador do Serviço e ser Administrador do Domínio de Identidade no ambiente de destino.

    snapshotname O nome do instantâneo no ambiente de origem que deve ser usado para clonagem.
    dailymaintenancestarttime Defina o valor desse parâmetro como true para alterar a hora de início da manutenção diária do ambiente clonado para à do ambiente de origem. Defina esse valor como false para manter a hora de início da manutenção diária do ambiente clonado.
  3. Execute cloneEnvironment.sh.
    ./cloneEnvironment.sh "SOURCE USERNAME" "SOURCE PASSWORD FILE" "SOURCE URL" "TARGET USERNAME" "TARGET PASSWORD FILE" "TARGET URL"
    
    Por exemplo:
    ./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.