Improve documentation and add initialization script
- Create init_oracle_install.sh script for easy setup - Update README.md with variable centralization explanation - Add project structure documentation - Include variable customization examples - Improve installation instructions with script reference
This commit is contained in:
97
README.md
97
README.md
@@ -6,9 +6,22 @@
|
||||
- Droits root requis pour l'exécution des playbooks
|
||||
- Collections Ansible : `ansible.posix` (installée automatiquement par le script)
|
||||
|
||||
Pour Oracle Linux 9 et 10 l'installation Ansible est légèrement différente de Linux 7 ou 8.
|
||||
## Initialisation rapide
|
||||
|
||||
Exécuter ce code en tant que root pour installer les préreuis et récupérer les books ansible :
|
||||
Pour Oracle Linux 9 et 10, l'installation Ansible est légèrement différente de Linux 7 ou 8.
|
||||
|
||||
**Méthode recommandée :** Utilisez le script d'initialisation fourni :
|
||||
|
||||
```bash
|
||||
# Télécharger et exécuter le script d'initialisation (en tant que root)
|
||||
curl -fsSL https://raw.githubusercontent.com/Yacine31/oracle_19_install/main/init_oracle_install.sh | bash
|
||||
|
||||
# Ou si vous avez déjà cloné le repo :
|
||||
cd oracle_19_install
|
||||
./init_oracle_install.sh
|
||||
```
|
||||
|
||||
**Méthode manuelle :** Si vous préférez exécuter manuellement :
|
||||
|
||||
```bash
|
||||
#!/bin/bash
|
||||
@@ -36,7 +49,7 @@ echo "Récupération du scripts depuis github."
|
||||
git clone https://github.com/Yacine31/oracle_19_install
|
||||
```
|
||||
|
||||
changement de répertoire
|
||||
Puis changer de répertoire :
|
||||
```bash
|
||||
cd oracle_19_install
|
||||
```
|
||||
@@ -60,25 +73,91 @@ ansible-playbook -i hosts oracle-db-preinstall.yml -e 'ansible_python_interprete
|
||||
ansible-playbook -i hosts oracle-db-install.yml
|
||||
```
|
||||
|
||||
Les valeurs par défaut :
|
||||
```YAML
|
||||
## Configuration des variables
|
||||
|
||||
Toutes les variables communes sont centralisées dans `group_vars/all.yml` pour éviter la duplication :
|
||||
|
||||
```yaml
|
||||
# Variables communes Oracle (group_vars/all.yml)
|
||||
oracle_version: "19.0.0"
|
||||
oracle_base: "/u01/app/oracle"
|
||||
oracle_home: "{{ oracle_base }}/product/{{oracle_version}}/dbhome_1"
|
||||
dbhome: "dbhome_1"
|
||||
oracle_home: "{{ oracle_base }}/product/{{oracle_version}}/{{ dbhome }}"
|
||||
oracle_inventory: "/u01/app/oraInventory"
|
||||
oracle_sources: "/u01/sources"
|
||||
oracle_oradata: "/u02/oradata/"
|
||||
oracle_fra: "/u03/fast_recovery_area/"
|
||||
|
||||
# Variables de configuration
|
||||
full_configuration: true
|
||||
secure_configuration: false
|
||||
scripts_dir: "/home/oracle/scripts"
|
||||
|
||||
# Variables spécifiques au rôle d'installation (roles/oracle-db-install/defaults/main.yml)
|
||||
oracle_install_edition: "EE" # SE2 (Standard Edition 2) ou EE
|
||||
oracle_zip_filename: "Oracle_Database_19.3.0.0.0_for_Linux_x86-64.zip"
|
||||
```
|
||||
|
||||
Pour l'exécuter avec des variables différentes :
|
||||
## Personnalisation des variables
|
||||
|
||||
### Modification des variables communes
|
||||
|
||||
Pour modifier les variables communes (dans `group_vars/all.yml`) :
|
||||
|
||||
```bash
|
||||
ansible-playbook -i hosts oracle-db-install.yml --extra-vars "oracle_install_edition=SE2 oracle_version=19c oracle_base=/opt/oracle oracle_home=/opt/oracle/product/19c/dbhome_1"
|
||||
# Éditer le fichier des variables communes
|
||||
vim group_vars/all.yml
|
||||
|
||||
# Exemple de personnalisation :
|
||||
oracle_base: "/opt/oracle"
|
||||
oracle_version: "19.3.0"
|
||||
scripts_dir: "/home/oracle/custom_scripts"
|
||||
```
|
||||
|
||||
### Variables spécifiques aux rôles
|
||||
|
||||
Chaque rôle peut avoir ses propres variables dans `roles/<role>/defaults/main.yml`.
|
||||
|
||||
### Surcharge via la ligne de commande
|
||||
|
||||
Pour surcharger temporairement des variables :
|
||||
|
||||
```bash
|
||||
# Exemple pour installer SE2 au lieu d'EE
|
||||
ansible-playbook -i hosts oracle-db-install.yml --extra-vars "oracle_install_edition=SE2"
|
||||
|
||||
# Exemple avec un oracle_base personnalisé
|
||||
ansible-playbook -i hosts oracle-db-install.yml --extra-vars "oracle_base=/opt/oracle"
|
||||
```
|
||||
|
||||
3. Exécution Postinstall : copie des scripts d'exploitation
|
||||
```bash
|
||||
ansible-playbook -i hosts oracle-db-postinstall.yml
|
||||
ansible-playbook -i hosts oracle-db-postinstall.yml
|
||||
```
|
||||
|
||||
## Structure du projet
|
||||
|
||||
```
|
||||
oracle_19_install/
|
||||
├── group_vars/
|
||||
│ └── all.yml # Variables communes à tous les rôles
|
||||
├── roles/
|
||||
│ ├── oracle-db-preinstall/ # Configuration système pré-installation
|
||||
│ │ ├── defaults/main.yml # Variables spécifiques au rôle
|
||||
│ │ ├── tasks/
|
||||
│ │ │ ├── main.yml # Tâches principales
|
||||
│ │ │ ├── validations.yml # Validations préalables
|
||||
│ │ │ └── [autres fichiers...]
|
||||
│ │ └── templates/ # Templates Jinja2
|
||||
│ ├── oracle-db-install/ # Installation des binaires Oracle
|
||||
│ └── oracle-db-postinstall/ # Configuration post-installation
|
||||
│ ├── handlers/main.yml # Gestionnaires d'événements
|
||||
│ └── tasks/
|
||||
│ ├── scripts.yml # Gestion des scripts
|
||||
│ ├── backup.yml # Configuration sauvegardes
|
||||
│ └── services.yml # Services système
|
||||
├── init_oracle_install.sh # Script d'initialisation
|
||||
├── hosts # Inventaire Ansible
|
||||
├── oracle-db-*.yml # Playbooks principaux
|
||||
└── README.md # Cette documentation
|
||||
```
|
||||
|
||||
85
init_oracle_install.sh
Normal file
85
init_oracle_install.sh
Normal file
@@ -0,0 +1,85 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Script d'initialisation pour l'installation Oracle 19 avec Ansible
|
||||
# Ce script installe les prérequis et clone le repository
|
||||
#
|
||||
|
||||
set -e # Arrêter le script en cas d'erreur
|
||||
|
||||
# Couleurs pour les messages
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
BLUE='\033[0;34m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
# Fonction d'affichage des messages
|
||||
log_info() {
|
||||
echo -e "${BLUE}[INFO]${NC} $1"
|
||||
}
|
||||
|
||||
log_success() {
|
||||
echo -e "${GREEN}[SUCCESS]${NC} $1"
|
||||
}
|
||||
|
||||
log_warning() {
|
||||
echo -e "${YELLOW}[WARNING]${NC} $1"
|
||||
}
|
||||
|
||||
log_error() {
|
||||
echo -e "${RED}[ERROR]${NC} $1"
|
||||
}
|
||||
|
||||
# Vérification des droits root
|
||||
if [[ $EUID -ne 0 ]]; then
|
||||
log_error "Ce script doit être exécuté en tant que root"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
log_info "Démarrage de l'initialisation pour Oracle 19 Installation..."
|
||||
|
||||
# Récupérer la version de la distribution Linux
|
||||
log_info "Détection de la version de Linux..."
|
||||
linux_version=$(cat /etc/os-release | egrep "^VERSION_ID" | cut -d= -f2 | sed 's/"//g' | cut -d. -f1)
|
||||
|
||||
if [[ $linux_version == "7" || $linux_version == "8" ]]; then
|
||||
log_info "Version Linux $linux_version détectée - Installation pour OL7/OL8"
|
||||
log_info "Installation d'oracle-epel-release-el${linux_version}..."
|
||||
dnf install -y oracle-epel-release-el${linux_version}
|
||||
|
||||
log_info "Installation de git et ansible..."
|
||||
dnf install -y git ansible
|
||||
|
||||
elif [[ $linux_version == "9" || $linux_version == "10" ]]; then
|
||||
log_info "Version Oracle Linux $linux_version détectée - Installation pour OL9/OL10"
|
||||
log_info "Installation de git et ansible-core..."
|
||||
dnf install -y git ansible-core
|
||||
|
||||
else
|
||||
log_error "Version Linux $linux_version non prise en charge. Versions supportées : Oracle Linux 7, 8, 9, 10"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Installation de la collection Ansible
|
||||
log_info "Installation de la collection ansible.posix..."
|
||||
ansible-galaxy collection install ansible.posix
|
||||
|
||||
# Clonage du repository
|
||||
log_info "Clonage du repository Oracle 19 Installation..."
|
||||
if [[ -d "oracle_19_install" ]]; then
|
||||
log_warning "Le répertoire oracle_19_install existe déjà. Suppression..."
|
||||
rm -rf oracle_19_install
|
||||
fi
|
||||
|
||||
git clone https://github.com/Yacine31/oracle_19_install
|
||||
|
||||
log_success "Initialisation terminée avec succès !"
|
||||
log_info ""
|
||||
log_info "Prochaines étapes :"
|
||||
log_info " cd oracle_19_install"
|
||||
log_info " # Puis exécuter les playbooks dans l'ordre :"
|
||||
log_info " # 1. ansible-playbook -i hosts oracle-db-preinstall.yml"
|
||||
log_info " # 2. ansible-playbook -i hosts oracle-db-install.yml"
|
||||
log_info " # 3. ansible-playbook -i hosts oracle-db-postinstall.yml"
|
||||
log_info ""
|
||||
log_info "Consultez le README.md pour plus de détails."
|
||||
Reference in New Issue
Block a user