Dans mon article précédent, j'ai expliqué comment définir une panne d'Enterprise Manager avec l'utilitaire emctl de l'agent sur la ligne de commande. Tout fonctionnait bien jusqu'à ce que j'essaie de définir une panne avec une base de données en cluster. Lorsque vous essayez de définir une panne sur une cible de base de données en cluster, vous obtenez une erreur semblable à la suivante :
./emctl start blackout testblackout orcl
Oracle Enterprise Manager 11g Release 1 Grid Control 11.1.0.1.0
Copyright (c) 1996, 2010 Oracle Corporation. All rights reserved.
"orcl" is a cluster target, hence skipping it. Please use EM console.
À partir de la note Metalink 419740.1, nous constatons que nous ne pouvons pas utiliser l'utilitaire emctl de l'agent pour définir des pannes sur les bases de données RAC. Vous avez la possibilité de planifier des pannes dans Enterprise Manager, mais je voulais toujours le faire via la ligne de commande. L'astuce consiste à utiliser l'utilitaire emcli (Command Line Interface) d'EM sur le serveur OMS.
export JAVA_HOME=/u01/app/oracle/product/middleware/oms11g
export PATH=$JAVA_HOME/jdk/bin:$PATH
cd /u01/app/oracle/product/middleware/oms11g/bin
./emcli login -username=bpeasland
./emcli create_blackout -name="Standby Snapshot" -add_targets="resp:cluster_database" -description="Standby taken down to perform cold snapshot" -schedule="duration::10" -reason="backup"
./emcli logout
Malheureusement, cette option nécessite que je me connecte et si je veux mettre cela dans un script shell, je serais obligé de coder le mot de passe.