Vous êtes sur la page 1sur 23

Oracle Maximum Availability Architecture

Disponibilité des systèmes d’informations

Technologies et recommandations

Guillaume HARRY 30/07/07 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

Guillaume HARRY 30/07/07 2


Architecture d’un système d’information Oracle
Firewall Oracle Oracle Oracle Oracle Oracle
Application Server Application Server Application Server Database Internet
WebCache HTTP Server OC4J Server Directory

PL/SQL, PHP, ASP, …

Serveur
Cache Serveur Base
J2EE
de
WEB WEB Données
Middle Tier
CLIENTS

LDAP

Guillaume HARRY 30/07/07 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

Guillaume HARRY 30/07/07 4


Oracle Application Server : MAA

Actif / Actif

HTTP
WebCache OC4J …
Server

Load Cluster Cluster


CLIENTS
Balancer WebCache OC4J

HTTP
WebCache OC4J …
Server

Guillaume HARRY 30/07/07 5


Oracle Application Server : MAA

Actif / Passif

HTTP
WebCache OC4J …
Server

Load
CLIENTS
Balancer

HTTP
WebCache OC4J …
Server

Guillaume HARRY 30/07/07 6


Oracle Database Server : Description
Instance
System Global Area Shared Pool
Reserved Pool
Data Structures de contrôle
Database Buffer Cache Buffer Pool Buffer Pool Dictionary
Keep Recycle Cache Fixed SGA
Taille de bloques
par défaut Large Pool Library Cache
Java Pool PL/SQL
Tailles de bloques Shared
Streams Pool Procédures
supplémentaires SQL Area
Packages
Redo Log Buffer Cache

Serveurs DBW0 Processus


partagés PGA LGWR SMON REC0
Serveur CKPT ARC0 PMON LCK0
D000 dédié PGA

Listener
init.ora
Control
Redolog Archivelog et / ou password
Datafiles files spfile.ora
Base de données Fichiers locaux
Guillaume HARRY 30/07/07 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

Guillaume HARRY 30/07/07 8


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


Disponibilité

Guillaume HARRY 30/07/07 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

Guillaume HARRY 30/07/07 10


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


Disponibilité

Réorganisation online
Bonnes pratiques
Redéfinition online

Guillaume HARRY 30/07/07 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 »

Guillaume HARRY 30/07/07 12


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


Disponibilité

Flashback

Réorganisation online
Bonnes pratiques
Redéfinition online

Guillaume HARRY 30/07/07 13


Oracle Database Server : MAA

Automatic Storage Management


 Objectifs
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
 Principe
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

Guillaume HARRY 30/07/07 14


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


Disponibilité

ASM ASM

Flashback

Réorganisation online
Bonnes pratiques
Redéfinition online

Guillaume HARRY 30/07/07 15


Oracle Database Server : MAA

Real Application Cluster


 Objectifs
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
 Principe
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

Guillaume HARRY 30/07/07 16


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

RAC RAC
Disponibilité

ASM ASM

Flashback

Réorganisation online
Bonnes pratiques
Redéfinition online

Guillaume HARRY 30/07/07 17


Oracle Database Server : MAA

Data Guard
 Objectifs
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
 Principe
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

Guillaume HARRY 30/07/07 18


Oracle Database Server : MAA

Data Guard
 Bonnes pratiques
a. Transport des archive logs
1. Augmenter le paramètre LOG_ARCHIVE_MAX_PROCESSES
2. Positionner le paramètre MAX_CONNECTIONS à 5
b. Réseau
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

Guillaume HARRY 30/07/07 19


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 Data Guard

RAC RAC M
Disponibilité

ASM ASM
A
Réorganisation online
Flashback
A
Bonnes pratiques
Redéfinition online

Guillaume HARRY 30/07/07 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

Guillaume HARRY 30/07/07 21


Exemple d’implémentation MAA (2/2)

Guillaume HARRY 30/07/07 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

Guillaume HARRY 30/07/07 23

Vous aimerez peut-être aussi