Automatisation du clonage d'environnements

Utilisez le script de cette section pour automatiser le clonage des environnements.

Créez un fichier de lot (.bat) ou d'interpréteur de commande (.sh) contenant un script semblable à celui ci-dessous pour cloner un environnement. Les exemples de scripts traitent les activités suivantes ::

  • Connectez-vous à l'environnement source.
  • Utilisez Artifact Snapshot (l'instantané créé lors de la dernière maintenance quotidienne de l'environnement source) ou un autre instantané disponible dans l'environnement source pour convertir l'environnement cible en un clone de l'environnement source.
  • Créez éventuellement des utilisateurs et leurs affectations de rôle d'application et prédéfini correspondant à ceux de l'environnement source.
  • Vous pouvez éventuellement modifier l'heure de début de la maintenance quotidienne de sorte qu'elle corresponde à celle de l'environnement source.
  • Déconnectez-vous.

Pour obtenir des informations détaillées sur le processus de clonage, reportez-vous à la section "Clonage d'environnements EPM Cloud " du guide Administration de la migration pour Oracle Enterprise Performance Management Cloud.

Reportez-vous à la section Automatisation de l'exécution de scripts pour plus d'informations sur la planification du script à l'aide du planificateur de tâches Windows.

Windows

  1. Créez un fichier batch (.BAT) nommé cloneEnvironment.bat contenant le script suivant et enregistrez-le à un emplacement pratique, par exemple 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. Modifiez cloneEnvironment.bat pour définir les valeurs des paramètres suivants :

    Tableau 3-5 Paramètres à définir dans cloneEnvironment.bat

    Paramètre  Description
    usersandpredefinedroles Définissez la valeur de ce paramètre sur true pour cloner les utilisateurs et leurs affectations de rôle d'application et prédéfini.

    Pour cloner des utilisateurs et des affectations de rôle, l'utilisateur qui exécute le script doit disposer des rôles Administrateur de service et Administrateur de domaine d'identité dans l'environnement cible.

    snapshotname Nom de l'instantané dans l'environnement source à utiliser pour le clonage.
    dailymaintenancestarttime Définissez la valeur de ce paramètre sur true pour modifier l'heure de début de la maintenance quotidienne de l'environnement cloné de sorte qu'elle corresponde à celle de l'environnement source. Définissez cette valeur sur false pour conserver l'heure de début de maintenance quotidienne actuelle de l'environnement cloné.
  3. Créez un script PowerShell nommé cloneEnvironment.ps1 contenant le script suivant, puis enregistrez-le dans le répertoire où vous avez enregistré cloneEnvironment.bat, par exemple : 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. Exécutez cloneEnvironment.bat à l'aide de la commande suivante :
    cloneEnvironment.bat "SOURCE USERNAME" "SOURCE PASSWORD FILE" "SOURCE URL" "TARGET USERNAME" "TARGET PASSWORD FILE" "TARGET URL"
    
    Par exemple :
    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. Créez un script shell nommé cloneEnvironment.sh contenant le script suivant, puis enregistrez-le à un emplacement pratique.
    #!/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. Modification de cloneEnvironment.sh pour définir les valeurs des paramètres suivants :

    Tableau 3-6 Paramètres à définir dans cloneEnvironment.sh

    Paramètre  Description
    epmautomatescript Chemin absolu de l'exécutable EPM Automate (epmautomate.sh).
    javahome Emplacement de JAVA_HOME.
    usersandpredefinedroles Définissez la valeur de ce paramètre sur true pour cloner les utilisateurs et leurs affectations de rôle d'application et prédéfini.

    Pour cloner des utilisateurs et des affectations de rôle, l'utilisateur qui exécute le script doit disposer des rôles Administrateur de service et Administrateur de domaine d'identité dans l'environnement cible.

    snapshotname Nom de l'instantané dans l'environnement source à utiliser pour le clonage.
    dailymaintenancestarttime Définissez la valeur de ce paramètre sur true pour modifier l'heure de début de la maintenance quotidienne de l'environnement cloné de sorte qu'elle corresponde à celle de l'environnement source. Définissez cette valeur sur false pour conserver l'heure de début de maintenance quotidienne actuelle de l'environnement cloné.
  3. Exécutez cloneEnvironment.sh.
    ./cloneEnvironment.sh "SOURCE USERNAME" "SOURCE PASSWORD FILE" "SOURCE URL" "TARGET USERNAME" "TARGET PASSWORD FILE" "TARGET URL"
    
    Par exemple :
    ./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.