0% ont trouvé ce document utile (0 vote)
64 vues4 pages

Oracle Tuning Course

L'optimisation des performances dans Oracle se concentre sur l'amélioration de l'efficacité des requêtes et la réduction des temps de réponse en analysant les structures, les index et l'utilisation des ressources. Les concepts clés incluent les modes d'optimisation, le rôle des statistiques, les plans d'exécution et les types d'index, ainsi que des outils d'analyse comme SQL Trace et AWR. Une approche méthodique est essentielle pour identifier et résoudre les problèmes de performance.

Transféré par

Simo Madani
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
64 vues4 pages

Oracle Tuning Course

L'optimisation des performances dans Oracle se concentre sur l'amélioration de l'efficacité des requêtes et la réduction des temps de réponse en analysant les structures, les index et l'utilisation des ressources. Les concepts clés incluent les modes d'optimisation, le rôle des statistiques, les plans d'exécution et les types d'index, ainsi que des outils d'analyse comme SQL Trace et AWR. Une approche méthodique est essentielle pour identifier et résoudre les problèmes de performance.

Transféré par

Simo Madani
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Cours : Optimisation des performances dans Oracle (Oracle Tuning)

## Introduction

L'optimisation des performances dans Oracle vise à améliorer l'efficacité des requêtes et à réduire

les temps de réponse.

Cela inclut l'analyse des structures, des index, des plans d'exécution et de l'utilisation des

ressources système.

## 1. Concepts de base de l'optimisation Oracle

### 1.1 Objectifs de l'optimisation

- Minimiser le temps d'exécution des requêtes SQL.

- Réduire l'utilisation des ressources système (CPU, mémoire, I/O).

- Maximiser la disponibilité et la fiabilité de la base.

### 1.2 Modes d'optimisation

- **Rule-Based Optimizer (RBO)** : Utilise des règles prédéfinies pour optimiser.

- **Cost-Based Optimizer (CBO)** : Prend en compte les statistiques et calcule le coût des

différentes stratégies.

## 2. Rôle des statistiques dans Oracle

### 2.1 Collecte de statistiques

Les statistiques permettent au CBO d'estimer le coût des opérations.

Commande principale :

EXEC DBMS_STATS.GATHER_TABLE_STATS('SCHEMA_NAME', 'TABLE_NAME');


### 2.2 Statistiques importantes

- Nombre de lignes dans une table.

- Distribution des données dans les colonnes.

- Taille des index et fragmentation.

## 3. Les plans d'exécution

### 3.1 Introduction aux plans d'exécution

Un plan d'exécution montre les étapes qu'Oracle suit pour exécuter une requête SQL. Utilisez

EXPLAIN PLAN pour visualiser un plan.

### Exemple :

EXPLAIN PLAN FOR SELECT * FROM employees WHERE department_id = 10;

SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY());

### 3.2 Interprétation d'un plan

- **Full Table Scan** : Oracle lit toute la table.

- **Index Scan** : Oracle utilise un index pour accéder directement aux données.

- **Nested Loop** : Jointure en boucle imbriquée.

- **Hash Join** : Jointure utilisant des tables de hachage.

## 4. Les index dans Oracle

### 4.1 Types d'index

- **B-tree** : Par défaut, adapté pour la majorité des cas.

- **Bitmap** : Pour des colonnes avec peu de valeurs distinctes.


- **Fonctionnels** : Index sur une fonction ou une expression.

### 4.2 Création d'un index

CREATE INDEX emp_dept_idx ON employees(department_id);

### 4.3 Bonnes pratiques

- Créez des index pour les colonnes utilisées dans les clauses WHERE ou JOIN.

- Évitez les index inutiles sur des tables fréquemment modifiées.

## 5. Analyse et outils d'optimisation

### 5.1 SQL Trace

Activez le traçage pour analyser les performances :

ALTER SESSION SET sql_trace = TRUE;

### 5.2 TKPROF

Utilisé pour formater les traces SQL.

### 5.3 Rapports AWR

- Fournissent des analyses sur la charge de travail.

- Génération d'un rapport :

@$ORACLE_HOME/rdbms/admin/[Link]

## 6. Gestion de la mémoire

### 6.1 Structures mémoire importantes

- **SGA** : Partagée par tous les processus Oracle.


- **PGA** : Utilisée par chaque session.

Ajustez les paramètres :

ALTER SYSTEM SET db_cache_size = 500M;

### 6.2 Optimisation des caches

- Vérifiez l'utilisation avec des vues comme V$BUFFER_POOL_STATISTICS.

## 7. Identification et résolution des problèmes courants

### 7.1 Verrous et blocages

Identifiez les sessions bloquées :

SELECT * FROM V$LOCK WHERE BLOCK > 0;

### 7.2 Problèmes liés aux E/S

Surveillez les tables ou index générant des Full Table Scans inutiles.

## Conclusion

L'optimisation des performances Oracle nécessite une approche méthodique : analyser, identifier

les goulots d'étranglement, appliquer les correctifs et surveiller régulièrement les performances.

Utilisez les outils Oracle pour faciliter ce processus.

Vous aimerez peut-être aussi