Oracle Maximum Availability Architecture Disponibilité des systèmes d informations Technologies et recommandations 1
Qu est-ce que Oracle Maximum Availability Architecture (MAA)? 1. Objectif : Disponibilité des systèmes d informations 24h/24, 7j/7 1. Éliminer les coupures prévisibles (maintenance) 2. Éviter les coupures dues à des erreurs humaines, crashs systèmes, corruption de données 2. Ensemble de bonnes pratiques 1. Architecture 2. Configuration 3. Procédures opérationnelles 3. Basé sur 1. Technologies de «Haute Disponibilité» 2. Technologies de «Grid Computing» 3. Recommandations 4. Produits Oracle (Oracle Database, Oracle Application Server, Oracle Applications, Oracle Collaboration Suite, Grid Control) 4. Indépendant de l OS et du matériel 2
Architecture d un système d information Oracle Firewall Oracle Application Server WebCache Oracle Application Server HTTP Server Oracle Application Server OC4J Oracle Database Server Oracle Internet Directory PL/SQL, PHP, ASP, CLIENTS Cache WEB Serveur WEB Serveur J2EE Middle Tier Base de Données LDAP 3
Oracle Application Server : Description 1. OracleAS WebCache Cache de contenu web statique : HTML, CSS, JavaScript, XML, PDF, images, dynamique : JSP, ASP, PL/SQL Server Pages, Servlets, CGI, PHP, Python, Cold Fusion, Compression de contenu web (dynamique et statique) Accélération SSL Load-balancer + détection fail-over sur l indicateur «cache misses» 2. Oracle HTTP Server Basé sur Apache 2.0 3. Oracle Container For JAVA (OC4J) Serveur J2EE 4
Oracle Application Server : MAA Actif / Actif WebCache HTTP Server OC4J CLIENTS Load Balancer Cluster WebCache Cluster OC4J WebCache HTTP Server OC4J 5
Oracle Application Server : MAA Actif / Passif WebCache HTTP Server OC4J CLIENTS Load Balancer WebCache HTTP Server OC4J 6
Oracle Database Server : Description Instance Database Buffer Cache Taille de bloques par défaut Tailles de bloques supplémentaires System Global Area Buffer Pool Keep Large Pool Java Pool Buffer Pool Recycle Streams Pool Redo Log Buffer Cache Shared Pool Data Dictionary Cache Shared SQL Area Library Cache Reserved Pool Structures de contrôle Fixed SGA PL/SQL Procédures Packages Serveurs partagés PGA D000 Serveur dédié PGA DBW0 CKPT LGWR Processus ARC0 SMON REC0 PMON LCK0 Listener Datafiles Control files Redolog Base de données Archivelog init.ora et / ou spfile.ora Fichiers locaux password 7
Oracle Database Server : Description 1. Instance 1. Mémoire a. Zones tampons de la base de données (System Global Area) b. Zone mémoire allouée aux processus (Program Global Area) 2. Processus a. D arrière plan (PMON, SMON, DBW0, CKPT, LGWR, ARC0, REC0, LCK0) b. De gestion des clients 1. Listener 2. Processus serveur de sessions dédiés par session 3. Pool de processus serveurs de sessions et dispatcher 2. Fichiers 1. De base de données a. Fichiers de données (Datafiles) b. Fichiers de contrôles (control files) c. Fichiers de journaux de reprise (redo logs) 2. Locaux a. Fichiers de paramétrage (init.ora et spfile.ora) b. Fichiers de mot de passe c. Archive logs 8
Disponibilité Oracle Database Server : MAA Arrêt planifié Arrêt imprévu Modification Système Modification des données Panne Système Problème de données 9
Oracle Database Server : MAA Fonctionnalités offertes en standard Réorganisation online (réorganisation des tables, partions, index) Redéfinition online (redéfinition des tables et des attributs) Bonnes pratiques Redo logs a. Multiplexer les membres de chaque groupe b. Tailler pour tourner 1 fois par heure c. Minimum 4 groupes Automatic Shared Memory Management (paramètre SGA_TARGET) Parallel Recory a. Paramètre PARALLEL_EXECUTION_MESSAGE = 4096 b. Paramètre PARALLEL_MIN_SERVERS > nombre de CPU Checksums sur les blocks a. Paramètre DB_BLOCK_CHECKSUM = TYPICAL (checksum calculé, enregistré et vérifié pour les bloques de données et de redo) b. Paramètre DB_BLOCK_CHECKING = FULL Fast-Start Fault Recover a. Paramètre FAST_START_MTTR_TARGET pour définir le temps de redémarrage après recover 10
Disponibilité Oracle Database Server : MAA Arrêt planifié Arrêt imprévu Modification Système Modification des données Panne Système Problème de données Réorganisation online Redéfinition online Bonnes pratiques 11
Oracle Database Server : MAA Flashback Objectifs a. Réparer les erreurs humaines sur les données avec la base ouverte b. Interroger une ligne, une table, une transaction, un tablespace ou une base de données complète à une époque révolue Principe a. Au niveau ligne ou table 1. Hors DROP les informations UNDO sont utilisées 2. Avant DROP d une table, la corbeille est utilisée b. Au niveau base de données, les journaux de Flashback sont utilisés Bonnes pratiques a. Paramétrer DB_FLASHBACK_RETENTION_TARGET pour définir jusqu à quand on peut remonter b. Suivre l indicateur de performances «flashback free buffer waits» c. Configurer Undo Management 1. UNDO_MANAGEMENT=AUTO 2. UNDO_RETENTION=«temps en secondes» 3. UNDO_TABLESPACE=«nom de tablespace» 12
Disponibilité Oracle Database Server : MAA Arrêt planifié Arrêt imprévu Modification Système Modification des données Panne Système Problème de données Flashback Réorganisation online Redéfinition online Bonnes pratiques 13
Oracle Database Server : MAA Automatic Storage Management Objectifs Principe a. Ajouter/supprimer de l espace de stockage sans arrêter la base de données b. Bouger les fichiers de données sans arrêter la base de données c. Équilibrage des I/O d. Mirroring sur les disques et fichiers e. Reconstruction après crash disque f. Reconstruction de blocs corrompus a. Une base de données dédiée stocke et gère les fichiers de base de données Bonnes pratiques a. Créer 2 groupes de disque, 1 pour les fichiers de bases de données, 1 pour la flash recovery area b. Mettre en place de la redondance à plusieurs niveaux a. Disques RAID pour éviter les problèmes sur les disques b. Redondance ASM pour se protéger des problèmes sur les groupes 14
Disponibilité Oracle Database Server : MAA Arrêt planifié Arrêt imprévu Modification Système Modification des données Panne Système Problème de données A S M A S M Flashback Réorganisation online Redéfinition online Bonnes pratiques 15
Oracle Database Server : MAA Real Application Cluster Objectifs Principe a. Tolérance aux pannes d instance et de serveur et redémarrage rapide b. Répartition de charge entre les instances c. Possibilité d ajouter des instances pour faire face aux montées en charge a. Plusieurs instances accèdent à la même base de données physique b. Chaque instance possède son propre tablespace UNDO c. Oracle Clusterware est responsable de la répartition de charge et de la détection de pannes Bonnes pratiques a. Utiliser des adresses virtuelles (VIP) pour faciliter la reprise sur incidents b. Utiliser la répartition de charge aux niveaux serveur et client c. Sauvegarder régulièrement Oracle Cluster Registry d. Protéger Oracle Cluster Registry des problèmes disque e. Optimiser les paramètres de recovery 1. Transaction : alter system set FAST_START_PARALLEL_ROLLBACK=HIGH 2. Instance : FAST_START_INSTANCE_RECOVERY_TARGET 16
Disponibilité Oracle Database Server : MAA Arrêt planifié Arrêt imprévu Modification Système Modification des données Panne Système Problème de données R A C R A C A S M A S M Flashback Réorganisation online Redéfinition online Bonnes pratiques 17
Oracle Database Server : MAA Data Guard Objectifs Principe a. Minimiser la durée des arrêts planifiés et de reprise sur incidents b. Ne pas prévoir de plage de sauvegarde sur la base primaire c. Permettre de faire du reporting sans surcharger la base primaire d. Resynchroniser une base de données primaire après incident a. Standby physique 1. Réplique physique de la base de données primaire 2. Application des archives logs de la base primaire sur la base secondaire b. Standby logique a. Application des ordres SQL envoyés vers la base primaire sur la base secondaire 18
Oracle Database Server : MAA Data Guard Bonnes pratiques a. Transport des archive logs b. Réseau 1. Augmenter le paramètre LOG_ARCHIVE_MAX_PROCESSES 2. Positionner le paramètre MAX_CONNECTIONS à 5 1. Taille DSU à 32Ko 2. Tampons TCP = 3xbande passante c. Surveiller les indicateurs de recovery avec la vue V$RECOVERY_PROGRESS 1. Average Apply Rate : Redo aplied / Elapsed time 2. Active Apply Rate : Redo applied / Active time 3. Apply Time per log 4. Checkpoint Time per log 19
Disponibilité Oracle Database Server : MAA Arrêt planifié Arrêt imprévu Modification Système Modification des données Panne Système Problème de données Data Guard R A C Data Guard R A C M A S M A S M A Flashback A Réorganisation online Redéfinition online Bonnes pratiques 20
Exemple d implémentation : MAA (1/2) 1. Technologies Oracle 1. RAC 2. ASM 3. Data Guard 4. Flashback 5. RMAN 2. Règles de bonnes pratiques opérationnelles tout aussi importantes 21
Exemple d implémentation MAA (2/2) 22
Et en dehors des technologies Oracle? 1. Oracle Application Server 1. Avec load balancer matériel ou logiciel a. Actif/Actif b. Actif/Passif 2. Oracle Database Server : serveurs en mode Actif/Passif 1. Plantage serveur sans corruption de disque ou de bloque a. Disques accessibles par le serveur de secours pour réouvirir la base de données 2. Corruption de disque ou de bloque a. Restauration quotidienne sur un serveur de secours 1. Effectuer un checksum pour valider la sauvegarde 2. Application des archive logs en cas d incident b. Possibilité d ouvrir la copie en mode lecture pour les batchs d extraction 23