Embarcadero DB OPTIMIZER XE3/3.5 Guide de démarrage rapide

Ajouter à Mes manuels
80 Des pages
Embarcadero DB OPTIMIZER XE3/3.5 Guide de démarrage rapide | Fixfr
Documentation du produit
DB Optimizer™
Guide de prise en main
Version 3.5
Publié en avril 2012
© 2012 Embarcadero Technologies, Inc. Embarcadero, les logos Embarcadero Technologies, et
tous les autres noms de services ou de produits Embarcadero Technologies sont des marques
ou des marques déposées de Embarcadero Technologies, Inc. Toutes les autres marques sont la
propriété de leurs propriétaires respectifs.
Embarcadero Technologies, Inc. est le leader des outils primés, destinés aux développeurs
d'applications et aux professionnels des bases de données, leur permettant de concevoir de
bons systèmes, de les construire plus rapidement et de mieux les exécuter, quel que soit leur
plate-forme ou langage de programmation. Quatre-vingt-dix entreprises du classement des 100
premières entreprises américaines (liste "Fortune 100") et une communauté active de plus de
trois millions d'utilisateurs à l'échelle mondiale comptent sur les produits Embarcadero pour
augmenter leur productivité, réduire leurs coûts, simplifier la gestion des modifications et la
conformité, et accélérer l'innovation. Les outils phare de la société sont les suivants :
Embarcadero® Change Manager™, CodeGear™ RAD Studio, DBArtisan®, Delphi®, ER/
Studio®, JBuilder® et Rapid SQL®. Fondé en 1993, Embarcadero a son siège social à San
Francisco, avec des bureaux dans le monde entier. Visitez le site en ligne de Embarcadero sur
www.embarcadero.com.
Sommaire
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
À propos de ce document. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
Composants d'interface majeurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
Limitations de la version d'évaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
Limitations de DB Optimizer XE Developer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
Nouvelles fonctionnalités de DB Optimizer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
Nouvelles fonctionnalités de DB Optimizer 3.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Profilage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Réglage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Nouvelles fonctionnalités de DB Optimizer 3.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Exigences techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
Problèmes d'installation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
Installation de DB Optimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
Installation de DB Optimizer sur Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Licences DB Optimizer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Introduction à DB Optimizer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Démarrage de DB Optimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31
Présentation de l'interface utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32
Utilisation de la vue Data Source Explorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Ajout de sources de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Ajouter une source de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Navigation au sein des sources de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Profilage d'une source de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39
Démarrage d'une session de profilage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Analyse des données de la session. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Load Chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Top Activity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Profiling Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Afficher les détails de la session. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Afficher le code SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Enregistrement d'une session de profilage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Enregistrer une session de profilage sous un fichier .oar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Enregistrer une session de profilage dans le référentiel de profilage . . . . . . . . . . . . . . . . . . . . . . 47
G U I D E D E P RI S E E N M A I N D B O P T IM I ZE R ™ 3 . 5
3
Sommaire
Importation d'instructions vers SQL Tuner. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Réglage des instructions SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48
Création d'un nouveau travail de réglage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Créer un nouveau travail de réglage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Ajout d'instructions SQL à un travail de réglage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Ajouter un nouveau texte SQL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Ajouter un objet de base de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Ajouter un fichier SQL enregistré . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Ajouter des instructions SQL de SGA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Exécution d'un travail de réglage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Exécuter un travail de réglage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Analyse des résultats de SQL Tuner sur l'onglet Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Déterminer les meilleurs cas pour le temps du chemin d'exécution de l'instruction . . . . . . . . . . 58
Recherche des index manquants et des problèmes SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Recherche des index manquants. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Exploration du diagramme VST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Affichage ou masquage de la légende du diagramme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Affichage ou masquage du plan d'explication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Affichage ou masquage des compteurs et des ratios des tables . . . . . . . . . . . . . . . . . . . . . . 63
Affichage ou masquage des colonnes et des index des tables . . . . . . . . . . . . . . . . . . . . . . . 64
Visualisation de tous les champs d'une table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Visualisation du code SQL d'un objet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Visualisation des relations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Développement des vues dans le diagramme VST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Recherche d'un code SQL ou d'un schéma problématique. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Implémentation des recommandations sur l'onglet Index Analysis . . . . . . . . . . . . . . . . . . . . . . . . . 69
Accepter la suggestion et générer automatiquement un index. . . . . . . . . . . . . . . . . . . . . . . . . . . 69
SQL Code Assist et exécution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70
Extraction du code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Mise en évidence du code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Détection automatique des erreurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Achèvement du code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Hyperliens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Formatage du code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Pliage du code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Contrôles de qualité du code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Exécution SQL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Exécuter un fichier. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
4
G U ID E D E P RIS E E N M A IN D B O P T IM IZ E R ™ 3 . 5
Sommaire
Exécuter une transaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Valider une transaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Configuration des paramètres d'exécution SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Modifier les options des sessions SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
G U I D E D E P RI S E E N M A I N D B O P T IM I ZE R ™ 3 . 5
5
Sommaire
6
G U ID E D E P RIS E E N M A IN D B O P T IM IZ E R ™ 3 . 5
INTRODUCTION
Embarcadero DB Optimizer simplifie le développement et l'optimisation SQL par le biais de
nombreuses fonctionnalités permettant d'améliorer la productivité et de réduire les erreurs. Un
EDI SQL riche, avec le réglage des instructions, le profilage des sources de données,
l'achèvement du code, la vérification des erreurs en temps réel, le formatage du code ainsi que
des outils sophistiqués de validation des objets, vous aide à rationaliser le codage des tâches.
L'interface utilisateur de DB Optimizer vous permet d'améliorer la productivité globale avec des
composants de réglage, de surveillance et de développement intégrés. DB Optimizer offre un
support natif pour IBM® DB2® for LUW, Oracle®, Microsoft® SQL Server et Sybase®, ainsi que
le support JDBC pour d'autres SGBDs. Il est disponible sous la forme d'une application
autonome ou d'un plug-in Eclipse. DB Optimizer est structuré et composé de trois parties
d'interface principales. Cette conception fournit un flux de travail complet qui permet le
développement, l'analyse des requêtes et les capacités de réglage. Ce flux de travail, à son tour,
conduit à une gestion des tâches plus efficace en termes de temps et d'efficacité, en général.
À PROPOS DE CE DOCUMENT
Ce document vous aide à installer DB Optimizer et introduit les fonctionnalités de base de DB
Optimizer.
REMARQUE : Pour obtenir les dernières versions des documents DB Optimizer et les informations les
plus récentes sur l'installation et la mise à niveau, incluant les exigences techniques et
les bases de données supportées, voir le site web de la documentation Embarcadero.
N'oubliez pas de lire le fichier README, pour les mises à jour de dernière minute, sur
docs.embarcadero.com/products/db_optimizer.
COMPOSANTS D'INTERFACE MAJEURS
Les trois composants d'interface majeurs de DB Optimizer sont les suivants :
SQL Profiler : Fournit une surveillance permanente des sources de données qui construit un
profil ou modèle statistique, de la source de données spécifiée, et signale les instructions SQL,
les événements et les sessions d'activité supérieure. Ce composant est utilisé pour localiser et
diagnostiquer le code SQL problématique et les goulets d'étranglement basés sur les
événements via son interface graphique, qui est utilisée pour identifier les zones
problématiques et explorer les instructions individuelles problématiques. En outre, SQL Profiler
permet l'examen des détails des événements d'exécution et de temps d'attente pour les
routines stockées individuelles. Les détails de profilage du composant SQL Profiler ont été
étendus afin de montrer les détails des sessions pour Sybase, SQL Server et le code SQL qui a
été exécuté dans la session sélectionnée pour Sybase, SQL Server et DB2.
G U I D E D E P RI S E E N M A I N D B O P T IM I ZE R ™ 3 . 5
7
Introduction > Limitations de la version d'évaluation
SQL Tuner : Fournit un moyen facile et optimal de découvrir les chemins efficaces des
requêtes qui ne peuvent pas s'exécuter aussi rapidement et efficacement qu'elles le devraient.
SQL Tuner permet l'optimisation du code SQL à faibles performances à travers la détection et la
modification des chemins d'exécution dans la récupération des données à travers les injections
d'indications. Les utilisateurs reçoivent la liste des cas possibles générés par SQL Tuner, et ils
peuvent sélectionner et mettre à jour une instruction avec le chemin le plus efficace afin de
réduire la charge et améliorer l'efficacité, en général. L'onglet Analysis du composant SQL Tuner
fournit un diagramme graphique d'une requête SQL pour montrer comment les tables de la
requête doivent être jointes afin de satisfaire la requête, et fournit aussi des suggestions sur la
création d'index susceptibles d'augmenter les performances de la requête.
SQL Editor : Simplifie le développement SQL en utilisant les fonctionnalités qui améliorent la
productivité et réduisent les erreurs. Il fournit une interface riche qui propose l'achèvement du
code, le contrôle des erreurs en temps réel, le formatage du code et des outils sophistiqués de
validation des objets. En contexte avec SQL Profiler et SQL Tuner, il fournit une interface de
visualisation et d'édition des fichiers SQL et des packages de bases de données, comme à
travers les fonctionnalités de SQL Profiler et SQL Tuner.
LIMITATIONS DE LA VERSION D'ÉVALUATION
Les limitations suivantes s'appliquent à la version d'évaluation de DB Optimizer. Ces limitations
sont retirées dès l'achat du produit.
• Le réglage et le profilage de ligne de commande ne sont pas disponibles.
• Le nombre de sessions de profilage que vous pouvez exécuter est limité.
• Le profilage est limité en ce sens que vous ne pourrez pas voir le texte SQL capturé de la
source de données profilée.
• Seul l'onglet Ad Hoc SQL est disponible pour la spécification des sources de réglage. Vous
ne pouvez pas régler les objets de bases de données, les fichiers SQL ou le SGA Oracle.
• Le nombre d'extractions d'instructions de SQL Profiler vers SQL Tuner est limité.
• Dans l'éditeur de réglage, les actions Case suivantes sont désactivées : Clone Case, Edit
Case et Create Custom Case.
8
G U ID E D E P RIS E E N M A IN D B O P T IM IZ E R ™ 3 . 5
Introduction > Limitations de DB Optimizer XE Developer
LIMITATIONS DE DB OPTIMIZER XE DEVELOPER
Les fonctionnalités suivantes ne sont pas supportées sur DB Optimizer XE Developer :
• VST (Visual SQL Tuning).
• L'analyse des indications via l'injection d'indications SQL pour les sources de données
Oracle.
• L'enregistrement des sessions de profils dans un référentiel de source de données Oracle.
NOUVELLES FONCTIONNALITÉS DE DB OPTIMIZER
Cette section comprend les rubriques suivantes :
• Nouvelles fonctionnalités de DB Optimizer 3.5 page 10
• Nouvelles fonctionnalités de DB Optimizer 3.0 page 20
G U I D E D E P RI S E E N M A I N D B O P T IM I ZE R ™ 3 . 5
9
Introduction > Nouvelles fonctionnalités de DB Optimizer
NOUVELLES FONCTIONNALITÉS DE DB OPTIMIZER 3.5
PROFILAGE
La gestion des référentiels a été améliorée et simplifiée.
Une nouvelle page de préférences, Profile Repositories, a été ajoutée :
Les préférences Profile Repositories sont disponibles dans le menu Preferences. Vous
pouvez recenser et dérecenser ici les sources de données Oracle 9+ en tant que
référentiels. Une source de données doit être disponible dans l'explorateur de sources de
données avant qu'elle puisse être utilisée en tant que référentiel.
Vous pouvez aussi accéder au dialogue Profile Repositories Preferences à partir du dialogue
Profile Configurations.
10
G U I D E D E P RI S E E N M A I N D B O P T I M IZ E R ™ 3 . 5
Introduction > Nouvelles fonctionnalités de DB Optimizer
Dans la zone Profiling Target du dialogue Profile Configurations, vous pouvez cliquer sur la
liste Data source pour y choisir une source de données référentiel de profilage recensée.
Une source de données recensée en tant que référentiel de profilage apparaît dans le
noeud Profiling Repositories de l'explorateur de sources de données et elle possède aussi
un noeud enfant Profile Repository sous son entrée dans le dossier Managed Data Sources.
Le dérecensement d'une source de données vous invite à supprimer facultativement toutes
les sessions sur le référentiel.
G U I D E D E P RI S E E N M A I N D B O P T IM I ZE R ™ 3 . 5
11
Introduction > Nouvelles fonctionnalités de DB Optimizer
Nouveaux filtres pour le profilage
Vous pouvez maintenant limiter davantage l'activité vue pour une source de données dans un
travail de profilage, en utilisant les nouveaux filtres disponibles.
• Filtre Application/Programme disponible sur les quatre plates-formes
• Filtre Nom d'utilisateur disponible sur les quatre plates-formes
• Filtre Nom de schéma disponible pour Oracle et DB2
• Filtre Base de données disponible pour SQL Server et Sybase
Capture variable/paramètre pour Oracle
Le profilage d'une source de données Oracle capture et définit maintenant toutes les propriétés
des variables/paramètres lors du réglage d'une instruction SQL capturée dans une session de
profilage.
RÉGLAGE
En plus d'offrir un rapport de profilage, DB Optimizer fournit maintenant un rapport de
réglage.
A partir d'une session de réglage, cliquez sur le bouton Export Report pour exporter les détails
de la session de réglage.
12
G U I D E D E P RI S E E N M A I N D B O P T I M IZ E R ™ 3 . 5
Introduction > Nouvelles fonctionnalités de DB Optimizer
Sur l'onglet Tuning Cases du dialogue Export a Tuning Report, vous pouvez choisir d'établir
des rapports sur tous les cas de réglage, ou seulement sur les cas sélectionnés.
G U I D E D E P RI S E E N M A I N D B O P T IM I ZE R ™ 3 . 5
13
Introduction > Nouvelles fonctionnalités de DB Optimizer
Sur l'onglet Configuration du dialogue Export a Tuning Report, vous pouvez personnaliser le
contenu du rapport en effectuant un choix parmi une variété d'options.
14
G U I D E D E P RI S E E N M A I N D B O P T I M IZ E R ™ 3 . 5
Introduction > Nouvelles fonctionnalités de DB Optimizer
Gestion des variables de liaison largement améliorée
Vous pouvez utiliser l'éditeur Bind Variable pour définir les types ou les variables.
1 Cliquez sur l'icône Edit Bind Variable.
Le dialogue Edit Bind Variables apparaît.
Vous pouvez définir les variables de liaison pour toutes les instructions de réglage en même
temps, ou bien les définir pour chaque instruction select individuellement. Si vous définissez
la variable de liaison dans la section All Tuning Statements, vous pourrez toujours redéfinir
ce paramétrage pour une instruction select individuelle.
2 Définissez la variable de liaison en cliquant sur la case NULL, en cliquant sur la colonne Data
Type et en sélectionnant le type de données dans la liste, ou en cliquant sur la colonne
Value et en entrant la valeur.
G U I D E D E P RI S E E N M A I N D B O P T IM I ZE R ™ 3 . 5
15
Introduction > Nouvelles fonctionnalités de DB Optimizer
3 Si vous voulez définir la variable de liaison pour une instruction select individuelle, cliquez
sur le bouton d'expansion pour voir toutes les instructions select. Le bouton d'expansion est
signalé par un cadre rouge dans l'image précédente.
De cette façon, vous pouvez définir les variables de liaison pour toutes les instructions de
réglage, puis redéfinir ce paramétrage en définissant la variable de liaison pour une
instruction select spécifique.
16
G U I D E D E P RI S E E N M A I N D B O P T I M IZ E R ™ 3 . 5
Introduction > Nouvelles fonctionnalités de DB Optimizer
La définition des variables de liaison peut vous sembler plus facile quand vous voyez
l'instruction de réglage. Dans la section Generated Cases, vous pouvez double-cliquer sur
une instruction pour afficher un éditeur dans lequel vous pouvez éditer l'instruction SQL et
définir les types de données et les valeurs des variables.
Extraction automatique des variables de liaison pour Oracle SGA
Quand vous choisissez de régler les instructions par analyse SGA sur une source de données
Oracle, les variables de liaison et leur variable sont automatiquement extraites.
G U I D E D E P RI S E E N M A I N D B O P T IM I ZE R ™ 3 . 5
17
Introduction > Nouvelles fonctionnalités de DB Optimizer
Interface utilisateur plus intuitive (redéfinitions de catalogues/schémas, flux de travaux
simplifiés)
Utilisez les sélecteurs de schéma et de catalogue pour sélectionner un schéma et un catalogue
pour le travail de réglage. Le sélecteur de catalogue est disponible seulement pour les sources
de données SQL Server et Sybase. En spécifiant le schéma et le catalogue, le programme de
réglage peut utiliser les chemins du schéma et du catalogue sélectionnés pour trouver les tables
interrogées dans le travail, au lieu d'utiliser les chemins du schéma et du catalogue utilisés pour
se connecter à la source de données. Si vous changez le schéma ou le catalogue utilisé dans une
instruction de réglage, vous devez actualiser les instructions de réglage afin que les nouveaux
cas soient générés, prenant en compte le schéma utilisé. Cliquez avec le bouton droit sur une
instruction de réglage et sélectionnez Refresh Tuning Statements.
18
G U I D E D E P RI S E E N M A I N D B O P T I M IZ E R ™ 3 . 5
Introduction > Nouvelles fonctionnalités de DB Optimizer
Diagrammes VST
Vous pouvez maintenant sélectionner un cas généré et voir son diagramme VST.
Pour choisir le cas généré à analyser, cliquez sur la deuxième liste de Select statement of
interest et choisissez un cas généré.
Dès que vos sélections sont effectuées, une nouvelle analyse est réalisée en tenant compte
de l'instruction ou du cas choisi. Si justifié, un nouveau diagramme est affiché et l'analyse
des index est mise à jour pour toutes les sources de données. En outre, pour les sources de
données Oracle, les statistiques des tables, les histogrammes et les statistiques des
colonnes, et les plans sont aussi mis à jour.
Couverture SQL améliorée à travers toutes les plates-formes
Le support complet des alias et des synonymes a été ajouté dans l'éditeur de réglage pour
toutes les plates-formes, supporté auparavant seulement sur la plate-forme Oracle.
Le support complet des vues matérialisées a été ajouté sur Oracle, et le support complet des
tables de requêtes matérialisées a été ajouté sur DB2.
Réécritures de requêtes, auparavant seulement disponibles sur Oracle, maintenant
disponibles sur toutes les plates-formes : DB2, Oracle, SQL Server et Sybase.
Les réécritures ou transformations de requêtes suivantes sont recommandées pendant le
réglage. Les exemples ci-dessous concernent les sources de données Oracle. Les
implémentations pour les sources de données DB2, SQL Server et Sybase sont légèrement
différentes. Ces réécritures sont disponibles sur les quatre plates-formes, à l'exception de celles
signalées pour ORACLE et DB2 seulement.
Avant
Après
select * from t1 where
EXISTS
(select null from t2 where t2.key = t1.key);
select * from t1 where t1.key
IN
(select t2.key from t2);
select * from t1 where
NOT EXISTS
(select null from t2 where t2.key = t1.key);
select * from t1 where t1.key
NOT IN
(select t2.key from t2 where t2.key is not null);
G U I D E D E P RI S E E N M A I N D B O P T IM I ZE R ™ 3 . 5
19
Introduction > Nouvelles fonctionnalités de DB Optimizer
Avant
Après
select * from t1 where t1.key
(select t2.key from t2);
select * from t1 where
EXISTS
(select null from t2 where t2.key = t1.key);
select * from t1 where t1.key
NOT IN
(select t2.key from t2 where t2.key is not null);
select * from t1 where
NOT EXISTS
(select null from t2 where t2.key = t1.key);
select * from t1 where
NOT EXISTS
(select null from t2 where t2.key = t1.key);
select t1.* from t1, t2 where t1.key = t2.key(+) and t2.key
is null
select * from t1 where t1.key
NOT IN
(select t2.key from t2 where t2.key is not null);
select t1.* from t1, t2 where t1.key = t2.key(+) and t2.key
is null;
select column BETWEEN X AND Y
select (column <= X AND column >= Y)
select column NOT BETWEEN X AND Y
select (column < X AND column > Y)
select (column<= X AND column >= Y)
select column BETWEEN X AND Y
select (column < X AND column > Y)
select column NOT BETWEEN X AND Y
select t1.* from t1, t2 where t1.key = t2.key
and
t2.col = 10;
select t1.* from t1,
(select * from t2 where t2.col = 10) inline_alias
where t1.key= inline_alias.key;
IN
Pour DB2 et Oracle seulement
select t2.* from t1, t2 where t1.key = t2.key
and
t1.col is null
select * from t2 where t2.key
IN
(select t1.key from t1 where t1.col is null )
Autres
• DB Optimizer a été mis à jour pour bénéficier des améliorations de Eclipse 3.6 et de Java
1.6.
• L'interface utilisateur et la documentation utilisateur de DB Optimizer ont été traduites en
chinois.
NOUVELLES FONCTIONNALITÉS DE DB OPTIMIZER 3.0
Changements de l'interface utilisateur
• Retrait des éléments d'interface utilisateur spécifiques à Eclipse : Afin de mieux se
concentrer sur les flux de travail et les fonctionnalités spécifiques à DB Optimizer, les
éléments d'interface utilisateur fournis par le framework Eclipse sous-jacent et servant
essentiellement au développement Java ont été retirés. Notamment les menus Navigate,
Project et Run, ainsi que les boutons de la barre d'outils relatifs au débogage et à la
navigation au sein du code.
20
G U I D E D E P RI S E E N M A I N D B O P T I M IZ E R ™ 3 . 5
Introduction > Nouvelles fonctionnalités de DB Optimizer
• Raccourcis aux préférences de DB Optimizer : Un nouveau menu Preferences a été
ajouté, avec des raccourcis vers les pages de préférences relatives à la configuration de DB
Optimizer. Ces pages (et leurs entrées de menu associées) sont Data Sources, SQL
Development, SQL Editor, SQL Execution, SQL Filters, Data Source Indexing, Profile
Alerts et Tuning Job Editor. L'ensemble de toutes les préférences est disponible sous
l'option Preferences > Other, et l'option Window > Preferences auparavant disponible.
Indexation des objets activée par défaut
Les versions antérieures de DB Optimizer comportaient une option permettant de créer un
index d'objets de schéma sur une source de données afin de fournir l'achèvement du code et la
validation de la sémantique des noms d'objets dans l'éditeur SQL, mais cette option était
désactivée par défaut car elle pouvait affecter les performances de la source de données. Dans
DB Optimizer 3.0, la vitesse et l'efficacité de l'indexation des objets ont été considérablement
améliorées. Ainsi, cette fonctionnalité est à présent activée par défaut. Cette option peut
toujours être désactivée dans la fenêtre des préférences (disponible depuis l'option
Preferences > Data Source Indexing).
Nouvelles actions sur les sessions Oracle pendant le profilage
Lors du profilage d'une source de données Oracle, l'onglet Sessions de l'éditeur de profilage
contient deux nouvelles actions de menu contextuel sur les lignes de la grille de session :
• Kill Session : Indique à la base de données de tuer la session donnée. La session apparaîtra
toujours dans l'éditeur de profilage, selon son activité, avant d'être tuée.
• Trace Session : Indique à la base de données de commencer une opération de traçage
complète sur la session. Cette opération exécute simplement set_sql_trace_in_session
du package dbms_system de Oracle pour la session donnée.
Profilages MS SQL Server et Sybase ASE améliorés
Les profilages sur Microsoft SQL Server et Sybase Adaptive Server Enterprise sont à présent plus
efficaces, contribuant ainsi à moins de 2% de charge sur la source de données profilée sous la
plupart des conditions. En outre, davantage de données exactes sont collectées.
Interface utilisateur améliorée pour l'éditeur de réglage
L'onglet Input dédié de l'éditeur de réglage (Tuning Editor) a été retiré, permettant à
l'utilisateur de spécifier les instructions de réglage directement dans l'onglet Overview.
Dans le coin supérieur droit de l'éditeur de réglage, un bouton de sélection d'entrées permet
d'ajouter des instructions de réglage depuis les sources suivantes :
• New SQL Text : Texte entré / collé par l'utilisateur dans une boîte de dialogue.
• Extract from Database Object : Utilisez les instructions SQL DML d'un objet de schéma
approprié (tel que les vues, procédures, déclencheurs, fonctions, vues matérialisées et
packages). Autrement, les objets peuvent être glissés et déposés sur la grille Tuning
Statements depuis l'arborescence de l'explorateur de sources de données.
G U I D E D E P RI S E E N M A I N D B O P T IM I ZE R ™ 3 . 5
21
Introduction > Nouvelles fonctionnalités de DB Optimizer
• Import from File (Workspace) : Importez les instructions d'un fichier dans un projet SQL
existant.
• Import from File (System) : Importez les instructions d'un fichier sur un disque local, ou
d'un partage de réseau.
Pour visualiser ou modifier une instruction de réglage, ou pour lier des valeurs de variables dans
l'instruction, double-cliquez sur l'instruction dans la grille ou cliquez avec le bouton droit et
sélectionnez Edit… dans le menu contextuel.
Profilage Oracle RAC
Toutes les instances d'un RAC (Real Application Cluster) Oracle peuvent être profilées en
utilisant une session de profilage unique (et une connexion unique au cluster). Pour activer cette
fonctionnalité pour une source de données RAC, vous devez accéder au dialogue Profile
Configurations, selon l'une des façons suivantes :
• Cliquez avec le bouton droit sur la source de données dans l'explorateur de sources de
données et sélectionnez Profile As > Profile Configurations….
• Cliquez sur le bouton flèche vers le bas auprès du bouton New Profiling Session dans la
barre d'outils, et sélectionnez Profile Configurations….
Dans le dialogue Profile Configurations, cochez la case Real Application Cluster (RAC) mode.
Dans une session de profilage RAC, la barre de filtres située en haut de l'éditeur de profilage
inclut un filtre Instances, vous permettant de visualiser les résultats du profilage pour des
instances individuelles dans le cluster, ou de montrer les résultats des sessions de toutes les
instances de cluster.
En outre, plusieurs onglets de la vue Profiling Details montreront l'identificateur (ID) de
l'instance sur laquelle l'instruction / la session / l'événement sélectionné a été observé.
Alertes de profilage
Lors du profilage, des alertes peuvent être déclenchées selon des seuils définis sur le nombre
de :
• Sessions actives
• Sessions confrontées à une condition d'attente
• Sessions actives non présentes sur la CPU
Ces alertes peuvent produire une notification système (depuis la barre d'état Windows) et/ou
générer un email à envoyer sur une ou plusieurs adresses. Cela vous permet de commencer une
session de profilage, de continuer par un autre travail et de revenir à DB Optimizer quand
l'alerte a été déclenchée afin d'examiner la cause sous-jacente.
Les alertes sont configurables sur la page des préférences, disponible depuis l'élément de menu
Preferences > Profile Alerts. Les alertes sont configurables par source de données, et plusieurs
alertes peuvent être configurées pour une session de profilage.
22
G U I D E D E P RI S E E N M A I N D B O P T I M IZ E R ™ 3 . 5
Introduction > Nouvelles fonctionnalités de DB Optimizer
Afin de générer des messages email pour les alertes, les options du serveur de messagerie
doivent être spécifiées sur la page Email Settings sous les préférences Profile Alerts, et un ou
plusieurs destinataires doivent être spécifiés sur la page Email Contacts.
Rapports de profilage
Les résultats d'une session de profilage sont maintenant exportables sous la forme d'un
document HTML ou PDF qui peut être enregistré pour un usage ultérieur, un partage ou une
impression.
Dans l'éditeur de profilage, le bouton Export Report se trouve dans le coin supérieur droit,
entre les options de filtrage et le bouton Help.
Par défaut, le rapport est généré pour la durée totale de la session de profilage. Pour restreindre
le rapport à un intervalle de temps particulier, cliquez et faites-glisser sur le graphe de la session
de profilage. Pour effacer la sélection, cliquez une fois sur le graphe à l'extérieur de la sélection.
Support des expressions de tables communes sur Oracle et MS SQL Server
L'éditeur SQL et l'éditeur de réglage supportent à présent les expressions de tables
communes (Common Table Expressions, CTEs) à la fois pour Oracle et SQL Server. Sont incluses
la mise en évidence syntaxique et la vérification dans l'éditeur, ainsi que la génération des plans
d'explication pour les CTEs depuis l'éditeur SQL et l'éditeur de réglage.
Réglage SQL visuel amélioré pour Oracle
Le diagramme VST (Visual SQL Tuning) pour Oracle 10g et 11g comporte maintenant une
option permettant de présenter les détails du plan d'explication en plus des relations de
colonnes. L'affichage du plan d'explication peut être activé / désactivé en cliquant sur le
bouton le plus à gauche qui apparaît quand vous déplacez la souris au-dessus du diagramme
SQL Analysis.
Les noeuds supplémentaires présentés dans la superposition du plan d'explication fournissent
des détails sur le flux du plan de requête, avec des opérations (telles que des boucles
imbriquées, des tris et des jointures) montrant la connexion des tables, ainsi que d'autres
opérations.
G U I D E D E P RI S E E N M A I N D B O P T IM I ZE R ™ 3 . 5
23
Introduction > Nouvelles fonctionnalités de DB Optimizer
Comparez le diagramme VST suivant sans la superposition du plan d'explication (pratiquement
inchangé depuis les versions antérieures) :
Avec ce diagramme VST pour la même requête avec les opérations (quatre boucles imbriquées
et une jointure de hachage) du plan d'explication présenté ci-dessous :
24
G U I D E D E P RI S E E N M A I N D B O P T I M IZ E R ™ 3 . 5
INSTALLATION
Cette section vous aide à installer DB Optimizer. Elle est constituée des rubriques suivantes :
• Problèmes d'installation page 25
• Installation de DB Optimizer page 25
REMARQUE : Pour obtenir des informations sur l'installation de DB Optimizer XE, incluant
Embarcadero AppWave, consultez les guides AppWave Quick Start Guide et
AppWave Administrator Guide sur docs.embarcadero.com/products/appwave.
EXIGENCES TECHNIQUES
Pour obtenir des informations sur les exigences techniques de DB Optimizer, notamment les
bases de données et les systèmes d'exploitation supportés, consultez le Readme sur
docs.embarcadero.com/products/db_optimizer.
PROBLÈMES D'INSTALLATION
DB Optimizer doit être installé dans un répertoire différent de celui des versions précédentes de
DB Optimizer. Si DB Optimizer est installé dans le même répertoire, l'erreur suivante se produira
au démarrage de l'application : "Unable to read workbench state. Workbench UI layout will be
reset".
Si une version précédente est déjà installée sur votre machine, changez le répertoire Workspace
par défaut ou supprimez tous les fichiers du répertoire Workspace. L'emplacement du répertoire
Workspace apparaît chaque fois que vous démarrez DB Optimizer, et il peut être redéfini dans
cette boîte de dialogue. Si le même espace de travail (Workspace) est indiqué pour la nouvelle
version que celui indiqué préalablement, vous obtiendrez l'erreur suivante : "Cannot restore
workbench layout".
Si DB Optimizer est déjà en cours d'exécution, vous pouvez aussi modifier le répertoire
Workspace en choisissant File > Switch Workspace > Other dans le menu principal.
INSTALLATION DE DB OPTIMIZER
Pour installer DB Optimizer, exécutez l'installateur et suivez les invites fournies par l'expert
d'installation. Quand l'installation est terminée, examinez le fichier ReadMe pour vérifier s'il
contient des conseils ou des problèmes connus qui affecteront l'installation de votre produit.
G U I D E D E P RI S E E N M A I N D B O P T IM I ZE R ™ 3 . 5
25
Installation > Installation de DB Optimizer
INSTALLATION DE DB OPTIMIZER SUR LINUX
1 Téléchargez l'installateur de DB Optimizer et définissez les permissions d'exécution comme
suit :
chmod 755 dbo_<version>.bin
2 Lancez l'installateur en mode GUI (interface utilisateur graphique) à partir de la console.
./dbo_<version>.bin
L'écran de démarrage de DB Optimizer apparaît pendant un bref instant, puis le dialogue
de l'installateur apparaît.
3 Sur le dialogue Introduction, cliquez sur Next.
4 Sur le dialogue License Agreement, lisez le contrat de licence (License Agreement),
sélectionnez "I accept the terms of the License Agreement", puis cliquez sur Next.
5 Sur le dialogue Choose Install Set, choisissez l'une des deux options et cliquez sur Next.
• Install as Standalone Application : Cette option installe DB Optimizer en tant
qu'application autonome, sans prérequis.
• Install as Eclipse Plug-in : Cette option requiert Eclipse 3.5 ou une version supérieure, ou
une application RCP basée sur Eclipse.
6 Sur le dialogue Choose Install Folder, selon l'option préalablement sélectionnée, vous
pouvez sélectionner un dossier de destination pour l'installation de la version autonome, ou
naviguer jusqu'au dossier contenant Eclipse 3.6 (ou une version supérieure) ou une
application RCP basée sur Eclipse 3.6.
7 Après la sélection du dossier désiré, cliquez sur Next.
8 Sur le dialogue Choose Link Folder, vous pouvez changer l'emplacement où les liens
Application/Uninstall sont créés. Choisissez l'une des options et cliquez sur Next.
9 Sur le résumé de pré-installation, vérifiez les détails de l'installation puis cliquez sur Install.
Le dialogue Installing montre la progression de l'installation ; il se ferme à la fin de
l'installation.
10 Quand le dialogue Install Complete apparaît, vous pouvez sélectionner Start
Embarcadero DB Optimizer si vous voulez démarrer l'application pour une première
utilisation et cliquer sur Done.
26
G U I D E D E P RI S E E N M A I N D B O P T I M IZ E R ™ 3 . 5
Installation > Installation de DB Optimizer
LICENCES DB OPTIMIZER
DB Optimizer supporte les types de licence suivants :
• Licences d'évaluation : Une licence d'une période de 14 jours, pour une version
d'évaluation incluant toutes les fonctionnalités du produit. La licence d'évaluation doit être
enregistrée pour utiliser le produit. Pour de plus amples informations, voir Enregistrement
d'une licence d'évaluation ou d'une licence de station de travail au démarrage de
l'application page 27.
• Licences de station de travail ou licences d'utilisateurs nommés : Une licence ou un
ensemble de licences qui est lié à une station de travail particulière. Le produit ne peut être
utilisé que sur cette station de travail. Pour de plus amples informations, voir Enregistrement
d'une licence de station de travail après le démarrage de l'application page 28.
• Licences d'utilisateurs simultanés : Si vous utilisez AppWave et DB Optimizer, vous pouvez
aussi disposer de licences d'utilisateurs simultanés qui sont des licences flottantes
permettant l'utilisation simultanée d'une licence par un nombre spécifique d'utilisateurs,
sans lier la licence à un numéro de série de station de travail spécifique. Pour de plus amples
informations, voir la section "Licensing" du guide AppWave Administrator Guide.
Si vous rencontrez des problèmes d'enregistrement, voir Enregistrement par téléphone
page 28.
Enregistrement d'une licence d'évaluation ou d'une licence de station de travail au
démarrage de l'application
Peu de temps après le téléchargement d'une version d'évaluation d'un produit Embarcadero,
Embarcadero vous envoie un email contenant un numéro de série qui doit être enregistré
comme suit. Ces instructions s'appliquent aussi si vous avez acheté un produit et reçu un
numéro de série avant d'exécuter l'application pour la première fois, ou si la période
d'évaluation a expiré.
1 Démarrez l'application.
La boîte de dialogue Embarcadero License Registration apparaît.
2 Copiez le numéro de série de l'email, puis collez-le dans le champ Serial Number.
3 Entrez les informations d'identification de votre compte EDN (Embarcadero Developer
Network, Réseau Développeurs Embarcadero) dans les champs Login or Email et
Password.
Si vous n'avez pas créé auparavant un compte EDN, ou si vous avez oublié votre mot de
passe, cliquez sur I need to create ... ou I've lost my password.
4 Cliquez sur Register.
Le fichier d'activation doit se télécharger et s'installer automatiquement. Si cela ne se
produit pas, cliquez sur le lien Trouble Connecting? Try Web Registration et suivez les
invites. Si vous avez toujours des problèmes, voir Enregistrement par téléphone page 28.
G U I D E D E P RI S E E N M A I N D B O P T IM I ZE R ™ 3 . 5
27
Installation > Installation de DB Optimizer
Enregistrement d'une licence de station de travail après le démarrage de l'application
Les instructions suivantes supposent que vous avez reçu une licence de station de travail par
email et que vous disposez actuellement d'une licence d'évaluation valide. Si vous n'avez pas
installé une version d'évaluation ou si la période d'évaluation a expiré, suivez à la place les
instructions de la section Enregistrement d'une licence d'évaluation ou d'une licence de station
de travail au démarrage de l'application page 27.
1 Cliquez sur Help > Launch License Manager.
2 Dans le dialogue License Manager, cliquez sur Serial > Add.
3 Copiez le numéro de série de l'email, collez-le dans le champ Add Serial Number, puis
cliquez sur OK.
4 Développez Unregistered Serial Numbers, cliquez avec le bouton droit sur le numéro de
série que vous venez d'ajouter, puis cliquez sur Register.
Un dialogue d'enregistrement apparaît.
REMARQUE : La zone Registration Code contient un identificateur spécifique à la machine, requis
avec d'autres méthodes d'enregistrement.
5 Assurez-vous que Register using Online Registration est sélectionné.
6 Fournissez les informations d'identification du Réseau Développeurs (EDN) dans les champs
Login or Email et Password.
7 Cliquez sur Register.
Le fichier d'activation doit se télécharger et s'installer automatiquement. Si cela ne se
produit pas, cliquez sur le lien Trouble Connecting? Try Web Registration et suivez les
invites. Si vous avez toujours des problèmes, voir Enregistrement par téléphone page 28.
Enregistrement par téléphone
Si vous avez rencontré des problèmes avec les procédures ci-dessus, vous pouvez enregistrer les
licences par téléphone. Vous devez fournir les informations suivantes :
• Informations d'identification EDN (Embarcadero Developer Network)
• Le code d'enregistrement affiché dans le dialogue Embarcadero License Registration qui
apparaît lorsque vous démarrez une application pour laquelle vous n'avez pas enregistré
une licence
• Le numéro de série de la licence de base du produit
• Le numéro de série de licence pour toute fonctionnalité supplémentaire que vous avez
achetée.
Pour l'Amérique du Nord, l'Amérique latine et l'Asie du Pacifique : composez le (415) 834-3131
option 2, puis suivez les invites. Les horaires sont du Lundi au Vendredi, de 6:00 à 18:00 Heure du
Pacifique.
28
G U I D E D E P RI S E E N M A I N D B O P T I M IZ E R ™ 3 . 5
Installation > Installation de DB Optimizer
Pour l'Europe, l'Afrique et le Moyen Orient : composez le +44 (0)1628-684 494. Les horaires sont
du Lundi au Vendredi, de 9:00 à 17:30 Heure U.K.
Peu de temps après l'appel téléphonique, vous recevrez un email contenant un fichier
d'activation. Procédez ensuite de la manière suivante :
1 Enregistrez le fichier d'activation sur le bureau ou dans un répertoire temporaire tel que
c:\temp.
2 Depuis l'application, cliquez sur Help > Launch License Manager.
3 Cliquez sur License > Import.
4 Naviguez jusqu'au répertoire dans lequel vous avez enregistré le fichier d'activation, puis
double-cliquez sur le fichier d'activation.
5 Cliquez sur le bouton Import pour importer le fichier d'activation, puis cliquez sur Finish.
G U I D E D E P RI S E E N M A I N D B O P T IM I ZE R ™ 3 . 5
29
Installation > Installation de DB Optimizer
30
G U I D E D E P RI S E E N M A I N D B O P T I M IZ E R ™ 3 . 5
INTRODUCTION À DB OPTIMIZER
Les sessions de tutoriels suivantes représentent une prise en main de DB Optimizer. Leur
objectif est de vous fournir les bases nécessaires à l'utilisation complète des fonctionnalités et
des avantages de DB Optimizer, et de les appliquer à votre entreprise. Cette section contient
des informations sur la façon d'enregistrer les sources de données de votre entreprise, de
profiler, d'analyser et de régler les instructions SQL, les sessions et les événements à des fins
d'optimisation de l'efficacité de vos sources de données, ainsi que d'identifier et d'empêcher les
goulets d'étranglement système et autres problèmes liés à l'attente.
Ce guide est constitué des sections suivantes :
• Démarrage de DB Optimizer page 31
• Présentation de l'interface utilisateur page 32
• Utilisation de la vue Data Source Explorer page 34
• Profilage d'une source de données page 39
• Réglage des instructions SQL page 48
• SQL Code Assist et exécution page 70
DÉMARRAGE DE DB OPTIMIZER
Depuis le bureau, choisissez le menu Démarrer de Windows, puis sélectionnez Tous les
programmes > Embarcadero > Embarcadero DB Optimizer X.X > Embarcadero DB
Optimizer X.X.
Help sur la barre
de menus pour trouver des ressources supplémentaires qui complètent les
fonctionnalités et tâches présentées dans ce guide.
REMARQUE : Dès que vous avez démarré l'application, vous pouvez sélectionner
G U I D E D E P RI S E E N M A I N D B O P T IM I ZE R ™ 3 . 5
31
Introduction à DB Optimizer > Présentation de l'interface utilisateur
PRÉSENTATION DE L'INTERFACE UTILISATEUR
L'environnement de l'application DB Optimizer, connu sous le terme Workbench, fournit une
interface dans laquelle vous gérez les sources de données, analysez et réglez les instructions. Le
Workbench est composé d'éléments d'interface communs qui fournissent des outils pour
accomplir ces tâches. Ces objets fournissent un système uniforme pour les travaux de réglage,
les sessions de profils et les sources de données.
Le Workbench fournit un environnement pour construire les sessions de profilage et régler les instructions des requêtes.
32
G U I D E D E P RI S E E N M A I N D B O P T I M IZ E R ™ 3 . 5
Introduction à DB Optimizer > Présentation de l'interface utilisateur
L'espace du Workbench est composé de vues, d'éditeurs, de la barre de menus et de la barre
d'outils de commandes. Les vues et les éditeurs vous permettent d'exécuter les tâches et les
fonctions de DB Optimizer, ainsi que gérer les ressources.
• Les vues sont utilisées pour naviguer au sein d'une hiérarchie d'informations, ouvrir des
éditeurs ou afficher les propriétés des divers éléments de l'application. Par exemple, la vue
Data Source Explorer fournit une arborescence de toutes les sources de données de
l'environnement et des travaux de comparaison associés à chacune. Vous pouvez lancer ces
travaux directement depuis la vue Data Source Explorer, modifier les propriétés de
connexion des sources de données, ou créer et modifier les archives de configuration à
partir de cette vue.
• Les éditeurs sont utilisés pour accéder aux fonctionnalités de DB Optimizer. Par exemple,
SQL Editor fournit un moyen de visualiser, de modifier et d'enregistrer le code SQL. Les
éditeurs se distinguent des vues, dans la mesure où ils opèrent sur un niveau individuel. SQL
Profiler et SQL Tuner sont aussi considérés comme des éditeurs.
• La barre de menus et la barre d'outils de commandes contiennent des commandes qui
exécutent divers aspects fonctionnels de l'application, tels que le lancement des vues et des
éditeurs, les commandes de navigation et le paramétrage des préférences
d'environnement. La barre d'outils de commandes contient des icônes qui représentent des
commandes de menu spécifiques.
G U I D E D E P RI S E E N M A I N D B O P T IM I ZE R ™ 3 . 5
33
Introduction à DB Optimizer > Présentation de l'interface utilisateur
UTILISATION DE LA VUE DATA SOURCE EXPLORER
La vue Data Source Explorer (explorateur de sources de données) fournit une vue arborescente
de toutes les sources de données enregistrées. Elle décompose les composants de chaque
source de données et classe par catégories les bases de données et les objets de bases de
données correspondants par type d'objet et code SQL sous-jacent. Cette fonctionnalité fournit
une vue du contenu des sources de données de votre entreprise dans une interface cataloguée
et facilement navigable.
L'explorateur de sources de données trie les bases de données et les objets de bases de données par catégorie dans DB Optimizer.
Si les sources de données sont particulièrement larges ou complexes, ou si vous ne développez
que des objets spécifiques, vous pouvez appliquer des filtres d'objets de bases de données sur
la vue de l'explorateur de sources de données.
34
G U I D E D E P RI S E E N M A I N D B O P T I M IZ E R ™ 3 . 5
Introduction à DB Optimizer > Présentation de l'interface utilisateur
AJOUT DE SOURCES DE DONNÉES
Afin de profiler et régler les instructions, vous devez enregistrer les sources de données à
analyser dans l'environnement en fournissant des informations de connexion et d'autres détails
à DB Optimizer. Les sources de données sont enregistrées et gérées dans l'explorateur de
sources de données. Chaque fois que vous enregistrez une nouvelle source de données, vous
devez spécifier ses informations de connexion et les organiser dans la vue, si nécessaire. Dès
qu'une source de données a été enregistrée, elle reste stockée dans un catalogue et il n'est pas
nécessaire de l'enregistrer à nouveau à chaque ouverture de DB Optimizer. En outre, elle peut
être utilisée dans plusieurs travaux, archivée ou par ailleurs "partagée" en ce qui concerne les
fonctionnalités générales de l'application.
La vue Data Source Explorer fournit une arborescence organisationnelle des sources de données enregistrées et des paramètres
associés à ces sources.
G U I D E D E P RI S E E N M A I N D B O P T IM I ZE R ™ 3 . 5
35
Introduction à DB Optimizer > Présentation de l'interface utilisateur
AJOUTER UNE SOURCE DE DONNÉES
Sélectionnez l'explorateur de sources de données et choisissez File > New > Data
Source dans la barre de menus. L'expert New Data Source apparaît. Suivez les invites pour
enregistrer la source de données.
CONSEIL :
36
Vous pouvez catégoriser les sources de données afin de les colorer dans l'explorateur
de sources de données, ce qui facilite la recherche de la source de données à partir
d'une longue liste de sources de données. La source de données sera décorée avec la
couleur associée à la catégorie sélectionnée pour la source de données. Les catégories
incluent Development, Test, QA et Production. Les sources de données existantes
peuvent être catégorisées en utilisant la page Data Source Properties. Cliquez avec
le bouton droit sur une source de données déconnectée et sélectionnez Properties.
G U I D E D E P RI S E E N M A I N D B O P T I M IZ E R ™ 3 . 5
Introduction à DB Optimizer > Présentation de l'interface utilisateur
NAVIGATION AU SEIN DES SOURCES DE DONNÉES
Pour analyser et régler les instructions sur les sources de données au sein de votre entreprise,
vous devez accéder aux objets de sources de données au sein de l'application. Il est important
de visualiser les bases de données et le code sous-jacent d'une façon organisée, en particulier
lors de la maintenance d'un système important. La structure arborescente de l'explorateur de
sources de données peut être utilisée pour visualiser les bases de données, les tables et autres
informations relatives aux sources de données. Développez les noeuds de chaque source de
données enregistrée pour visualiser les détails relatifs à chaque source de données.
L'explorateur de sources de données est aussi utilisé pour lancer les sessions de profilage, en
vous permettant de sélectionner la source de données à exécuter, puis en lançant une session
de profilage depuis votre sélection.
L'arborescence de l'explorateur de sources de données fournit la liste des bases de données, et vous permet de lancer les
fonctionnalités de DB Optimizer, telles que SQL Profiler, via le menu contextuel.
Tous les objets listés dans l'explorateur de sources de données sont triés par nom de source de
données. En outre, si vous double-cliquez sur un objet, SQL Editor s'ouvrira et affichera le code
SQL sous-jacent.
G U I D E D E P RI S E E N M A I N D B O P T IM I ZE R ™ 3 . 5
37
Introduction à DB Optimizer > Présentation de l'interface utilisateur
Naviguer au sein d'une source de données
Développez le noeud de la source de données à examiner. Double-cliquez sur un objet
pour visualiser le code dans SQL Editor.
Notez que, dans l'écran précédent, des référentiels de profilage (Profiling Repositories) sont
listés dans l'explorateur de sources de données. Pour les sources de données Oracle
uniquement, vous pouvez enregistrer vos sessions de profilage dans le référentiel de profilage
afin de les examiner ultérieurement. Nous traiterons ce sujet plus loin dans "Enregistrement
d'une session de profilage" page 46.
38
G U I D E D E P RI S E E N M A I N D B O P T I M IZ E R ™ 3 . 5
Introduction à DB Optimizer > Profilage d'une source de données
PROFILAGE D'UNE SOURCE DE DONNÉES
REMARQUE : Le composant SQL Profiler n'est pas disponible dans la version "Basic" de DB
Optimizer.
SQL Profiler échantillonne une source de données et construit un modèle statistique de la
charge sur la base de données. Le profilage est utilisé pour localiser et diagnostiquer le code
SQL problématique et les goulets d'étranglement basés sur les événements. SQL Profiler vous
permet aussi d'examiner les détails des événements d'exécution et de temps d'attente pour les
routines stockées individuelles. Les résultats sont présentés dans l'éditeur de profilage, où vous
pouvez identifier les zones problématiques et visualiser les instructions SQL individuelles, si
nécessaire.
SQL Profiler analyse et fournit un modèle statistique de la charge de la base de données qui identifie le code problématique et les
goulets d'étranglement basés sur les événements.
G U I D E D E P RI S E E N M A I N D B O P T IM I ZE R ™ 3 . 5
39
Introduction à DB Optimizer > Profilage d'une source de données
SQL Profiler est composé des parties de diagnostic suivantes :
• La section Load Graph fournit un affichage de la charge globale sur le système. Les barres
représentent les aspects individuels de la source de données.
• La section Top Activity affiche l'origine de la charge. En particulier, la section Top Activity
affiche les instructions SQL d'activité supérieure, les événements pour lesquels la base de
données consomme le plus de temps, et les sessions d'activité supérieure qui peuvent
causer des problèmes en termes de temps de requête et de réponse.
• La section Profiling Details affiche des informations détaillées pour tout élément
sélectionné dans la section Top Activity. Par exemple, l'examen d'une instruction SQL
depuis la section Top Activity affiche les paramètres d'identification et les statistiques
d'exécution de cette sélection d'instruction spécifique.
DÉMARRAGE D'UNE SESSION DE PROFILAGE
Afin d'accéder à SQL Profiler, vous devez exécuter une session de profilage sur une source de
données enregistrée dans l'explorateur de sources de données.
Exécuter une session de profilage
Dans l'explorateur de sources de données, cliquez avec le bouton droit sur une source de
données et sélectionnez Profile As > Data Source. La session de profilage commence.
La vue Progress indique que la session de profilage a été lancée.
Dès qu'une session de profilage est lancée, elle s'exécute jusqu'à ce que vous l'arrêtiez ou
jusqu'à la fin de sa durée de vie spécifiée. Vous pouvez arrêter une session en cliquant sur
l'icône Stop située sur le côté droit de la barre de progression du profilage.
Quand la session de profilage est terminée, les deux premières sections (Load Chart et Top
Activity) sont remplies par les informations de charge de la base de données. Vous pouvez alors
commencer l'analyse des données et l'identification des zones problématiques.
40
G U I D E D E P RI S E E N M A I N D B O P T I M IZ E R ™ 3 . 5
Introduction à DB Optimizer > Profilage d'une source de données
ANALYSE DES DONNÉES DE LA SESSION
SQL Profiler est composé de trois vues de diagnostic essentielles qui fournissent des
informations sur la charge sur une base de données particulière du système. Ces vues vous
permettent d'identifier les goulets d'étranglement et de visualiser les détails à propos de
requêtes spécifiques qui s'exécutent et attendent le déroulement d'une session de profilage.
SQL Profiler est composé des trois composants suivants, listés par ordre décroissant de
granularité :
• Load Chart page 41
• Top Activity page 42
• Profiling Details page 43
LOAD CHART
Le composant Load Chart fournit un aperçu de la charge sur le système, et a été conçu en tant
que point d'entrée de niveau élevé pour la lecture des résultats de la session. Les barres
colorées représentent les aspects individuels de la base de données, et le graphe peut être
utilisé pour découvrir les goulets d'étranglement.
Le composant Load Chart affiche la charge globale de la base de données analysée avec SQL Profiler.
L'heure est affichée sur l'axe X, et l'axe Y présente le nombre moyen de sessions en attente ou
en cours d'exécution. Chaque type de plate-forme de support a un ensemble spécifique
d'heures d'événements d'attente. Par exemple, les plates-formes Sybase afficheront CPU, Lock,
Memory, I/O, Network et Other. Utilisez la légende du graphe pour interpréter le graphe. Elle
affiche une couleur et un schéma de code pour les catégories de session d'attente et
d'exécution dans le coin supérieur droit du graphe.
G U I D E D E P RI S E E N M A I N D B O P T IM I ZE R ™ 3 . 5
41
Introduction à DB Optimizer > Profilage d'une source de données
TOP ACTIVITY
Sous la section Load Graph, la section Top Activity affiche l'origine de la charge et expose les
instructions SQL, les événements et les sessions d'activité supérieure sur la base de données.
Elle est composée d'une série d'onglets qui fournissent des statistiques détaillées sur les
instructions SQL individuelles et les sessions en attente ou en cours d'exécution sur la durée de
la session de profilage.
La section Top Activity affiche une vue plus détaillée de la section Load Graph. Elle identifie les instructions, les événements et les
sessions d'activité supérieure, en attente ou en cours d'exécution sur la durée de la session de profilage.
• L'onglet Overview fournit des informations récapitulatives sur les événements et les
instructions SQL ainsi que leurs niveaux d'activité, les sessions, leurs identificateurs de
processus système et leur niveau d'activité. Vous pouvez réordonner les lignes de chaque
section de cet onglet. Par exemple, cliquer sur la colonne Event de la section Events
change l'ordre alphabétique à croissant ou décroissant.
• L'onglet SQL fournit des informations sur les procédures et les instructions SQL. Sont
incluses toutes les instructions INSERT, SELECT, DELETE et UPDATE en cours d'exécution
ou en attente d'exécution sur la durée de la session de profilage.
• L'onglet Events affiche des informations sur les événements d'attente, et doit être utilisé
pour effectuer le réglage au niveau configuration de l'application ou de la base de données.
Par exemple, si les événements d'activité supérieure sont verrouillés, la logique de
l'application doit alors être examinée. Si les événements d'activité supérieure sont associés
à la configuration de la base de données, celle-ci doit alors être étudiée.
• L'onglet Sessions affiche des informations sur les sessions, et peut être utilisé pour
découvrir les sessions qui sont très actives ou contiennent des goulets d'étranglement.
• L'onglet Object I/O fournit des informations à propos des entrées/sorties lors du profilage
d'une source de données Oracle.
• L'onglet Procedures fournit des informations à propos des procédures s'exécutant dans la
session lors du profilage d'une source de données SQL Server ou Sybase.
42
G U I D E D E P RI S E E N M A I N D B O P T I M IZ E R ™ 3 . 5
Introduction à DB Optimizer > Profilage d'une source de données
PROFILING DETAILS
Quand vous sélectionnez un élément de la section Top Activity, les détails sont affichés sur la vue
Profiling Details.
CONSEIL :
Sélectionnez Windows > Show View > Profiling Details pour afficher la vue Profiling
Details.
Les onglets constituant la vue Profiling Details dépendent de la nature de l'objet sélectionné dans la
section Top Activity, afin de refléter les informations spécifiques à cet élément. Les onglets dépendent
aussi de la plate-forme de la source de données. Par exemple, l'onglet Object I/O est disponible
seulement pour la plate-forme Oracle, alors que l'onglet Procedures est disponible seulement pour les
plates-formes SQL Server et Sybase.
La vue Profiling Details affiche des informations de paramètres détaillées sur une instruction, un événement ou une session ayant été
sélectionné dans la section Top Activity. Les données affichées varient aussi selon la plate-forme de base de données.
Selon la plate-forme de source de données spécifiée, les onglets apparaissant dans la vue sont
différents afin de s'adapter aux paramètres spécifiques à l'instruction que vous avez
sélectionnée.
G U I D E D E P RI S E E N M A I N D B O P T IM I ZE R ™ 3 . 5
43
Introduction à DB Optimizer > Profilage d'une source de données
Certains onglets peuvent être indisponibles selon l'activité supérieure sélectionnée et les types
de plate-forme profilés.
REMARQUE : Lors d'un clic droit sur une instruction SQL dans la section Top Activity du SQL Profiler,
si l'instruction SQL est exécutée par un utilisateur autre que celui qui exécute DB
Optimizer, le dialogue User Mismatch apparaît alors, avec un exemple du message
suivant : This query was executed by [SOE] and you are currently connected as
[system]. We recommend you reconnect as [SOE] to tune the SQL. Would you like
to continue anyway? Ce message indique que l'instruction est en cours de réglage par
un utilisateur autre que celui qui a initialement exécuté la requête, et des tables
peuvent être manquantes selon les différents schémas. Cliquez sur OK pour exécuter
la requête, ou sur Cancel et exécutez le travail de réglage sous l'utilisateur original.
AFFICHER LES DÉTAILS DE LA SESSION
1 Dans la colonne Sessions de la zone Profile Session du SQL Profiler, cliquez n'importe où
dans la ligne d'une application qui a été exécutée pendant la session de profilage.
2 Dans la zone Profiling Details, cliquez sur l'onglet Sessions.
Les détails de la session sont affichés.
44
G U I D E D E P RI S E E N M A I N D B O P T I M IZ E R ™ 3 . 5
Introduction à DB Optimizer > Profilage d'une source de données
AFFICHER LE CODE SQL
1 Dans la zone Profile Session du SQL Profiler, cliquez n'importe où dans la ligne d'une
application qui a été exécutée pendant la session de profilage.
2 Dans la zone Profiling Details, cliquez sur l'onglet SQL Text ou SQL.
Le texte SQL de l'application ayant sélectionné l'objet s'affiche.
CONSEIL :
Depuis l'onglet SQL, vous pouvez facilement régler une instruction en cliquant avec le
bouton droit sur une instruction pour lancer le programme de réglage, qui s'ouvre alors
avec l'instruction sélectionnée dans l'onglet Ad hoc SQL du Tuner Input.
G U I D E D E P RI S E E N M A I N D B O P T IM I ZE R ™ 3 . 5
45
Introduction à DB Optimizer > Profilage d'une source de données
ENREGISTREMENT D'UNE SESSION DE PROFILAGE
Une session de profilage peut être enregistrée dans un fichier avec un suffixe .oar qui contient
le nom de la source de données. Lors du profilage de sources de données Oracle, vous pouvez
autrement enregistrer les données de la session dans le référentiel de profilage. Cela vous
permet d'ouvrir plus tard le fichier à des fins d'analyse.
ENREGISTRER UNE SESSION DE PROFILAGE SOUS UN FICHIER .OAR
Sélectionnez la session de profilage, puis choisissez File > Save As. Spécifiez
l'emplacement du projet dans lequel vous voulez enregistrer le fichier et modifiez le nom du
fichier, le cas échéant. Cliquez sur OK. Le projet est ajouté à l'explorateur de projets SQL
(SQL Project Explorer).
Dès que vous avez enregistré une session de profilage, elle apparaît dans l'explorateur de
projets SQL sous le nom enregistré. Vous pouvez l'ouvrir à nouveau en double-cliquant sur le
nom du projet.
46
G U I D E D E P RI S E E N M A I N D B O P T I M IZ E R ™ 3 . 5
Introduction à DB Optimizer > Profilage d'une source de données
ENREGISTRER UNE SESSION DE PROFILAGE DANS LE RÉFÉRENTIEL DE PROFILAGE
La session peut aussi être enregistrée automatiquement sous un fichier référentiel de profilage
dans une source de données Oracle. Cela vous permet de profiler votre source de données
pour une plus longue période de temps, des jours et même des semaines.
Cliquez avec le bouton droit sur la source de données à profiler et sélectionnez Profile As >
Profile Configurations.
Dans le dialogue Profile Configurations, sélectionnez Save to data source puis la source
de données où vous voulez enregistrer les sessions de profils.
Le fichier session enregistré, nommé en utilisant la date et l'heure quand la session de profilage
a été arrêtée, peut être visualisé depuis l'explorateur de sources de données, et ainsi disponible
pour un partage avec d'autres utilisateurs DB Optimizer.
IMPORTATION D'INSTRUCTIONS VERS SQL TUNER
SQL Profiler vous permet de soumettre une ou plusieurs instructions dans SQL Tuner. Cela vous
permet de profiter des suggestions basées sur les transformations et les indications de SQL
Tuner si vous voulez régler une instruction problématique que vous avez détectée au cours
d'une session de profilage.
Les commandes du menu contextuel de SQL Profiler vous permettent d'importer des instructions dans un travail de réglage
directement à partir de l'interface de SQL Profiler.
Importer une instruction de SQL Profiler vers SQL Tuner
Sélectionnez une ou plusieurs instructions dans SQL Profiler, cliquez avec le bouton droit
puis sélectionnez Tune dans le menu contextuel. SQL Tuner s'ouvre et contient les
instructions sélectionnées dans un nouveau travail de réglage. Vous pouvez maintenant
procéder au réglage des instructions problématiques.
G U I D E D E P RI S E E N M A I N D B O P T IM I ZE R ™ 3 . 5
47
Introduction à DB Optimizer > Réglage des instructions SQL
RÉGLAGE DES INSTRUCTIONS SQL
SQL Tuner fournit un moyen facile et optimal de découvrir les chemins efficaces des requêtes
qui ne peuvent pas s'exécuter aussi rapidement et efficacement qu'elles le devraient. SQL Tuner
permet l'optimisation du code SQL à faibles performances à travers la détection et la
modification des chemins d'exécution utilisés dans la récupération des données. Cela est
principalement possible grâce à l'injection d'indications et l'analyse des index et des
statistiques.
SQL Tuner analyse les instructions SQL spécifiées, puis fournit les directives de chemin d'exécution. Cela vous permet de
sélectionner d'autres chemins pour les requêtes, optimisant ainsi les performances système en fonction de l'analyse.
Par exemple, si le réglage est la sélection depuis deux tables (A et B), il permettra la jointure de
A à B, ou de B à A, ainsi que la forme de jointure. En outre, différentes méthodes de jointure,
telles les boucles imbriquées et les jointures de "hachage", peuvent être utilisées et seront
testées, comme il convient. SQL Tuner sélectionnera d'autres chemins et vous permettra de
remplacer le chemin original par un de ces chemins alternatifs. Les chemins d'exécution plus
lents que le chemin original sont éliminés, ce qui vous permet de sélectionner la plus rapide des
sélections renvoyées et d'améliorer les temps des requêtes, en général.
Cela permet à l'administrateur de la base de données (DBA) d'optimiser correctement les
requêtes quand l'optimiseur natif a échoué.
48
G U I D E D E P RI S E E N M A I N D B O P T I M IZ E R ™ 3 . 5
Introduction à DB Optimizer > Réglage des instructions SQL
CRÉATION D'UN NOUVEAU TRAVAIL DE RÉGLAGE
De nouveaux travaux de réglage sont créés à partir de zéro là où vous pouvez spécifier les
instructions à régler depuis diverses sources, ou les instructions peuvent être directement
importées à partir de sessions de profilage existantes sur des sources de données actuellement
enregistrées dans l'environnement.
Les travaux de réglage sont définis dans SQL Tuner en spécifiant la source de données et les instructions correspondantes à régler,
puis en exécutant le processus de travail de réglage.
G U I D E D E P RI S E E N M A I N D B O P T IM I ZE R ™ 3 . 5
49
Introduction à DB Optimizer > Réglage des instructions SQL
CRÉER UN NOUVEAU TRAVAIL DE RÉGLAGE
Si, depuis une session de profilage, vous avez déterminé qu'une instruction SQL spécifique
doit être réglée, cliquez avec le bouton droit sur l'instruction dans la zone Profile Session et
sélectionnez Tune comme suit :
OU
Sélectionnez File > New > Tuning Job ou cliquez sur l'icône New Tuning Job de la barre
d'outils. SQL Tuner s'ouvre et vous pouvez procéder à la configuration des paramètres du
nouveau travail.
Dès que vous avez défini l'entrée du travail de réglage, vous pouvez enregistrer le fichier
avec un suffixe .tun via la commande Save As.... Le travail est ajouté à l'explorateur de
projets SQL et il peut être à nouveau ouvert et exécuté à tout moment dès son
enregistrement dans le système.
AJOUT D'INSTRUCTIONS SQL À UN TRAVAIL DE RÉGLAGE
Dès que vous avez créé un nom pour le travail de réglage et indiqué sa source, vous pouvez
ajouter des instructions SQL à régler. Les instructions sont ajoutées à un travail via les options
disponibles dans la liste SQL de l'onglet Overview. Toutes les instructions DML standard
(SELECT, INSERT, DELETE, UPDATE) sont viables pour la procédure de réglage.
Les instructions sont ajoutées à un travail de réglage via l'onglet Overview.
50
G U I D E D E P RI S E E N M A I N D B O P T I M IZ E R ™ 3 . 5
Introduction à DB Optimizer > Réglage des instructions SQL
Il existe quatre ou cinq façons différentes d'ajouter des instructions SQL à un travail, comme
indiqué par les options disponibles dans la liste SQL illustrée ci-dessus :
• New SQL Text : Copier / coller les instructions SQL dans la fenêtre New SQL Text ou écrire
manuellement les requêtes. Vous pouvez aussi coller une instruction directement dans la
grille d'instructions Overview en copiant l'instruction, puis en cliquant avec le bouton droit
n'importe où sur cette grille et en sélectionnant Paste.
• Extract from Database Object : Glisser-déposer les objets de base de données de
l'explorateur de sources de données sur la grille Statements de l'onglet Overview.
• Import from File (Workspace) et Import from File (System) : Naviguer au sein de l'espace
de travail ou du système de fichiers et sélectionner les fichiers SQL.
• Scan Oracle SGA : Pour la plate-forme Oracle seulement, vous pouvez aussi analyser la
zone SGA (System Global Area) pour les instructions à régler.
G U I D E D E P RI S E E N M A I N D B O P T IM I ZE R ™ 3 . 5
51
Introduction à DB Optimizer > Réglage des instructions SQL
AJOUTER UN NOUVEAU TEXTE SQL
Dans la liste SQL, sélectionnez New SQL Text et tapez manuellement une instruction SQL dans
la fenêtre. Vous pouvez aussi copier et coller l'instruction depuis une autre source.
52
G U I D E D E P RI S E E N M A I N D B O P T I M IZ E R ™ 3 . 5
Introduction à DB Optimizer > Réglage des instructions SQL
AJOUTER UN OBJET DE BASE DE DONNÉES
Dans la liste SQL, sélectionnez Extract from Database Object. Le dialogue Data Source
Objects Selection apparaît. Tapez un modèle ou un préfixe de nom d'objet dans le champ
fourni et choisissez une instruction dans la fenêtre parmi les correspondances de votre frappe.
CONSEIL :
Vous pouvez aussi faire glisser un objet, tel que Packages, Package Bodies, Views et
Functions, de l'explorateur de sources de données vers la grille de l'onglet Overview.
REMARQUE : Afin de faire glisser un objet de base de données dans la grille d'instructions de l'onglet
Overview, l'objet de base de données de l'explorateur de sources de données doit
être situé dans la base de données qui s'affiche dans l'aide de navigation en haut de
la fenêtre Tuning.
AJOUTER UN FICHIER SQL ENREGISTRÉ
Depuis la liste SQL, sélectionnez Import from File (Workspace) ou Import from File (File
System), selon l'emplacement de stockage du fichier à ajouter. Sélectionnez un fichier dans le
dialogue qui apparaît pour l'ajouter au travail de réglage.
G U I D E D E P RI S E E N M A I N D B O P T IM I ZE R ™ 3 . 5
53
Introduction à DB Optimizer > Réglage des instructions SQL
AJOUTER DES INSTRUCTIONS SQL DE SGA
Dans la liste SQL, sélectionnez Scan Oracle SGA. Spécifiez les filtres de votre choix, puis cliquez
sur Next. Dans la liste des instructions SQL récupérées depuis le SGA, sélectionnez les
instructions à optimiser et cliquez sur Finish. Les instructions sélectionnées sont copiées dans le
travail de réglage.
EXÉCUTION D'UN TRAVAIL DE RÉGLAGE
Après l'ajout des instructions SQL au travail, cliquez sur l'onglet Overview. Dès que vous avez
choisi vos options de réglage et cliqué sur l'icône Run Job, le DML (Data Manipulation
Language) est analysé depuis les instructions et ajouté dans la zone Generated Cases. Les cas
générés sont des chemins d'explication ou d'exécution alternatifs qui peuvent être plus ou
moins efficaces que le chemin par défaut utilisé par la base de données. Dès l'exécution de ces
cas, vous pouvez utiliser les statistiques d'exécution pour déterminer le cas qui optimise au
mieux les performances.
54
G U I D E D E P RI S E E N M A I N D B O P T I M IZ E R ™ 3 . 5
Introduction à DB Optimizer > Réglage des instructions SQL
Chaque instruction extraite est listée par Name et Text. En outre, chaque instruction a des
valeurs Cost, Elapsed Time et Other Execution Statistics qui fournissent des informations sur
l'efficacité de chaque exécution de cas sur la source de données spécifiée. Ces paramètres vous
permettent de comparer l'efficacité des instructions originales sur les cas générés par le
processus de réglage lors de son exécution.
CONSEIL :
Vous pouvez double-cliquer sur un cas généré pour visualiser ou éditer le source SQL
de l'instruction.
Contrôle
Indicateur de statut de réglage
Développer/Replier
Case à cocher
la colonne
Contrôle
Activer l’exécution
Augmenter/Diminuer
Sélecteurs de
schéma et de catalogue la taille du volet
Contrôle Filtre
Contrôle Développer/Replier
le cas généré
Cas basé sur une transformation
Contrôles
Exécuter/Annuler
le travail
Instructions SQL
extraites
Cas basés sur
des indications
L'onglet Generated Cases vous permet de mesurer les divers coûts de charge des instructions de réglage originales et des cas
générés pour chaque instruction, et suggère des chemins de requêtes alternatifs afin d'optimiser votre source de données.
G U I D E D E P RI S E E N M A I N D B O P T IM I ZE R ™ 3 . 5
55
Introduction à DB Optimizer > Réglage des instructions SQL
L'indicateur de statut de réglage fournit le statut de chaque instruction ou cas, et indique s'ils
sont prêts pour l'exécution. Dans certains cas, le code SQL peut nécessiter une correction ou
des variables de liaison devront être définies avant l'exécution des instructions. Quand vous
essayez de régler une instruction contenant une variable de liaison, vous êtes maintenant averti
quand la valeur ou le type n'est pas défini.
Utilisez les cases à cocher pour sélectionner les instructions et les cas à exécuter, puis cliquez sur
l'icône Run dans le coin supérieur droit de l'écran. Le champ Execute each generated case
vous permet d'exécuter chaque instruction ou cas sélectionné.
Utilisez les sélecteurs de schéma et de catalogue pour sélectionner un schéma et un catalogue
pour le travail de réglage. Le sélecteur de catalogue est disponible seulement pour les sources
de données SQL Server et Sybase. En spécifiant le schéma et le catalogue, le programme de
réglage peut utiliser les chemins du schéma et du catalogue sélectionnés pour trouver les tables
interrogées dans le travail, au lieu d'utiliser les chemins du schéma et du catalogue utilisés pour
se connecter à la source de données. Si vous changez le schéma ou le catalogue utilisé dans une
instruction de réglage, vous devez actualiser les instructions de réglage afin que les nouveaux
cas soient générés, prenant en compte le schéma utilisé. Cliquez avec le bouton droit sur une
instruction de réglage et sélectionnez Refresh Tuning Statements.
Dès que vous avez exécuté un travail de réglage, l'onglet Generated Cases reflètera l'analyse
des instructions spécifiées de SQL Tuner. Dès que ces instructions ont été analysées, vous
pouvez modifier les résultats de SQL Tuner et appliquer les cas spécifiés sur la source de
données afin d'optimiser ses performances.
EXÉCUTER UN TRAVAIL DE RÉGLAGE
1 Dès qu'une instruction SQL est un candidat au réglage, naviguez jusqu'à l'onglet Overview.
2 Dans la zone Tuning Statements, sélectionnez la case à cocher située auprès du nom de
l'instruction que vous voulez analyser, puis :
Pour analyser les instructions SQL, cliquez sur Generate cases.
Pour effectuer l'analyse qui remplit maintenant l'onglet Analysis, cliquez sur Perform detail
analysis. Sinon, cette analyse est effectuée quand vous cliquez sur l'onglet Analysis.
Pour que le système génère des statistiques d'exécution, cliquez sur Execute each
generated case et sélectionnez le nombre de fois que le système doit exécuter chaque cas
généré. Plusieurs exécutions peuvent vérifier que les résultats des cas ne sont pas déformés
par la mise en cache. Par exemple, à la première exécution d'une requête, les données sont
lues depuis le disque, ce qui est un processus lent, et la deuxième fois les données peuvent
être stockées en cache, ce qui rend l'exécution plus rapide. Ainsi, un cas peut sembler plus
rapide qu'un autre, mais il bénéficie en fait simplement des effets de la mise en cache. En
général, il est seulement nécessaire d'exécuter les cas une fois, mais il peut être bénéfique
de les exécuter plusieurs fois pour voir si les temps de réponse et les statistiques restent les
mêmes.
3 Cliquez ensuite sur l'icône Run Job dans le coin supérieur droit de la fenêtre. Le travail de
réglage s'exécute, en analysant chaque instruction et cas, et en fournissant des valeurs dans
les colonnes appropriées.
56
G U I D E D E P RI S E E N M A I N D B O P T I M IZ E R ™ 3 . 5
Introduction à DB Optimizer > Réglage des instructions SQL
ANALYSE DES RÉSULTATS DE SQL TUNER SUR L'ONGLET OVERVIEW
Dès que vous avez exécuté un travail de réglage, la zone Generated Cases de l'onglet
Overview reflète l'analyse des instructions et des cas spécifiés de SQL Tuner. Les cas générés
créent des chemins d'explication ou d'exécution alternatifs qui peuvent être plus ou moins
efficaces que le chemin par défaut utilisé par les bases de données. L'exécution de ces cas
fournit les statistiques nécessaires à l'optimisation des performances.
Dès qu'un travail de réglage a été exécuté, utilisez les colonnes Cost et Execution Statistics
pour déterminer le chemin d'exécution le plus rapide pour chaque instruction. La colonne Cost
présente le coût des performances d'un chemin d'exécution, comme déterminé par la base de
données. La colonne Execution Statistics représente les résultats réels de l'exécution de
l'instruction SQL selon le cas généré. C'est l'endroit où DB Optimizer peut vous aider à trouver
où le chemin par défaut de la base de données n'est réellement pas le chemin optimal. Les
colonnes Elapsed Time(s) et Results peuvent présenter avec plus de précision le chemin
d'exécution le plus efficace.
Dans les colonnes Cost et Execution Statistics, les valeurs de l'instruction originale sont
considérées comme les valeurs de la ligne de base. Une colonne Cost peut être développée
pour fournir une représentation graphique des valeurs des instructions et des cas. De même, la
colonne Execution Statistics peut aussi être développée pour afficher une représentation
graphique des valeurs. Les couleurs et la longueur de la barre vous permettent de comparer les
valeurs, particulièrement entre les cas.
Les temps des requêtes de cas basés sur l'instruction originale peuvent être représentés par des barres en couleur sur la zone
Generated Cases de l'onglet Overview pour vous aider à déterminer le chemin d'exécution le plus rapide pour les sélections
données.
La valeur de la ligne de base de l'instruction originale occupe la moitié de la colonne, en termes
de longueur de barre. Pour les cas de l'instruction originale, si un ou plusieurs cas présentent
une valeur de dégradation, la plus grande valeur occupera la largeur de la colonne. Les
longueurs de barre de tous les autres cas seront alors affichées par comparaison de la longueur
à la valeur de dégradation la plus grande.
Les résultats d'exécution et de coût sont codés en couleur comme suit :
• Bleu clair : Ces cas sont situés dans le seuil de dégradation et d'amélioration. L'application
de ces modifications peut améliorer ou dégrader légèrement l'efficacité de l'instruction
SQL.
• Vert : Ces cas ont des valeurs inférieures au seuil d'amélioration. Il existe une forte
probabilité que la modification de l'instruction SQL avec ce chemin d'exécution alternatif
améliorera l'efficacité.
• Rouge : Ces cas ont des valeurs supérieures au seuil d'amélioration. L'implémentation de
ces modifications dégradera l'efficacité de l'instruction SQL.
G U I D E D E P RI S E E N M A I N D B O P T IM I ZE R ™ 3 . 5
57
Introduction à DB Optimizer > Réglage des instructions SQL
DÉTERMINER LES MEILLEURS CAS POUR LE TEMPS DU CHEMIN D'EXÉCUTION DE
L'INSTRUCTION
Dès que le travail de réglage a été exécuté, visualisez la zone Generated Cases de l'onglet
Overview et déterminez le meilleur cas possible en termes de valeurs de la colonne
Execution Statistics. Cela indiquera le chemin de requête le plus optimisé pour une
instruction donnée. Dès que vous avez déterminé le meilleur cas, vous pouvez l'exécuter sur
la source de données spécifiée et modifier le code de base de données pour exécuter
l'instruction selon ce cas sur l'environnement natif.
Si vous ne trouvez pas un chemin d'une rapidité convenable, sélectionnez l'onglet Analysis.
L'onglet Analysis peut identifier les index manquants, et en examinant le diagramme, vous
pouvez être en mesure de déterminer si quelque chose est incorrect avec le schéma ou le
code SQL.
RECHERCHE DES INDEX MANQUANTS ET DES PROBLÈMES SQL
SQL Tuner exécute l'analyse de l'index et du code SQL en tant que partie du travail d'exécution
de SQL Tuner effectué sur l'onglet Overview si Perform Detail Analysis est sélectionné. Sinon,
l'analyse est effectuée quand vous cliquez sur l'onglet Analysis.
Diagramme VST (Visual SQL Tuning)
Bouton Create Index
58
G U I D E D E P RI S E E N M A I N D B O P T I M IZ E R ™ 3 . 5
Introduction à DB Optimizer > Réglage des instructions SQL
DB Optimizer peut analyser une requête SQL ainsi que les index et les contraintes sur les tables
de la requête et afficher la requête au format graphique sur le diagramme VST (Visual SQL
Tuning). Le diagramme VST peut être affiché en mode Résumé ou en mode Détail. Il aide les
développeurs, les concepteurs et les administrateurs de bases de données à voir les défauts de
conception du schéma, tels que les jointures cartésiennes, les jointures cartésiennes implicites et
les relations plusieurs-à-plusieurs. Le diagramme VST aide aussi l'utilisateur à comprendre plus
rapidement les composants d'une requête SQL, en accélérant ainsi le dépannage et l'analyse.
Cette section est constituée des rubriques suivantes :
• Recherche des index manquants page 59
• Exploration du diagramme VST page 60
• Recherche d'un code SQL ou d'un schéma problématique page 68
RECHERCHE DES INDEX MANQUANTS
Les index manquants apparaissent en orange dans la zone Collect and create indexes de
l'onglet Overview. La création d'un index manquant peut améliorer le chemin d'exécution de
l'instruction SQL en cours d'analyse.
CONSEIL :
Les index utilisés apparaissent en vert. Les index qui existent dans la table mais ne sont
pas utilisés dans ce chemin d'exécution apparaissent en gris. Les index utilisables mais
pas utilisés par le chemin d'exécution en cours apparaissent en bleu.
G U I D E D E P RI S E E N M A I N D B O P T IM I ZE R ™ 3 . 5
59
Introduction à DB Optimizer > Réglage des instructions SQL
EXPLORATION DU DIAGRAMME VST
1
2 3
4
5
6
Légende
1 Afficher / Masquer la légende du diagramme
2 Afficher / Masquer le plan d'explication
3 Afficher / Masquer les compteurs et les ratios
4 Afficher le mode Détail ou le mode Résumé
5 Zoom avant
6 Zoom arrière
60
G U I D E D E P RI S E E N M A I N D B O P T I M IZ E R ™ 3 . 5
Introduction à DB Optimizer > Réglage des instructions SQL
AFFICHAGE OU MASQUAGE DE LA LÉGENDE DU DIAGRAMME
Cliquez sur le commutateur Diagram Legend [
nouveau dessus pour la masquer.
] pour afficher la légende, puis cliquez de
Toutes les icônes utilisées dans le diagramme VST sont identifiées dans la légende du
diagramme.
G U I D E D E P RI S E E N M A I N D B O P T IM I ZE R ™ 3 . 5
61
Introduction à DB Optimizer > Réglage des instructions SQL
AFFICHAGE OU MASQUAGE DU PLAN D'EXPLICATION
REMARQUE : Le plan d'explication est disponible seulement pour les plates-formes Oracle 10g
et 11g.
Déplacez la souris au-dessus du diagramme VST pour voir l'icône Explain Plan [ ], puis
cliquez dessus pour afficher la superposition du plan d'explication. Cliquez de nouveau sur
l'icône Explain Plan pour masquer la superposition.
Les noeuds supplémentaires présentés dans la superposition du plan d'explication
fournissent des détails sur le flux du plan de requête, avec des opérations (telles que des
boucles imbriquées, des tris et des jointures) montrant la connexion des tables, ainsi que
d'autres opérations.
Déplacez la souris au-dessus des objets ou des relations de la superposition pour afficher
des détails supplémentaires.
62
G U I D E D E P RI S E E N M A I N D B O P T I M IZ E R ™ 3 . 5
Introduction à DB Optimizer > Réglage des instructions SQL
AFFICHAGE OU MASQUAGE DES COMPTEURS ET DES RATIOS DES TABLES
Pour afficher ou masquer les compteurs des tables, les tailles relatives à la jointure de deux
tables et les ratios des ensembles de résultats filtrés, cliquez sur l'icône Ratios and Counts
[
]
Les nombres en vert, situés dans le coin supérieur gauche de la table, représentent le nombre
total des lignes de cette table. Dans l'exemple ci-dessus, la table MOVIERENTAL (MR) contient
5 000 lignes.
Le pourcentage en bleu, situé dans le coin inférieur droit de la table, représente le pourcentage
des lignes de cette table qui satisfont le critère de sélection. Dans l'exemple ci-dessus, 100 %
des lignes de la table RENTALITEM (RI) satisfont le critère de sélection.
Les nombres affichés sur les jointures de tables indiquent le nombre total des lignes qui satisfont
le critère de sélection des deux tables.
G U I D E D E P RI S E E N M A I N D B O P T IM I ZE R ™ 3 . 5
63
Introduction à DB Optimizer > Réglage des instructions SQL
Vous pouvez aussi visualiser la requête SQL ayant créé une relation en déplaçant la souris audessus de la relation. Si le contenu du conseil a une taille supérieure à celle de son rectangle,
vous pouvez déplacer la souris en haut du conseil pendant une seconde afin de le transformer
en une boîte de dialogue que vous pouvez redimensionner, et dans laquelle vous pouvez
effectuer des défilements et sélectionner du texte à copier dans le Presse-papiers.
AFFICHAGE OU MASQUAGE DES COLONNES ET DES INDEX DES TABLES
Cliquez sur le commutateur Detail/Summary pour afficher ou masquer les détails de
l'affichage des tables, notamment les colonnes et les index.
Seuls les champs utilisés dans la clause WHERE sont affichés en mode Détail. Pour de plus
amples informations sur l'interprétation des icônes utilisées en mode Détail, activez l'option
Diagram Legend.
CONSEIL :
Vous pouvez aussi permuter entre le mode Résumé et le mode Détail pour une table
ou une vue spécifique en double-cliquant sur le nom de l'objet.
REMARQUE : Vous pouvez déplacer les tables du diagramme en cliquant dessus et en les déplaçant
à l'emplacement désiré. La position des lignes de connexion est automatiquement
ajustée.
64
G U I D E D E P RI S E E N M A I N D B O P T I M IZ E R ™ 3 . 5
Introduction à DB Optimizer > Réglage des instructions SQL
VISUALISATION DE TOUS LES CHAMPS D'UNE TABLE
Déplacez la souris au-dessus du nom d'une table pour visualiser tous les champs de la table
dans une fenêtre contextuelle.
L'illustration ci-dessous présente la fenêtre contextuelle qui apparaît quand vous déplacez
la souris au-dessus de la table.
G U I D E D E P RI S E E N M A I N D B O P T IM I ZE R ™ 3 . 5
65
Introduction à DB Optimizer > Réglage des instructions SQL
VISUALISATION DU CODE SQL D'UN OBJET
Déplacez la souris au-dessus du nom d'une table, d'un champ ou d'un index, pour afficher
le code SQL nécessaire à la création de cet objet.
VISUALISATION DES RELATIONS
Déplacez la souris au-dessus d'une jointure entre deux tables pour afficher la relation entre
les deux tables.
DÉVELOPPEMENT DES VUES DANS LE DIAGRAMME VST
Par exemple, voici la disposition par défaut d'une jointure de requête de la table CLIENT (c) à la
vue TRANSACTIONS (t).
66
G U I D E D E P RI S E E N M A I N D B O P T I M IZ E R ™ 3 . 5
Introduction à DB Optimizer > Réglage des instructions SQL
Cliquez avec le bouton droit sur la vue et choisissez Expand View.
Vous pouvez maintenant voir les objets de la vue.
G U I D E D E P RI S E E N M A I N D B O P T IM I ZE R ™ 3 . 5
67
Introduction à DB Optimizer > Réglage des instructions SQL
RECHERCHE D'UN CODE SQL OU D'UN SCHÉMA PROBLÉMATIQUE
Dans le diagramme VST (Visual SQL Tuning), une requête bien formée doit ressembler à ceci :
Un-à-plusieurs
Des problèmes tels que les jointures cartésiennes, les jointures cartésiennes implicites et les
relations plusieurs-à-plusieurs sont clairement représentés dans le diagramme VST.
Jointure cartésienne
Plusieurs-à-plusieurs
Les jointures sont représentées par les lignes de connexion entre les noeuds. Le tableau suivant
décrit quand un type particulier de ligne de connexion est utilisé et le positionnement par
défaut de la ligne.
Lignes de
connexion
Description
Les relations de jointure un-à-un sont représentées graphiquement avec des lignes
horizontales bleues. Des jointures un-à-un existent quand deux tables sont jointes sur leur clé
primaire.
Les relations un-à-plusieurs sont représentées graphiquement avec plusieurs tables au-dessus
d'une table unique.
La jointure cartésienne présente la table en rouge sans connecteur, pour indiquer qu'elle est
jointe via une jointure cartésienne. Un critère de jointure est manquant dans la requête. Un
problème de jointure cartésienne peut être résolu en implémentant une suggestion de
réécriture présentée dans la zone Generated Cases de l'onglet Overview.
Les relations plusieurs-à-plusieurs sont connectées par une ligne rouge et l'emplacement
relatif n'est pas restreint. Si les informations maître-détail sont manquantes, le diagramme
VST aura alors des connecteurs plusieurs-à-plusieurs. L'optimiseur peut optimiser d'une façon
plus cohérente une requête bien formée. La requête s'exécutera ainsi plus rapidement.
68
G U I D E D E P RI S E E N M A I N D B O P T I M IZ E R ™ 3 . 5
Introduction à DB Optimizer > Réglage des instructions SQL
IMPLÉMENTATION DES RECOMMANDATIONS SUR L'ONGLET INDEX
ANALYSIS
Dès que vous avez ajouté les candidats de réglage à un travail de réglage, DB Optimizer peut
analyser l'efficacité des index de la base de données et recommander la création de nouveaux
index là où les nouveaux index peuvent augmenter les performances.
Dans la table Collect and create indexes, un index que DB Optimizer recommande de créer est
marqué en orange et a une icône Create index auprès de sa case à cocher.
ACCEPTER LA SUGGESTION ET GÉNÉRER AUTOMATIQUEMENT UN INDEX
1 Pour tous les index recommandés, cliquez sur la case à cocher située sur la gauche de
l'index que vous voulez créer.
Pour un index sélectionné, vous pouvez modifier le type de l'index en cliquant sur la
colonne Index Type, puis en sélectionnant un type dans la liste : Normal, Bitmap, Reverse
Key, Reverse Key Unique ou Unique.
Create
Index
2 Cliquez sur le bouton Create Index.
Le dialogue Index Analysis apparaît.
3 Pour visualiser le code SQL de l'index dans un éditeur pour une implémentation ultérieure,
cliquez sur l'instruction puis sur Open in a SQL editor.
G U I D E D E P RI S E E N M A I N D B O P T IM I ZE R ™ 3 . 5
69
Introduction à DB Optimizer > SQL Code Assist et exécution
4 Pour exécuter le code SQL de l'index et créer l'index sur la base de données sélectionnée,
cliquez sur Execute.
SQL CODE ASSIST ET EXÉCUTION
SQL Code Assist est un composant d'interface qui permet le développement et le formatage du
code SQL à des fins de création et de modification d'objets de bases de données. Il fournit une
application frontale pour la livraison de code à travers ses capacités d'extraction du code des
objets.
Code Assist fournit un certain nombre de fonctionnalités clés qui vous assistent dans le
processus de codage, en assurant une plus grande précision dans le codage, des cycles de
développement plus rapides et une augmentation générale de l'efficacité globale.
SQL Editor fournit des fonctionnalités clés qui assurent une augmentation de la précision du code et de l'efficacité globale du
développement.
Les fonctionnalités clés suivantes sont fournies avec SQL Code Assist :
• Extraction du code page 71
• Mise en évidence du code page 72
• Détection automatique des erreurs page 74
• Achèvement du code page 75
• Hyperliens page 75
• Formatage du code page 76
• Pliage du code page 77
• Contrôles de qualité du code page 77
70
G U I D E D E P RI S E E N M A I N D B O P T I M IZ E R ™ 3 . 5
Introduction à DB Optimizer > SQL Code Assist et exécution
Afin d'accéder à SQL Editor, vous devez créer un nouveau fichier ou modifier un code existant
dans l'explorateur de sources de données.
En outre, l'explorateur de projets SQL fournit une structure arborescente pour tous les fichiers
créés dans DB Optimizer. Vous pouvez accéder ici aux fichiers en double-cliquant sur le nom des
fichiers que vous voulez ouvrir.
L'explorateur de projets SQL fournit une arborescence de tous les fichiers développés et enregistrés dans DB Optimizer.
Créer un nouveau fichier
Choisissez File > New > SQL File.
Une instance vide de SQL Editor apparaît dans le Workbench. Si vous enregistrez ce fichier,
il est automatiquement ajouté à l'explorateur de projets SQL.
Editer un fichier existant
Utilisez l'explorateur de sources de données ou l'explorateur de projets pour naviguer
jusqu'au code à modifier, et double-cliquez dessus.
Une instance de SQL Editor apparaît dans le Workbench, remplie par le code extrait de
l'objet ou du fichier projet SQL spécifié.
EXTRACTION DU CODE
SQL Editor fournit la capacité d'extraire le code SQL sous-jacent des objets de bases de
données enregistrés dans DB Optimizer pour fournir une application frontale pour le
développement et la modification des sources de données de votre entreprise.
G U I D E D E P RI S E E N M A I N D B O P T IM I ZE R ™ 3 . 5
71
Introduction à DB Optimizer > SQL Code Assist et exécution
Extraire le code SQL sous-jacent
Naviguez jusqu'à un objet de base de données dans l'explorateur de sources de données
et sélectionnez Extract dans le menu contextuel obtenu par clic droit.
Le code SQL sous-jacent de l'objet apparaît dans SQL Editor et est prêt pour l'édition et
des modifications ultérieures.
MISE EN ÉVIDENCE DU CODE
SQL Editor identifie les commandes et fournit les modifications de mise en évidence de la
syntaxe qui sont automatiquement ajoutées au code au fur et à mesure que vous ajoutez des
lignes, ce qui vous permet de comprendre clairement et rapidement le code à sa lecture dans
l'interface.
La mise en évidence de syntaxe suivante est automatiquement ajoutée aux lignes de code dans
SQL Editor :
Code
Formatage
Commentaires
italique en vert
Commandes SQL
bleu sombre
Erreurs de syntaxe
souligné en rouge
Erreurs de codage
rouge
72
G U I D E D E P RI S E E N M A I N D B O P T I M IZ E R ™ 3 . 5
Introduction à DB Optimizer > SQL Code Assist et exécution
En outre, SQL Editor fournit une barre de modification pourpre dans la colonne de gauche qui
indique si une ligne de code a été modifiée depuis le texte original. Vous pouvez déplacer la
souris sur cette barre de modification pour voir la ligne de code originale. Une icône en forme
de carré rouge dans la colonne de droite indique la présence d'erreurs dans la ligne de code.
Vous pouvez déplacer la souris au-dessus de l'icône pour voir le nombre d'erreurs.
La barre de modification pourpre indique si une ligne de code a été modifiée depuis son texte original. Déplacez la souris au-dessus
de la barre de modification pour voir le texte original.
G U I D E D E P RI S E E N M A I N D B O P T IM I ZE R ™ 3 . 5
73
Introduction à DB Optimizer > SQL Code Assist et exécution
DÉTECTION AUTOMATIQUE DES ERREURS
La fonctionnalité de détection automatique des erreurs de l'éditeur met en surbrillance les
erreurs du code au fur et à mesure que vous travaillez en "temps réel".
La détection automatique des erreurs identifie et analyse automatiquement les instructions
SELECT, FROM, WHERE, GROUP BY, HAVING et ORDER BY. Si elle détecte des erreurs de
syntaxe lors de la saisie de ces instructions, la ligne est automatiquement marquée par l'icône
d'erreur dans la colonne de gauche de SQL Editor. Vous pouvez déplacer la souris au-dessus de
l'icône pour voir les erreurs.
Les erreurs de syntaxe sont automatiquement marquées ligne par ligne, au fur et à mesure que vous travaillez avec le code dans SQL
Editor. Déplacez la souris au-dessus de l'icône d'erreur pour voir le message d'erreur spécifique.
En outre, toutes les erreurs sémantiques sont enregistrées dans la vue Problems, un composant
d'interface qui consigne automatiquement les erreurs et les avertissements au fur et à mesure
que vous travaillez avec les fichiers.
La vue Problems consigne les erreurs et les avertissements au fur et à mesure que vous travaillez avec les fichiers dans SQL Editor.
Vous pouvez double-cliquer sur une ligne dans la vue Problems, et DB Optimizer vous oriente
automatiquement sur ce problème dans SQL Editor.
74
G U I D E D E P RI S E E N M A I N D B O P T I M IZ E R ™ 3 . 5
Introduction à DB Optimizer > SQL Code Assist et exécution
ACHÈVEMENT DU CODE
SQL Editor fournit des capacités de suggestion pour les objets et les instructions DML. Il a la
capacité de rechercher les noms des objets afin d'éviter des erreurs lors de la définition des
noms des tables, des colonnes, etc. dans le processus de développement. Cette fonctionnalité
fournit des listes d'objets et des suggestions de code qui rendront le processus de
développement plus efficace, puisque vous ne serez pas obligé de rechercher manuellement les
noms des objets et autres valeurs d'instructions. SQL Editor fournit une assistance de code pour
les instructions SELECT, UPDATE, INSERT et DELETE, ainsi que le support de la suggestion
d'objets pour les tables, les tables d'alias, les colonnes, les colonnes d'alias, les schémas et les
catalogues.
Activer l'assistance du code
1 Cliquez sur la ligne sur laquelle vous voulez activer la fonctionnalité d'assistance du code.
2 Appuyez sur CTRL + barre d'espace sur votre clavier. L'assistance du code analyse la ligne
et présente une liste de suggestions basées sur les éléments de l'instruction.
HYPERLIENS
Les hyperliens sont utilisés dans SQL Editor pour fournir des liens vers les tables, les colonnes,
les packages et les autres objets de référence. Quand vous sélectionnez un objet hyperlié
depuis un fragment de code, un nouvel éditeur s'ouvre et affiche le source. En outre, les
hyperliens peuvent être utilisés pour lier les procédures ou la fonction d'une instruction d'appel,
ainsi que les appels de fonctions dans les instructions DML. Pour activer un hyperlien, déplacez
la souris au-dessus du nom de l'objet et maintenez la touche CTRL enfoncée. Il devient souligné
et sa couleur change.
G U I D E D E P RI S E E N M A I N D B O P T IM I ZE R ™ 3 . 5
75
Introduction à DB Optimizer > SQL Code Assist et exécution
FORMATAGE DU CODE
Le formatage du code est automatiquement appliqué à un fichier au fur et à mesure que vous
développez le fichier en code SQL. Cela vous permet de définir une fois les préférences de
formatage globales, puis de les appliquer à tout développement de code, ce qui représente un
gain de temps et rend le processus de développement du code plus efficace. Le formateur de
code est accessible en sélectionnant CTRL + Maj + F dans l'éditeur. Tout le code est
automatiquement formaté en fonction des paramètres spécifiés sur le noeud Code Formatter
du panneau Preferences. Pour accéder à ce panneau, sélectionnez Window > Preferences
dans le menu principal.
Les paramètres de formatage de code peuvent être définis globalement, puis appliqués à l'intégralité du travail de développement
dans SQL Editor.
En plus du formatage du code par fichier individuel, vous pouvez aussi formater un groupe
entier de fichiers dans l'explorateur de projets. Sélectionnez le répertoire des fichiers sur
lesquels vous voulez appliquer le formatage, et exécutez la commande Format du menu
contextuel accessible par clic droit. Les fichiers seront automatiquement formatés selon les
préférences globales.
76
G U I D E D E P RI S E E N M A I N D B O P T I M IZ E R ™ 3 . 5
Introduction à DB Optimizer > SQL Code Assist et exécution
PLIAGE DU CODE
La fonctionnalité de pliage du code trie automatiquement le code dans une structure
hiérarchique de type arborescence dans SQL Editor. Cela augmente les capacités de navigation
et de clarification durant le processus de développement du code. Il garantit une bonne
compréhension du fichier pour les futurs travaux nécessaires sur le code. Au fur et à mesure que
vous travaillez dans SQL Editor, les noeuds pliables sont automatiquement insérés dans les
lignes appropriées du code. Les instructions peuvent alors être développées ou repliées selon
vos besoins, et cette fonctionnalité est particulièrement utile quand vous travaillez sur des
parties de fichiers compliqués ou particulièrement grands.
CONTRÔLES DE QUALITÉ DU CODE
Sur du code basé sur Oracle, la fonctionnalité de contrôle de la qualité du code fournit des
suggestions concernant l'amélioration du code, instruction par instruction. Au fur et à mesure
que vous travaillez dans SQL Editor, les marqueurs fournissent des annotations qui préviennent
et corrigent les erreurs communes du code.
Les remarques concernant les suggestions de qualité du code apparaissent dans une fenêtre sur
toute ligne de code où l'éditeur détecte une erreur, ou sinon détecte que le code n'est pas aussi
efficace qu'il le pourrait. Les annotations de contrôle de la qualité du code sont activées en
cliquant sur l'icône en forme d'ampoule allumée située dans la marge, ou en sélectionnant
Ctrl + l sur votre clavier.
Les erreurs communes suivantes sont détectées par la fonction de contrôle de la qualité du
code de l'éditeur :
• Critère JOIN valide manquant dans l'instruction
• Opérateur de jointure externe non valide ou manquant
• Problèmes de transitivité
• Requête imbriquée dans la clause WHERE
• Emplacement incorrect des conditions d'une clause HAVING
• Index supprimé par une fonction ou un opérateur arithmétique
• Types de colonnes non concordants ou incompatibles
• Comparaison de colonnes null
Pour activer les contrôles de qualité du code :
• Cliquez sur l'icône en forme d'ampoule allumée située dans la marge de l'éditeur, ou
sélectionnez Ctrl + l sur votre clavier.
Les suggestions de l'éditeur apparaissent dans une fenêtre sous l'instruction sélectionnée.
Quand vous cliquez sur une modification suggérée, le code affecté est automatiquement
mis à jour.
G U I D E D E P RI S E E N M A I N D B O P T IM I ZE R ™ 3 . 5
77
Introduction à DB Optimizer > SQL Code Assist et exécution
EXÉCUTION SQL
Quand vous avez terminé le développement ou la modification du code, vous pouvez alors
exécuter le fichier depuis l'environnement de DB Optimizer, sur la base de données de votre
choix. Cela vous permet d'exécuter immédiatement le code dès que son développement est
terminé. Autrement, vous pouvez enregistrer les fichiers afin de les exécuter plus tard.
Afin d'exécuter un fichier, vous devez au préalable l'associer à une base de données cible. Pour
cela, utilisez les menus déroulants de la barre d'outils. Quand un fichier SQL est ouvert dans le
Workbench, les menus sont activés. Sélectionnez une source de données et une base de
données correspondante à associer au fichier, puis cliquez sur l'icône en forme de flèche verte
pour exécuter le fichier.
Les deux menus déroulants indiquent que le fichier SQL est associé à la source de données dataotb19 et à la base de données
EMBCM. Quand l'icône en forme de flèche verte située sur la droite des menus est sélectionnée, le fichier est exécuté sur la source de
données et la base de données spécifiées.
En outre, si vous avez désactivé la validation automatique dans le panneau Preferences
(Window > Preferences), vous pouvez valider et exécuter les transactions via les icônes Commit
Transaction et Start Transaction situées auprès de l'icône Execute.
78
G U I D E D E P RI S E E N M A I N D B O P T I M IZ E R ™ 3 . 5
Introduction à DB Optimizer > SQL Code Assist et exécution
EXÉCUTER UN FICHIER
Ouvrez le fichier à exécuter et assurez-vous qu'il est associé à la base de données correcte, puis
cliquez sur l'icône Execute [ ]. DB Optimizer exécute le code sur la base de données spécifiée.
EXÉCUTER UNE TRANSACTION
Ouvrez le fichier transaction à exécuter et assurez-vous qu'il est associé à la base de données
correcte, puis cliquez sur l'icône Start Transaction [
]. DB Optimizer exécute la transaction sur
la base de données spécifiée.
VALIDER UNE TRANSACTION
Ouvrez le fichier transaction à valider et assurez-vous qu'il est associé à la base de données
correcte, puis cliquez sur l'icône Commit Transaction [ ]. DB Optimizer valide la transaction
sur la base de données spécifiée.
G U I D E D E P RI S E E N M A I N D B O P T IM I ZE R ™ 3 . 5
79
Introduction à DB Optimizer > SQL Code Assist et exécution
CONFIGURATION DES PARAMÈTRES D'EXÉCUTION SQL
Utilisez la boîte de dialogue SQL Session Options pour modifier les paramètres de
configuration qui déterminent comment DB Optimizer exécute le code. Ces options
garantissent que le code est exécuté de la façon voulue sur une base d'exécution, en assurant
l'exactitude et la souplesse lors de l'exécution d'un nouveau code ou d'un code modifié.
La boîte de dialogue SQL Sessions Options vous offre la souplesse d'ajustement des paramètres d'exécution sur une base sessionpar-session.
MODIFIER LES OPTIONS DES SESSIONS SQL
1 Cliquez sur l'icône SQL Session Options de la barre d'outils. La boîte de dialogue SQL
Sessions Options apparaît.
2 Cliquez sur les paramètres individuels de la colonne Value pour modifier la configuration de
chaque propriété, tel que spécifié.
3 Cliquez sur Finish. Les options des sessions sont modifiées et DB Optimizer exécute le
code, tel que spécifié par vos options.
REMARQUE : Les options des sessions SQL sont seulement appliquées au code actuellement
sélectionné, et ne sont pas conservées entre différents fichiers en ce qui concerne
l'exécution.
80
G U I D E D E P RI S E E N M A I N D B O P T I M IZ E R ™ 3 . 5

Manuels associés