Automatiser l'installation d'Oracle Database avec des scripts Shell

Le coût caché des installations manuelles

Chaque année, les administrateurs de bases de données Oracle consacrent un volume considérable d'heures à l'installation de nouvelles instances. En prenant l'hypothèse d'une vingtaine de déploiements annuels (environnements de développement, de test, de préproduction, de formation, de POC, etc.) et d'environ six heures par installation manuelle, on arrive rapidement à plus de cent heures de travail — soit près de trois semaines pleines — investies dans une tâche entièrement automatisable.

Les limites des approches basées sur des modèles

De nombreux administrateurs expérimentés s'appuient sur des scripts maison ou des documentations internes pour accélérer le processus. Cette méthode présente néanmoins plusieurs faiblesses :

  • Obsolescence rapide : un guide rédigé pour CentOS 7 et Oracle 19c devient inutilisable lorsque le cahier des charges exige Rocky Linux 9 avec la même version d'Oracle.
  • Prolifération des variantes : instance standalone, ASM, RAC, chaque combinaison système d'exploitation / architecture nécessite son propre modèle, rendant la maintenance ingérable.
  • Gestion des dépendances : les noms et versions des paquets requis diffèrent d'une distribution à l'autre, ce qui complique la rédaction de guides universels.
  • Distributions exotiques : les systèmes d'exploitation nationaux comme Kylin V10 disposent de très peu de documentation Oracle, rendant les modèles existants inopérants.

Pourquoi l'automatisation tarde dans l'écosystème Oracle

Dans le monde DevOps, les outils comme Ansible, Puppet ou Chef sont utilisés depuis longtemps pour automatiser les déploiements. L'installation d'Oracle reste cependant en retard pour plusieurs raisons :

  • Le processus d'installation comporte un très grand nombre d'étapes, ce qui alourdit considérablement la rédaction de playbooks.
  • La matrice des combinaisons (système d'exploitation × version Oracle) est vaste, ce qui multiplie le coût de maintenance.
  • Les fichiers de réponse pour l'installation silencieuse d'Oracle ont un format complexe qui évolue entre les versions.
  • Le déploiement RAC imlpique une coordination entre plusieurs nœuds, ce qui accroît la difficulté de l'automatisation.

Un script d'installation tout-en-un

Le projet OracleShellInstall propose une approche différente : il encapsule l'ensemble des combinaisons testées — plus de vingt distributions Linux, plusieurs versions majeures d'Oracle et trois modes de déploiement — dans un script Shell unique. L'utilisateur n'a pas besoin de rédiger de playbook ni de gérer des modèles disparates.

Pour une installation en mode instance unique :

bash setup_oracle.sh --mode standalone --netif ens192 \
  --dbname prod01 --syspwd MonMot2Passe --sid prod01

Le déploiement s'achève en environ quinze minutes.

Pour un cluster RAC à deux nœuds :

bash setup_oracle.sh --mode rac --pubnet ens192 --privnet ens224 \
  --dbname prod01 --syspwd MonMot2Passe --asmpwd AsmMot2Passe \
  --disk /dev/sdb --dgname DATA \
  --node1 rac-node01 --node2 rac-node02

Le processus complet prend environ quarante minutes.

Avantages d'une approche automatisée et standardisée

L'automatisation ne constitue pas un raccourci, mais un gage de rigueur :

  • Cohérence : chaque installation produit un résultat identique, éliminant les écarts de configuration liés aux habitudes individuelles.
  • Traçabilité : un journal complet enregistre chaque action réalisée, facilitant les audits et les diagnostics.
  • Reproductibilité : la même commande exécutée dans un environnement identique aboutit systématiquement au même résultat.
  • Bonnes pratiques intégrées : le script intègre les paramètres recommandés par Oracle et les optimisations courantes.

Orienter son expertise vers les vrais enjeux

La valeur métier d'un DBA ne réside pas dans sa capacité à installer Oracle, mais dans des compétences à forte valeur ajoutée telles que :

  • L'architecture et la conception de bases de données.
  • L'optimisation des performances.
  • Le diagnostic et la résolution d'incidents.
  • La définition de stratégies de sauvegarde, de restauration et de sécurité des données.
  • La planification de capacité.

Confier les tâches d'installation répétitives à un outil automatisé permet de consacrer son temps à ces activités nécessitant un jugement technique approfondi.

Premiers pas

Pour évaluer cette approche :

  • Consulter la matrice de compatibilité afin de vérifier que votre combinaison système / version Oracle est supportée.
  • Utiliser un générateur de commande en ligne pour configurer les paramètres adaptés à votre environnement.
  • Réaliser un premier essai dans un environnement de test avant de passer en production.

Interface du générateur de commandes OracleShellInstall

Exemple de configuration minimale requise

Composant Valeur minimale
RAM 4 Go (8 Go recommandé)
Espace disque 50 Go pour le logiciel + espace pour les données
OS supportés Oracle Linux 7/8/9, RHEL 7/8/9, CentOS 7, Rocky 8/9, Kylin V10
Oracle versions 11gR2, 12c, 18c, 19c, 21c

Étiquettes: Oracle Database Oracle Shell Install automatisation Déploiement DBA

Publié le 3 juin à 00h15