Astuces pour installer Grid Control 11g

La grande nouveauté dans la mouture 11g de la suite de gestion Enterprise Manager réside dans l’utilisation de Weblogic comme serveur d’application au lieu d’OAS. On découvre donc des nouveaux produits, nouveaux chemins d’installation … Comment gérer cela au mieux ?

1. Commençons par le système

Pour ce qui revient à installer une base de données avec son serveur d’application, une machine virtuelle convient très bien, pourquoi pas essayer avec OVS, une machine avec 4Gb de RAM, 2 coeurs et 50Gb de disque conviendra pour commencer; comme c’est du virtuel, il sera facile d’ajouter des ressources si nécessaire. D’ailleurs sur une production récente, on a augmenté la RAM à 6Gb en dépassant les 20 serveurs = 35 bases en supervision
Coté système d’exploitation, je préfère Oracle Enterprise Linux, pas à cause de son nom mais plutôt la disponibilité de :

  1. Un serveur yum en accès public sur http://public-yum.oracle.com/
  2. Des rpm adaptés pour l’ASM et les pré-requis Oracle (que nous n’utiliserons pas aujourd’hui)

Partitionnement
Comme ce serveur va contenir une base de données, choisissez le partitionnement par défaut utilisant les volumes logiques, cela permettra l’ajout facile de disques (virtuels) à chaud ultérieurement.
Configurer yum
Les instructions détaillées sont sur le site public-yum.oracle.com, mais en résumé, sur du OEL 5.x, en root

cd /etc/yum.repos.d/
wget http://public-yum.oracle.com/public-yum-el5.repo

Edition du fichier repo  et passer à enable=1 les lignes

  • el5_ga_base
  • el5-u<n>_base
  • el5_addons
yum install oracle-validated

Valider le téléchargement des paquets supplémentaires, puis installer en plus ceux qui ont tendance à passer au travers des mailles du filet:

yum install libaio-devel unixODBC unixODBC-devel

2.Récupérer les sources d’Installation

Contrairement aux éditions 10g, où tout était inclus dans un seul paquet, il faut télécharger plusieurs archives pour faire une installation de Grid Control 11g :

  • jdk-6u18-linux-x64-rpm.bin
  • GridControl_11.1.0.1.0_Linux_x86-64_1of3.zip
  • GridControl_11.1.0.1.0_Linux_x86-64_2of3.zip
  • GridControl_11.1.0.1.0_Linux_x86-64_3of3.zip
  • wls1032_generic.zip
  • linux.x64_11gR2_database_1of2.zip
  • linux.x64_11gR2_database_2of2.zip
  • Patchs Weblogic : contrairement aux patchs des autres produits Oracle, ceux-là ne sont pas disponibles via le site du support Oracle, il faut donc que votre première installation soit faite sur un serveur ayant accès à l’extérieur, car c’est l’utilitaire bsu qui va se charger de les télécharger et les appliquer. Comme les serveurs de production sont souvent isolés du Net, il est conseillé d’installer une maquette et récupérer les jar et les xml dans /u01/app/oracle/product/Middleware/utils/bsu:
    • 4D53.jar
    • NIXN.jar
    • patch-catalog.xml
    • prod-info.xml
    • WDJ7.jar
    • XLXA.jar

3. Installation des produits Oracle

3.1. Java

Et oui, Java fait partie de la famille maintenant, commençons par désinstaller l’implémentation Open Source fournie dans la distribution:

rpm -e antlr gjdoc java-1.4.2-gcj-compat

et installer notre JDK 1.6.18, tout cela en root bien sûr; bien vérifier que l’on utilise le bon binaire avec un

which java

ou

java -version

3.2. Serveur Weblogic

A partir de maintenant, nous passons en utilisateur oracle. Comme nous sommes en 64bits, il n’y a pas d’installateur Weblogic dédié, on utilise le jar générique tel qu’il a été téléchargé pour lancer l’installateur graphique:

java –d64 –jar wls1032_generic.jar
  • Emplacement Middleware: Afin de rester cohérent avec les normes d’installation de bases de données, nous mettrons le $MW_HOME dans /u01/app/oracle/product/Middleware
  • Connexion au support Oracle : comme notre serveur est isolé du Net, on ignore
  • Type d’installation : Typical
  • Choix du JDK : il ne devrait il y en avoir qu’un seul, le 1.6.18
  • Emplacement du serveur Weblogic dans le Middleware Home : /u01/app/oracle/product/Middleware/wlserver_10.3
  • Décocher la case « Run Quickstart » à la fin » sinon l’installateur créera un domaine inutilement.

Ce produit s’installe assez rapidement, passons aux patchs, deux cas se présentent, ou bien c’est votre première installation, sur votre maquette, ou alors vous êtes en train d’installer votre production.
cas 1 : Maquette connectée au Net :

cd /u01/app/oracle/product/Middleware/utils/bsu
./bsu.sh

Dans la belle interface graphique qui apparaît, sélectionner les patchs proposés et les appliquer. Les jar correspondants seront placés dans le sous-dossier cache_dir, ils serviront pour la production.
Cas 2 : Production :
Créer un dossier pour y placer les patchs

cd /u01/app/oracle/product/Middleware/utils/bsu
mkdir cache_dir

Copier les quatre jar et deux xml depuis la maquette dans ce dossier, puis les appliquer hors ligne:

./bsu.sh -prod_dir=/u01/app/oracle/product/Middleware/wlserver_10.3 -patchlist=WDJ7 -verbose –install

Et répéter en changeant le patchlist pour les 3 autres jar. Vous pouvez vérifier en lançant bsu.sh sans paramètres que tous les patchs on bien été appliqués:

3.3. Base de données 11gR2

Bon, ici, nous n’allons pas entrer dans le détail de cette installation, toutefois quelques astuces, car c’est le but de ce billet:

  • Créer et configurer une base de données
  • Chemin d’installation:
    • Oracle Home: /u01/app/oracle/product/11.2.0/db
    • Oracle Base: /u01/app/oracle
    • oraInventory: /u01/app/oraInventory
  • Paramètres de la base
    • Nom: griddb
    • Modèle généraliste
    • Mot de passe commun Welcome1
    • Pas d’Enterprise Manager
    • Stockage en système de fichiers dans un seul endroit: /u01/app/oracle/oradata
    • Pas de Flash Recovery Area, ni Archive log, ni schémas d’exemple
    • memory_max: 1,5Gb
    • Jeux caractères : AL32UTF8 (comme d’habitude)
    • processes : 500
    • job_queue_processes 100
    • log_buffer 10485760
    • open_cursors 300
    • remote_login_passwordfile SHARED or EXCLUSIVE
    • session_cached_cursors 200
    • statistics_level TYPICAL
    • timed_statistics TRUE
    • undo_management AUTO
    • workarea_size_policy AUTO
  • Patchs à installer (voir note 1073166.1)
    • 9002336
    • 9067282
  • Suppression de la dbconsole, qui est toujours là bien qu’on ait décoché la case auparavant
    • Positionner $ORACLE_HOME, $PATH et $ORACLE_SID pour la base de données:
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID=griddb
emca -deconfig dbcontrol db -repos drop -SYS_PWD Welcome1 -SYSMAN_PWD Welcome1

Il faudra fournir le SID de la base ainsi que le port du listener.

Aussi comme il s’agit d’une base 11gR2, pensez à deux petites opérations de bolidage (Tuning for English speakers, (c) ma pomme 🙂 ) :

  • Réduire la quantité de logs généré en modifiant deux paramètres adrci :
adrci
set home diag/rdbms/griddb/griddb;
set control (SHORTP_POLICY=168,LONGP_POLICY=336);
  • Modifier la politique d’expiration du mot de passe de 6 mois à illimité (ou selon votre politique) :
sqlplus / as sysdba
ALTER PROFILE "DEFAULT" LIMIT PASSWORD_LIFE_TIME UNLIMITED;

3.4. Installation du Grid Control

On arrive dans le vif du sujet: nous avons une base 11gR2 fonctionnelle, un serveur Weblogic prêt à gérer des domaines, il n’y a plus qu’à lancer l’installateur de Grid Control (Enterprise Manager 11gR1)

  • Détails My Oracle Support et mises à jour à ignorer car notre serveur est isolé du Net
  • Type d’installation: Nouveau système Enterprise Manager
  • Sélectionner toutes les langues
  • Emplacement de l’instance: /u01/app/oracle/product/gc_inst
  • Nouveau domaine Weblogic : son nom est fixé à GCDomain (Grid Control Domain??)
    • Nom du super utilisateur: nous mettrons weblogic
    • Mot de passe weblogic1, ce compte servira à lancer/arrêter Weblogic et à se connecter à la console de gestion
  • Paramètres de connexion à la base:
    • Hôte: mettre le nom complet même si c’est en local sur le serveur
    • Port, SID et mot de passe SYS
    • Le compte sysman est important, c’est celui que vous utiliserez au début pour vous connecter à Grid Control par l’interface web.
  • Mot de passe d’inscription sera utilisé à chaque fois que vous déploierez un agent sur un serveur
  • Ports: conserver les valeurs par défaut

A la fin de l’installation, vous aurez les deux URLs à conserver pour la suite:

  • Console Weblogic sur https://<nom_d_hote>:7101/console , login weblogic/weblogic1
  • Le Grid Control, auquel vous vous connecterez tous les jours pour gérer vos bases, serveurs d’application, etc: https://<nom_d_hote>:7799/em , login sysman/Welcome1

3.5. Post-configuration

Votre Grid Control 11gR1 est maintenant installé, vous allez maintenant pouvoir déployer les agents sur les serveurs à surveiller ainsi que raffiner la configuration:
Sauvegarde de la clé de cryptage
Cette manipulation vous servira le jour où vous devez réinstaller Grid Control : sans cette sauvegarde, vous devrez réinstaller les agents sur chaque machine qui était en supervision ! Au bout d’un an, avec par exemple une cinquantaine de serveurs en supervision, ça fait cher la réinstallation du Grid Control … Nous placerons la sauvegarde dans le dossier /u02/backup/config/ avant de la placer en sécurité sur bande ou support optique.

export ORACLE_HOME=/u01/app/oracle/product/Middleware/oms11g
export PATH=$ORACLE_HOME/bin:$PATH
emctl exportconfig oms -dir /u02/backup/config

Déployer un vrai certificat SSL
Les consoles sont en https par défaut mais avec un certificat de test fourni par Oracle, comme ce dernier n’est pas encore une autorité de certification reconnue, vous serez averti d’une malédiction possible si vous continuez la connexion à moins d’ajouter une exception permanente. Au sein d’une entreprise, mieux vaux se procurer un véritable certificat, ou bien un auto-signé et là un peu de pub pour un de mes articles précédents Signer ses propres certificats SSL

Démarrage automatique de la base de données

Si toute la partie Enterprise Manager (OMS et Agent) est démarrée ou arrêtée automatiquement lors d’un reboot, il faut gérer celui de la base de données.

  • Ajout du script init.ora dans /etc/init.d/
#!/bin/bash
# chkconfig: 345 97 10
# description: Oracle database auto start-stop script
ORA_HOME=/u01/app/oracle/product/11.2.0/db
ORA_OWNER=oracle
if [ ! -f $ORA_HOME/bin/dbstart ]
then
echo "Oracle startup: cannot start"
exit
fi
case "$1" in
'start')
# Start the Oracle databases:
su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart $ORA_HOME"
touch /var/lock/subsys/dbora
;;
'stop')
# Stop the Oracle databases:
su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut $ORA_HOME"
rm -f /var/lock/subsys/dbora
;;
esac
  • Enregistrement du script
chkconfig –add init.ora
  • Modification /etc/oratab: mettre Y au lieu de N à la fin de la ligne de la base

Déploiement des agents
Je ne vais pas détailler ici le déploiement des agents  à part dire que tout a été fait depuis la console Grid Control vers des serveurs linux mono-instance ou RAC en 10gR2 ou 11g. Il a fallu dans beaucoup de cas se connecter au préalable à chaque base pour déverrouiller le compte DBSNMP et lui assigner un mot de passe connu.
Pensez à déployer l’agent sur un nouveau serveur avant toute création de bases : les nouvelles bases seront déclarées d’office au Grid.

4. Conclusion

En suivant ce tutoriel, vous devriez avoir une maquette opérationnelle en une journée et une production avec une journée de plus. La maquette n’est pas obligatoire si le serveur a moyen de se connecter au site du support Oracle, ce qui est tout de même un avantage. Bien sûr c’est maintenant que les choses intéressantes commencent.
La configuration d’un plateforme Enterprise Manager Grid Control ne peut être enseignée dans une salle de formation car chaque environnement supervisé est différent. Ici j’emploie le mot supervisé, mais celui-ci peut être remplacé par administré, car OEM GC est une plateforme d’administration autant que de supervision, surtout que dans certains cas les équipes systèmes auront leur propres outils de supervision installés sur les serveurs (agents HP, Dell, Nagios, Tivoli, etc.).
Comme OEM GC peut enregistrer les mots de passe des différentes bases pour chacun des comptes OEM GC, vos tâches d’administration et de supervision seront grandement simplifiées.

5. Références Oracle:

  • 1059516.1: Step by Step installation of 11.1 Grid Control
  • 1063112.1: Grid Control 11g: Example for Installing WebLogic Server 10.3.2 on OEL 5.3 x86_64
  • 1063762.1: How to Install Web Logic Server 10.3.2 for Installing 11g Grid Control
  • 1067438.1: Master Note for Grid Control 11.1.0.1.0 Installation and Upgrade
  • 1072763.1: How to apply recommended WLS patches on WLS home for 11g Grid Control Install
  • 1106105.1: Grid Control 11g: Required External Components and Versions for Grid Control 11.1.0.1.0
  • 1064441.1: Grid Control 11g: Database Considerations for the Grid Control 11.1.0.1.0 Repository
  • Tuning base: http://download.oracle.com/docs/cd/E11857_01/install.111/e15838/install_em_exist_db.htm#BDCGEBAC