Choix dans la configuration de l'instance
- Considérations initiales
- Influence de certains paramètres du PFILE
- Compatible, db_block_size, SGA_TARGET, PROCESSES, SESSIONS, UNDO_MANAGEMENT
- Gestion automatique des annulations conseillée. Voir V$UNDOSTATS et V$ROLLSTATS
- Dimension des fichier de reprise : un basculement toutes les 20 minutes...
- Créer suffisamment de tablespaces
- Gestion locale recommandée
- Ne pas oublier les tablespaces temporaires
- Gestion des tables
- Compresser les tables en lecture seule
- Récupérer l'espace libre dans les segments
- Créer les index après le remplissage des tables
- Laisser Oracle gérer la mémoire pour les tris dans la PGA
Choix dans la configuration de l'instance (cont.)
- Performances en mode processus serveurs partagés
- Rappel : un groupe de serveurs pour tous les clients
- Surveiller la charge des dispacher avec V$DISPACHER et V$DISPACHER_RATE
- Le taux d'utilisation courrant doit être loin du taux maximal
- Identifier les blocages des processus serveurs
- Avec V$QUEUE, pour le temps moyen d'attente des requêtes ou le nombre de serveurs qui tournent actuellement
- Ajouter si nécessaire des serveurs avec les paramètres d'instance
- Attention, vérifier si les blocages ne sont pas en mémoire SGA
Statistiques et diagnostiques automatiques
- Récolter des statistiques est crucial pour résoudre ou devancer les problèmes
- Concernant la base de données (donnés par Oracle)
- Les attentes de processus
- Le temps cumulé de travail de la base (DBTIME) ou de certaines actions
- Sur le système et les sessions...
- Concernant le SE (à récupérer avec des outils externes)
- Sur l'activité des CPU
- Sur le swapping
- Les accès disques
- Le réseau
- Des rapports automatiques de statistiques peuvent être générés en html par ORACLE
- Des diagnostiques et conseils automatiques sont générés à partir des stats
- Son but est de minimiser DBTIME...
Gestion de la mémoire
- En général, il est recommandé de laisser Oracle gérer la SGA
- paramètre SGA_TARGET différent de 0
- ne gère pas, notamment, le cache de reprise (paramètre LOG_BUFFER)
- Pour une gestion plus fine, on peut récolter des statistiques sur chaque partie de la SGA et gérer sa taille manuellement.
- Surveiller que le cache de reprise n'entraîne pas de ralentissement
- Stocker les fichiers de logs sur des disques rapides
- Dans les scripts, ne pas valider à chaque opération
- Lors de chargement de grands volumes de données, utiliser NOLOGGING
- Utiliser la gestion automatique de la PGA
- Surveiller et redéfinir si nécessaire
Gestion des entrées/sorties
- Rechercher la simplicité, tout en assurant les besoins requis. On n'isole des fichiers que pour des raisons de performances ou de pérénnité des données, ou s'il s'agit d'une contrainte de gestion
- Séparer les fichiers qui requièrent beaucoup d'E/S
- Une table et son index n'ont pas de raison d'être séparés
- Essayer tout d'abord de réduire les E/S en optimisant les requêtes...
- Si le problème vient des fichiers de reprise, les isoler
- Séparer les fichiers de reprise et les archives
- Penser au mode de gestion automatique des fichiers
- Bien choisir la taille de blocks
- 8 kilo en général
- éventuellement plus petit pour un système fortement transactionnel
- Plus grand en entreposage de données
fabien
2007-11-22