▼
Scroll to page 2
of
62
Documentation du produit Embarcadero® DB Optimizer™ Guide de prise en main Version XE4/3.7 Première édition : Novembre 2013 © 2013 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. Ce logiciel et cette documentation contiennent des informations propriétaires de Embarcadero Technologies, Inc. ; ils sont fournis sous un contrat de licence contenant des restrictions sur l'usage et la divulgation, et sont aussi protégés par la loi relative aux droits d'auteur. L'ingénierie inverse du logiciel est interdite. Embarcadero Technologies, Inc. est un leader maintes fois primé d'outils destinés aux développeurs d'applications et aux professionnels des bases de données. Ils peuvent ainsi concevoir correctement des systèmes, les construire plus rapidement et mieux les exécuter, indépendamment de la plate-forme ou du 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 répartis mondialement 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ée 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. SIÈ GE S O C IAL S IÈG E EMOA 1 0 0 C A L I F O R N I A S T RE E T 12TH FLOOR SA N F R A N CI S C O , CA L I FO R N I A 94111 USA YO R K H O U S E 1 8 YO R K R O A D M A I D E N H E A D , B E R K S HI RE S L 6 1 SF, U N I T E D K I N G D O M SIÈGE ASIE-PACIFIQUE L 7 . 3 1 3 L A TRO BE S T RE E T MELBOURNE VIC 3000 A U ST R A L I A Sommaire Introduction à DB Optimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 À propos de ce document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Principaux composants de l'interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Limitations de la version d'évaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Limitations de DB Optimizer XE Developer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Exigences techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Problèmes d'installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Installation de DB Optimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Installation de DB Optimizer sur Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Licences DB Optimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Introduction à DB Optimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Démarrage de DB Optimizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Présentation de l'interface utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Utilisation de la vue Data Source Explorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Ajout de sources de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Ajouter une source de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Navigation au sein des sources de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Profilage d'une source de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Démarrage d'une session de profilage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Analyse des données de la session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Load Chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Top Activity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Profiling Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Afficher les détails de la session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Afficher le code SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Enregistrement d'une session de profilage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Enregistrer une session de profilage sous un fichier .oar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Enregistrer une session de profilage dans le référentiel de profilage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Importation d'instructions vers SQL Tuner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Réglage des instructions SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Création d'un nouveau travail de réglage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Créer un nouveau travail de réglage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Ajout d'instructions SQL à un travail de réglage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 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 X E 4 /3 . 7 3 Sommaire Ajouter un nouveau texte SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Ajouter un objet de base de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Ajouter un fichier SQL enregistré . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Ajouter des instructions SQL de SGA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Exécution d'un travail de réglage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Exécuter un travail de réglage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Analyse des résultats de SQL Tuner sur l'onglet Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Déterminer les meilleurs cas pour le temps du chemin d'exécution de l'instruction . . . . . . . . . . . . . . . . . 40 Recherche des index manquants et des problèmes SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Recherche des index manquants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Exploration du diagramme VST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Affichage ou masquage de la légende du diagramme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Affichage ou masquage du plan d'explication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Affichage ou masquage des compteurs et des ratios des tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Affichage ou masquage des colonnes et des index des tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Visualisation de tous les champs d'une table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Visualisation du code SQL d'un objet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Visualisation des relations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Développement des vues dans le diagramme VST. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Recherche d'un code SQL ou d'un schéma problématique. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Implémentation des recommandations sur l'onglet Index Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Accepter la suggestion et générer automatiquement un index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 SQL Code Assist et exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Extraction du code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Mise en évidence du code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Détection automatique des erreurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Achèvement du code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Hyperliens. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Formatage du code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 Pliage du code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Contrôles de qualité du code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Exécution SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Exécuter un fichier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Exécuter une transaction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Valider une transaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Configuration des paramètres d'exécution SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Modifier les options des sessions SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 4 G U I D E D E PRI SE E N M A IN D B O P T I M IZE R X E 4 /3 . 7 INTRODUCTION À DB OPTIMIZER 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, comprenant 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 SGBD. Il est disponible sous la forme d'une application autonome ou d'un plug-in Eclipse. DB Optimizer est structuré et son interface se compose de trois parties 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 présente les fonctionnalités de base de DB Optimizer. REMARQUE : Pour obtenir les dernières versions de la documentation de 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 connaître les informations les plus récentes ; il se trouve sur docs.embarcadero.com/products/ db_optimizer. PRINCIPAUX COMPOSANTS DE L'INTERFACE Les trois principaux composants de l'interface de DB Optimizer sont : SQL Profiler : La surveillance permanente des sources de données permet de construire un profil ou modèle statistique de la source de données spécifiée, et signale les principales activités relatives à la session, aux instructions SQL et aux événements. 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. Cette dernière 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 ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7 5 Limitations de la version d'évaluation SQL Tuner : Fournit un moyen facile et optimal de découvrir les chemins efficaces des requêtes qui peuvent ne 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. Utilisé 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. 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. 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. 6 G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7 INSTALLATION Cette section vous aide à installer DB Optimizer. Elle est constituée des rubriques suivantes : • Problèmes d'installation page 7 • Installation de DB Optimizer page 7 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 X E 4 /3 . 7 7 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 dialogue Pre-Installation Summary, 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 et cliquer sur Done si vous voulez démarrer l'application pour une première utilisation. 8 G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7 Installation de DB Optimizer LICENCES DB OPTIMIZER DB Optimizer supporte les types de licence suivants : • Licences d'évaluation : Une licence d'une durée 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 9. • 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 au démarrage de l'application" page 10. • 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 10. 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. Le 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 10. G U ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7 9 Installation de DB Optimizer Enregistrement d'une licence de station de travail au 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é de 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 9. 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 10. 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-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. 10 G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7 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 ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7 11 Installation de DB Optimizer 12 G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7 INTRODUCTION À DB OPTIMIZER Les sessions de tutoriels suivantes vous permettent de vous familiariser avec 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 afin d'optimiser 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 13 • Présentation de l'interface utilisateur page 14 • Utilisation de la vue Data Source Explorer page 16 • Profilage d'une source de données page 21 • Réglage des instructions SQL page 30 • SQL Code Assist et exécution page 52 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 ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7 13 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 opérations relatives aux travaux de réglage, aux sessions de profils et aux sources de données. Le Workbench fournit un environnement pour construire les sessions de profilage et régler les instructions des requêtes. 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. 14 G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7 Présentation de l'interface utilisateur • 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 ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7 15 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. 16 G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7 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 le Data Source Explorer, 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 ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7 17 Présentation de l'interface utilisateur AJOUTER UNE SOURCE DE DONNÉES Sélectionnez Data Source Explorer 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 : 18 Vous pouvez catégoriser les sources de données afin de les colorer dans le Data Source Explorer, 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. L'ensemble de catégories préconfigurées comprend les catégories Development, Test, QA et Production. Vous pouvez également créer des catégories personnalisées. 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 RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7 Présentation de l'interface utilisateur NAVIGATION AU SEIN DES SOURCES DE DONNÉES Pour analyser et régler les instructions relatives aux sources de données existant dans 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 à chacune. 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. Vous pouvez en outre visualiser le code SQL sous-jacent de chaque objet de base de données individuel. G U ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7 19 Présentation de l'interface utilisateur Naviguer au sein d'une source de données 1 Développez un noeud de source de données et fournissez, si vous y êtes invité, les informations de connexion. 2 Développez les sous-noeuds supplémentaires pour explorer les types d'objets et les objets individuels. 3 Double-cliquez sur le sous-noeud Code d'un objet particulier 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 28. 20 G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7 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 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 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. 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. G U ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7 21 Profilage d'une source de données • La section Top Activity affiche l'origine de la charge. Les onglets disponibles dans cette section diffèrent selon la plate-forme. Parmi ceux généralement disponibles, 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 vue 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 l'instruction sélectionnée. 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. 22 G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7 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 relatives à 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 relatifs à des requêtes spécifiques en cours d'exécution ou en attente lors d'une session de profilage. SQL Profiler est composé des trois composants suivants, listés par ordre décroissant de granularité : • Load Chart page 23 • Top Activity page 24 • Profiling Details page 25 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 les catégories CPU, Lock, Memory, I/O, Network et Other. Utilisez la légende du graphe pour interpréter le graphe. Elle affiche un schéma de code et de couleur pour les catégories de session d'attente et d'exécution dans le coin supérieur droit du graphe. G U ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7 23 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 des éléments tels que 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 spécifiques à la plate-forme SGBD 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. Alors que les onglets disponibles varient selon la plate-forme, les onglets les plus communs sont présentés ci-après : • 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 de croissant à décroissant et inversement. • 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. 24 G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7 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, Sybase et Oracle. 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 ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7 25 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 message similaire au 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 le nom de 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. 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 associé est affiché. 26 G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7 Profilage d'une source de données 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 ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7 27 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 également 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é à SQL Project Explorer, l'explorateur de projets SQL. Dès que vous avez enregistré une session de profilage, elle apparaît dans SQL Project Explorer (l'explorateur de projets SQL) sous le nom enregistré. Vous pouvez l'ouvrir à nouveau en doublecliquant sur le nom du projet. 28 G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7 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 de l'arrêt de la session de profilage, peut être visualisé depuis l'explorateur de sources de données, et être ainsi disponible pour un partage avec d'autres utilisateurs de 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 ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7 29 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 peuvent ne 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 consiste à effectuer une 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é. 30 G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7 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. Les instructions peuvent aussi ê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 ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7 31 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. 32 G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7 Réglage des instructions SQL 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. Sur SQL Server 2008 et versions supérieures, les instructions MERGE peuvent également être réglées. Les instructions sont ajoutées à un travail de réglage via l'onglet Overview. 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. 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. G U ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7 33 Réglage des instructions SQL 34 G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7 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 proposées par rapport au texte saisi. 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 : Pour faire glisser un objet de base de données sur l'onglet Overview, cet objet doit être situé dans la même base de données que celle affichée dans la barre de navigation en haut de la fenêtre Tuning dans l'explorateur de sources de données. 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 ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7 35 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 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. 36 G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7 Réglage des instructions SQL Chaque instruction extraite est listée par nom et texte. 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 modifier le source SQL de l'instruction. Contrôle de configuration Contrôles des colonnes Case à cocher Exécuter/annuler le travail Développer/Replier Activer l'exéution Sélecteurs Contrôle de dimensionnement Schéma et catalogue du volet Augmenter/réduire Indicateur d'état de réglage Contrôle Filtre Contrôle Développer/replier Cas généré Cas de transformation 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. Il suggère des chemins de requêtes alternatifs permettant d'optimiser votre source de données. G U ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7 37 Réglage des instructions SQL L'indicateur d'état de réglage fournit l'état 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 recevez un message d'avertissement si 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, plutôt que 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 (le schéma utilisé est ainsi pris en compte). Cliquez avec le bouton droit sur une instruction de réglage et sélectionnez Refresh Tuning Statements. Dès qu'un travail de réglage est exécuté, l'onglet Generated Cases reflète 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, l'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. 38 G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7 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é. DB Optimizer peut vous aider à trouver où le chemin par défaut de la base de données n'est 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 ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7 39 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 40 G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7 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 41 • Exploration du diagramme VST page 42 • Recherche d'un code SQL ou d'un schéma problématique page 50 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 ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7 41 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 42 G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7 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 ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7 43 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 (Explain Plan Overlay). 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. 44 G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7 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 ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7 45 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 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 basculer entre les modes Résumé (Summary Mode) et Détail (Detail Mode) 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. 46 G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7 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 ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7 47 Réglage des instructions SQL VISUALISATION DU CODE SQL D'UN OBJET 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 Quand vous déplacez la souris sur une jointure entre deux tables, la relation entre les deux tables s'affiche. 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). 48 G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7 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 ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7 49 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 : 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. 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. 50 G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7 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, l'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 ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7 51 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 53 • Mise en évidence du code page 54 • Détection automatique des erreurs page 55 • Achèvement du code page 57 • Hyperliens page 57 • Formatage du code page 58 • Pliage du code page 59 • Contrôles de qualité du code page 59 52 G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7 SQL Code Assist et exécution Pour 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, SQL Project Explorer, 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 doublecliquant sur le nom de ceux 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. Modifier 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 ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7 53 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 54 G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7 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. 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". G U ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7 55 SQL Code Assist et exécution 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, puis DB Optimizer vous oriente automatiquement sur ce problème dans SQL Editor. 56 G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7 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 (plus les instructions MERGE sur SQL Server 2008 et versions supérieures) , 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 ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7 57 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 Project Explorer, 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. 58 G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7 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 ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7 59 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. 60 G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7 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 ID E D E P RIS E E N M A IN D B O P T IM I ZE R XE 4/ 3. 7 61 SQL Code Assist et exécution CONFIGURATION DES PARAMÈTRES D'EXÉCUTION SQL Utilisez le 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 possibilité d'ajuster les paramètres d'exécution session par session. MODIFIER LES OPTIONS DES SESSIONS SQL 1 Cliquez sur l'icône SQL Session Options de la barre d'outils. Le 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 conformément à 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. 62 G U I D E D E P RIS E E N M A IN D B O P T IM IZ E R XE 4/ 3. 7