Déplacer une cible dans Enterprise Manager 11G

Contexte

Si vous déplacez une base de données d’un serveur à un autre, vous pouvez très bien supprimer la base de données dans Enterprise Manager 11g (EM) puis la « recréer » après déplacement.
Vous perdrez alors l’historique de la cible dans EM, d’où l’idée de la « déplacer » dans Enterprise Manager (EM).

Hypothèses

Voici les hypothèses formulées :

  1. Utilisation de la méthode « relocate_targets » de l’utilitaire « EMCLI » (méthode préférée)
  2. Reconfiguration du nouvel agent avec les les mêmes id pour les cibles (méthode manuelle et donc risquée)

Implémentation de la méthode 1, voici les grandes lignes du processus :

  1. Base de données configurée et fonctionnant sur l’hôte n°1, agent installé sur l’hôte 2
  2. Arrêt de la base de données sur l’hôte 1
  3. Déplacement de la base de données sur l’hôte 2
  4. Reconfiguration de la cible sur le nouvel hôte (2)

Déplacement

Etape 1 : Etat initial

Base de données « TEST01 » utilisée pour nos essais hébergée par l’hôte « machine1 ».
Hôte « machine2 » : aucune cible (à part l’agent grid control).

Etapes 2 & 3 : non documentées.

Base de données arrêtée, fichiers recopiés par « scp » et base de données redémarrée sur le nouvel hôte.

Etape 4 : Déplacement de la cible dans Enterprise Manager

Installation d’emcli :

Récupérer le fichier « emclikit.jar » via vote browser à l’URL suivante : HTTPS://{OMS_SERVER}:{OMS_PORT}/em/console/emcli/download

Déplacer le fichier « emclikit.jar » sur le serveur contenant l’ « OMS ».

> /opt/oracle/grid/11.1.0.1/oms11g/emcli > ls -l
-rw-r--r-- 1 oracle dba 1186725 jun 29 13:58 emclikit.jar
drwxr-xr-x 6 oracle dba    4096 jun 17 18:23 samples
drwxr-xr-x 2 oracle dba    4096 jun 17 18:25 scripts
> /opt/oracle/grid/11.1.0.1/oms11g/emcli >

On vérifie que la version de java est supérieure à 1.6.0 :

> /opt/oracle/grid/11.1.0.1/oms11g/emcli >
> /opt/oracle/grid/11.1.0.1/oms11g/emcli > export JAVA_HOME=/usr/java/jdk1.6.0_17
> /opt/oracle/grid/11.1.0.1/oms11g/emcli > export PATH=$JAVA_HOME/bin:$PATH
> /opt/oracle/grid/11.1.0.1/oms11g/emcli >
> /opt/oracle/grid/11.1.0.1/oms11g/emcli > java -version
java version "1.6.0_17"
Java(TM) SE Runtime Environment (build 1.6.0_17-b04)
Java HotSpot(TM) 64-Bit Server VM (build 14.3-b01, mixed mode)
> /opt/oracle/grid/11.1.0.1/oms11g/emcli >
 

On installe « emcli » :

> /opt/oracle/grid/11.1.0.1/oms11g/emcli >
java -jar emclikit.jar client -install_dir=$PWD
Oracle Enterprise Manager 11g version 11.1.0.1.0.
Copyright (c) 1996, 2010 Oracle Corporation. Tous droits réservés.
L'installation d'EM CLI côté client a réussi.

On configure « emcli » :

> /opt/oracle/grid/11.1.0.1/oms11g/emcli >
./emcli setup -url=HTTPS://{OMS_SERVER}:{OMS_PORT}/em -username=sysman

Enter le mot de passe du compte « sysman » et répondre oui à la question « avez-vous confiance en la chaine de certificat ? »

Avez-vous confiance en la chaîne de certificat ? [oui/non] oui
Configuration emcli réussie

Déplacement de la cible avec « emcli » :

> /opt/oracle/grid/11.1.0.1/oms11g/emcli >
./emcli relocate_targets -src_agent=machine1:3872 -dest_agent=machine2:3872
-target_name=TEST01 -target_type=oracle_database 
-copy_from_src -changed_param=MachineName:machine2
Moved all targets from machine1:3872 to machine2:3872

Terminé.
Vous pouvez maintenant consulter l’historique des performances, de l’occupation d’espace de la base de données etc . comme si cette dernière n’avait jamais été déplacée.