- d'un fichiers
- d'un générateur
- d'un résultat collecté depuis d'une requête précédente
31 juillet 2011
Exemple de Scenario JDBC avec Apache JMeter
Apache JMeter est un outil simple pour écrire des tests fonctionnels et des tests de charge. Dans cet article, vous trouverez un exemple d'utilisation qui met en oeuvre des requêtes JDBC avec une base Oracle. L'objectif est d'illustrer l'utilisation de variables dans ces requêtes ; leurs valeurs peuvent, par exemple, être extraites :
Labels:
apache,
database,
oracle
Links to this post
30 juillet 2011
Glassfish et JRockit Mission Control
Vous pouvez bien sur utiliser JRockit Mission Control avec Glassfish ! Il faut juste pour cela qu'une des conditions ci-dessous soit validée :
- Tester ou développer dans le cadre des contraintes des licences Oracle décrites dans la FAQ JRockit
- Utiliser une licence Java SE Advanced avec Glassfish Open Source Edition
- Utiliser Oracle Glassfish Server et Diagnostics Pack for Oracle Middleware
Labels:
glassfish,
java,
oracle
Links to this post
Weblogic et JRockit Mission Control
JRockit Mission Control permet de diagnostiquer les dysfonctionnements qui apparaissent dans la machine virtuelle d'Oracle. Il est particulièrement bien intégrée à WebLogic. Il inclut une console temps réel mais également des outils tels que l'analyseur des fichiers générés par le l'enregistreur de vol (Flight Recorder) et le détecteur de fuites mémoire (Memory Leak Detector).
Avec JRockit Mission Control, vous pouvez facilement faire le lien entre des temps de réponses, une sur-utilisation des processeurs ou de la mémoire et les composants des applications Java EE, les URL ou le contexte d'exécution (ECID). Voici un exemple de vue extraites d'un enregistrement temps réel de Weblogic :
Avec JRockit Mission Control, vous pouvez facilement faire le lien entre des temps de réponses, une sur-utilisation des processeurs ou de la mémoire et les composants des applications Java EE, les URL ou le contexte d'exécution (ECID). Voici un exemple de vue extraites d'un enregistrement temps réel de Weblogic :
Labels:
java,
oracle
Links to this post
29 juillet 2011
Accéder à une base de données Oracle en C# via ODP.NET
Oracle Data Provider for .NET (ODP.NET) permet d'accéder à vos bases Oracle depuis vos programmes .NET. Oracle fournit également une extension pour Visual Studio appelée Oracle Developer Tools for Visual Studio. Cette extension permet notamment :
- de créer, modifier et manipuler vos objets Oracle
- de créer et déboguer votre code PL/SQL
- de manipuler la CLR inclue dans Oracle Database pour Windows pour développer vos procédures stockées en .NET
Labels:
database,
oracle
Links to this post
Variables Bind et Protocole ou Traces Oracle Net
Il est possible de retrouver les valeurs de bind dans le protocole Oracle Net ou dans les traces du clients. Dans ce cas les valeurs apparaissent sous la forme d'un code au format hexadécimal
XX YY YY YY YY YY où:XXindique la longueur de la valeur passéeYYindique la valeur elle-même
Labels:
database,
oracle,
sql
Links to this post
24 juillet 2011
Introduction à Oracle "JVM Diagnostics"
Oracle "JVM Diagnostics", abbrégé JVMD, permet de superviser très finement avec un intervalle d'échantillonnage de l'ordre de la seconde et même bien inférieur, l'utilisation de vos machines virtuelles Java en production. Il est compatible avec la plupart des JVM du marché, y compris celle d'IBM, de HP, de Sun et JRockit ; pour une liste exhaustive de ces JVM, reportez-vous à la note My Oracle Support [ID 1265738.1].
Si vous ne connaissez pas "JVM Diagnostics", il s'agit du successeur d'Application Diagnostic for Java (AD4J) issue du rachat en 2007 de Auptyma et désormais complètement intégré à Enterprise Manager 11g.
JVM Diagnostics fait parti des packages "WebLogic Server Management Pack Enterprise Edition", "Diagnostics Pack for Oracle Middleware" ou "Oracle Management Pack for non-Oracle Middleware". Il est constitué de :
Son intégration dans Enterprise Manager permet en outre de lier ces données aux données issues de RUEI, aka Real User Experience Insight qui trace l'ensemble de l'activité réseau sur les switchs et acquis par Oracle à travers le rachat de Moniforce. JVMD est également intégré à ADP ou Application Dependency and Performance issue du rachat de ClearApp qui permet quand à lui de tracer les interactions cross-JVM et de remonter dans les diagrammes fonctionnels de technologies avancées comme les processus SOA, les composants Java EE (JSF, EJB, services Web) ou les écrans d'Oracle WebCenter...
L'article qui suit présente les éléments simples de mis en oeuvre d'Oracle JVM Diagnostics
Si vous ne connaissez pas "JVM Diagnostics", il s'agit du successeur d'Application Diagnostic for Java (AD4J) issue du rachat en 2007 de Auptyma et désormais complètement intégré à Enterprise Manager 11g.
JVM Diagnostics fait parti des packages "WebLogic Server Management Pack Enterprise Edition", "Diagnostics Pack for Oracle Middleware" ou "Oracle Management Pack for non-Oracle Middleware". Il est constitué de :
- Une console qui s'affiche depuis Enterprise Manager 11g et stocke/interroge ses données le référentiel de l'OMS
- Un composant spécifique appelé JVM Diagnostics Manager sert de relai entre la console et l'agent JVMD ; celui-ci stocke également ses informations dans le référentiel de l'OMS
- Des agents ; ceux-ci peuvent être déployés en mode standalone, dans la machine virtuelle Java, ou dans un serveur d'applications tel que Weblogic mais également Tomcat, JBoss ou Websphere.
- Un agent pour les bases de données Oracle sous Unix et Linux qui permet de faire le lien entre des problèmes de performance dans l'application et le SQL de votre base de données préférée
Son intégration dans Enterprise Manager permet en outre de lier ces données aux données issues de RUEI, aka Real User Experience Insight qui trace l'ensemble de l'activité réseau sur les switchs et acquis par Oracle à travers le rachat de Moniforce. JVMD est également intégré à ADP ou Application Dependency and Performance issue du rachat de ClearApp qui permet quand à lui de tracer les interactions cross-JVM et de remonter dans les diagrammes fonctionnels de technologies avancées comme les processus SOA, les composants Java EE (JSF, EJB, services Web) ou les écrans d'Oracle WebCenter...
L'article qui suit présente les éléments simples de mis en oeuvre d'Oracle JVM Diagnostics
17 juillet 2011
DBMS_PROFILER vs DBMS_HPROF
Le profiler hiérarchique d'Oracle 11g permet, comme son grand frère avant lui, d'analyser le temps passé dans les différentes procédures, fonctions, triggers et lignes de code d'un package PL/SQL. Les 2 solutions, la nouvelle comme l'ancienne, ne nécessitent aucune préparation du code et sont facilement utilisables en production. Toutefois la nouvelle améliore énormément votre capacité d'analyse :
DBMS_HPROFdistingue finement le SQL du PL/SQL,- il donne une vision récursive des appels en présentant les temps cumulés ainsi que la profondeur d'exécution
- des rapports sont générés en HTML à l'aide d'un utilitaire en ligne de commande ce qui facilite la compréhension
DBMS_PROFILER puis DBMS_HPROF. Cela vous permettra de comparer les 2 outils et de vous faire une première opinion.
Labels:
11g,
database,
oracle
Links to this post
14 juillet 2011
Wrap et Unwrap de code PL/SQL
Wrapper un code PL/SQL (procédure, fonction ou package) contenu dans un fichier nommé
greg.sql est simple. Cela nécessite d'utiliser la commande wrap comme décrit dans la documentation et illustré ci-dessous ; wrap iname=greg.sql oname=greg.plsSi vous pensez que cette méthode peut contribuer à sécuriser votre application, jetez un oeil sur le site
Rafraichir vos environnements pour Oracle Database Replay
Un des aspects associés à la mise en oeuvre d'Oracle Database Replay est la nécessité de reconstruire l'environnement avant chaque "replay". La plupart des méthodes de rafraichissement supprime le jeu de résultats obtenus lors de l'exécution précédente. Bref, peu importe que vous utilisiez RMAN, Flashback Database ou des Flexclones, n'oubliez pas d'exporter et de réimporter les résultats de vos captures et replay avant chaque exécution pour comparer vos résultats successifs.
Cet article reprend l'exemple présenté dans Comparer Capture et Replay de Real Application Testing avec quelques variations pour illustrer les opérations d'export/import nécessaires. Vous noterez notamment que :
Cet article reprend l'exemple présenté dans Comparer Capture et Replay de Real Application Testing avec quelques variations pour illustrer les opérations d'export/import nécessaires. Vous noterez notamment que :
- les opérations de capture et replay sont effectuées sur la même base de données
WHITE11.2.0.2 ce qui permet de capturer les SQL Tuning Set - Les rafraichissements sont réalisés avec Flashback Database et, évidemment, vous utiliserez la méthode de votre choix !
Labels:
11gR2,
database,
oracle,
rat
Links to this post
Flashback On... line
Si on se refère à cette section de la documentation d'Oracle 11.2, on ne peut pas activer ni désactiver le mode Flashback database en ligne :
Use this clause to put the database in or take the database out ofSeulement voilà... Déjà en 10.2, vous pouvez désactiver ce mode sans arrêter la base de données, ce que confirme la note "How To Disable Flashback Database Without A Bounce [ID 833584.1]". Et bien, le savez-vous ?FLASHBACKmode. You can specify this clause only if the database is inARCHIVELOGmode and you have already prepared a fast recovery area for the database.You can specify this clause when the database is mounted but not open.
Labels:
11gR2,
database,
oracle
Links to this post
09 juillet 2011
Comment visualiser sont les ordres qui divergent des originaux dans DB Replay ?
Après avoir rejoué une charge avec DB Replay, il est probable que certaines requêtes divergent. Il se peut que ce soit à cause d'une erreur, ou dans le cas le plus probable, parce que le résultat d'une requête est différent entre la capture et le replay ; par exemple la requête ci-dessous ne ramènera jamais le même résultat :
select sid, serial# from gv$session where username is not null and username != 'SYS'Est-ce grave ? Pas forcément mais encore faut-il être capable d'étudier ces cas...
08 juillet 2011
Comparer Capture et Replay de Real Application Testing
Replongeons-nous, encore une fois, dans Oracle Database Replay et illustrons notamment la nouvelle possibilité offerte à partir de la version 11.2.0.2 de générer des SQL Tuning Set (STS) puis de les comparer... J'ai écrit les 2 premiers articles d'introduction à Real Application Testing de ce blog, il y a 4 ans déjà !. L'objectif était d'expliquer le B.A-BA à travers un exemple simple ; si vous n'avez jamais utilisé cette option d'Oracle, c'est toujours, un bon moyen de démarrer.
Il manquait, sans doute, un exemple plus riche... C'est l'objectif de ce nouvel article qui illustre notamment :
Vous l'aurez compris, cet article s'adresse plutôt à des utilisateurs de niveau intermédiaire. Et de fait, ça donne un exemple assez long et sans doute moins facile à décrypter que si tout était expliqué pas à pas. Cela étant, pas besoin d'être un expert non plus ! Vous ferez facilement le lien avec la documentation. Le travail n'est pas mâché, c'est tout ;-). Et puis, si avec Enterprise Manager, utiliser Real Application Testing se résume à 40 ou 50 clics, utiliser l'API PL/SQL à ses avantages : l'ubiquité, une meilleure compréhension des mécanismes sous-jascents, la stabilité.
Enfin voilà, avant de vous laisser dépouiller l'exemple, le critiquer s'il manque encore des choses et éventuellement trouver une ou 2 typo, voici une dernière remarque. Real Application Testing, et notamment DB Replay, est un incroyable outil pour appréhender les mises à jour de l'infrastructure et toute une gamme d'évolutions techniques en quelques jours et avec une précision redoutable. Pourtant, au delà de l'outil, il vous faut de la méthode. Comprenez ses limites et utilisez d'autres raccourcis. Evaluez la représentativité de vos tests. Estimez les zones non-couvertes autrement. Quantifiez les améliorations avec précision. Gérez les risques de manière intelligente. Communiquez avec clarté pour ne pas créer des attentes trop grandes. Utilisez des dispositifs complémentaires ! avec méthode.
Il manquait, sans doute, un exemple plus riche... C'est l'objectif de ce nouvel article qui illustre notamment :
- L'utilisation du référentiel AWR en simultané à DB Replay
- Un cas simple de divergence entre la capture et le replay et la vue associée pour plus de détail
- La constitution des rapports de comparaisons entre les tirs
- La mise en oeuvre et la comparaison de plusieurs replays à partir de la même capture
- La génération de SQL Tuning Set et leur comparaison entre les replays
Vous l'aurez compris, cet article s'adresse plutôt à des utilisateurs de niveau intermédiaire. Et de fait, ça donne un exemple assez long et sans doute moins facile à décrypter que si tout était expliqué pas à pas. Cela étant, pas besoin d'être un expert non plus ! Vous ferez facilement le lien avec la documentation. Le travail n'est pas mâché, c'est tout ;-). Et puis, si avec Enterprise Manager, utiliser Real Application Testing se résume à 40 ou 50 clics, utiliser l'API PL/SQL à ses avantages : l'ubiquité, une meilleure compréhension des mécanismes sous-jascents, la stabilité.
Enfin voilà, avant de vous laisser dépouiller l'exemple, le critiquer s'il manque encore des choses et éventuellement trouver une ou 2 typo, voici une dernière remarque. Real Application Testing, et notamment DB Replay, est un incroyable outil pour appréhender les mises à jour de l'infrastructure et toute une gamme d'évolutions techniques en quelques jours et avec une précision redoutable. Pourtant, au delà de l'outil, il vous faut de la méthode. Comprenez ses limites et utilisez d'autres raccourcis. Evaluez la représentativité de vos tests. Estimez les zones non-couvertes autrement. Quantifiez les améliorations avec précision. Gérez les risques de manière intelligente. Communiquez avec clarté pour ne pas créer des attentes trop grandes. Utilisez des dispositifs complémentaires ! avec méthode.
Labels:
11gR2,
database,
rat,
sql
Links to this post
Inscription à :
Messages (Atom)