▼
Scroll to page 2
of
80
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