Automazione della clonazione degli ambienti

Utilizzare lo script descritto in questa sezione per automatizzare la clonazione degli ambienti.

Creare un file batch (.bat) o shell (.sh) contenente uno script simile a quello riportato di seguito per clonare un ambiente. I seguenti script di esempio gestiscono le attività indicate:

  • Accedere all'ambiente di origine.
  • Utilizzare Artifact Snapshot (lo snapshot creato durante l'ultima manutenzione giornaliera dell'ambiente di origine) o un altro snapshot disponibile nell'ambiente di origine per convertire l'ambiente target come clone dell'origine.
  • Creare facoltativamente gli utenti e le relative assegnazioni di ruoli predefiniti e applicazione corrispondenti a quelli dell'ambiente di origine.
  • Modificare facoltativamente l'ora di inizio della manutenzione giornaliera in modo che corrisponda a quella dell'ambiente di origine.
  • Scollegarsi.

Per informazioni dettagliate sul processo di clonazione, fare riferimento alla sezione Clonazione degli ambienti di EPM Cloud nella Guida Administering Migration for Oracle Enterprise Performance Management Cloud (in lingua inglese).

Vedere Automazione dell'esecuzione degli script per informazioni su come pianificare lo script mediante Utilità di pianificazione di Windows.

Windows

  1. Creare un file batch (.BAT) denominato cloneEnvironment.bat contenente lo script riportato di seguito e salvarlo in una posizione appropriata, ad esempio 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. Modificare cloneEnvironment.bat per impostare i valori per i parametri indicati di seguito.

    Tabella 3-5 Parametri da impostare in cloneEnvironment.bat

    Parametro Descrizione
    usersandpredefinedroles Impostare il valore di questo parametro su true per clonare gli utenti e le relative assegnazioni dei ruoli predefiniti e applicazione.

    Per clonare gli utenti e le assegnazioni dei ruoli, l'utente che esegue lo script deve disporre del ruolo Amministratore servizi e Amministratore del dominio di Identity nell'ambiente target.

    snapshotname Nome dello snapshot nell'ambiente di origine che deve essere utilizzato per la clonazione.
    dailymaintenancestarttime Impostare il valore di questo parametro su true per modificare l'ora di inizio della manutenzione giornaliera dell'ambiente clonato in modo che corrisponda a quella dell'ambiente di origine. Impostare questo valore su false per mantenere l'ora di inizio della manutenzione giornaliera corrente dell'ambiente clonato.
  3. Creare uno script PowerShell denominato cloneEnvironment.ps1 contenente lo script riportato di seguito e salvarlo nella directory in cui è stato salvato cloneEnvironment.bat, ad esempio 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. Eseguire cloneEnvironment.bat utilizzando il comando riportato di seguito.
    cloneEnvironment.bat "SOURCE USERNAME" "SOURCE PASSWORD FILE" "SOURCE URL" "TARGET USERNAME" "TARGET PASSWORD FILE" "TARGET URL"
    
    Ad esempio:
    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. Creare uno script della shell denominato cloneEnvironment.sh contenente lo script riportato di seguito e salvarlo in una posizione appropriata.
    #!/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. Modificare cloneEnvironment.sh per impostare i valori dei parametri indicati di seguito.

    Tabella 3-6 Parametri da impostare in cloneEnvironment.sh

    Parametro Descrizione
    epmautomatescript Percorso assoluto dell'eseguibile di EPM Automate (epmautomate.sh).
    javahome Posizione JAVA_HOME.
    usersandpredefinedroles Impostare il valore di questo parametro su true per clonare gli utenti e le relative assegnazioni dei ruoli predefiniti e applicazione.

    Per clonare gli utenti e le assegnazioni dei ruoli, l'utente che esegue lo script deve disporre del ruolo Amministratore servizi e Amministratore del dominio di Identity nell'ambiente target.

    snapshotname Nome dello snapshot nell'ambiente di origine che deve essere utilizzato per la clonazione.
    dailymaintenancestarttime Impostare il valore di questo parametro su true per modificare l'ora di inizio della manutenzione giornaliera dell'ambiente clonato in modo che corrisponda a quella dell'ambiente di origine. Impostare questo valore su false per mantenere l'ora di inizio della manutenzione giornaliera corrente dell'ambiente clonato.
  3. Eseguire cloneEnvironment.sh.
    ./cloneEnvironment.sh "SOURCE USERNAME" "SOURCE PASSWORD FILE" "SOURCE URL" "TARGET USERNAME" "TARGET PASSWORD FILE" "TARGET URL"
    
    Ad esempio:
    ./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.