Aucun message portant le libellé OOW 2010. Afficher tous les messages
Aucun message portant le libellé OOW 2010. Afficher tous les messages

mercredi 22 septembre 2010

OOW 2010 - Jour 2


Aujourd'hui ce fut encore une fois une journée bien remplie. J'ai eu droit à plusieurs conférences sur des nouveautés et quelques unes à propos de l'optimisation.

Depuis que je suis ici, il y a un mot qui revient sans cesse. Que se soit Oracle, les partenaires, les exposants, etc... ils l'utilisent à profusion. C'est sans contredit, la tendance. Le mot en question est " cloud ". Donc, je ne pense pas me tromper en prédisant que la prochaine version de la base de données, qui sera la version 12, sera suivi de la lettre " c " au lieu de la lettre " g ". Alors, préparez-vous à voir " Oracle 12C " très bientôt ! :)

Avis à ceux qui font une collection de t-shirts, OOW est LA place. Tous les exposants font des pieds et des mains pour nous offrir des t-shirts gratuitement. Il vous suffit de remplir un mini sondage et voilà !

Il y a un conférencier qui à dit ce qui suit et je suis particulièrement d'accord avec lui :
" Trop souvent les gens (DBA, développeurs, etc...) n'exploitent pas les fonctionnalités offertes par les nouvelles versions. Les gens sont souvent trop conservateurs. Il faut laisser place aux nouveautés puis prendre le temps de les découvrir ".


Edition Based Redefinition (EBR)

Cette nouvelle fonctionnalité permet de mettre en place sur une même base de données différentes versions d'objets d'un schéma appartenant à une application tels que les procédures, fonctions, packages, triggers, vues et synonymes. Elle permet de mettre à jour une application sans interruption. En d'autres mots, c'est une solution de haute disponibilité pour le PL/SQL. Voici d'autres points d'intérêt :
  • C'est gratuit (je suis sérieux!) et inclut avec toutes les éditions d'Oracle
  • Les éditions sont complètement indépendantes l'une de l'autre et ils coexistent, donc le retour arrière est simple et rapide.
  • L'édition par défaut s'appelle : ORA$BASE
  • Nouveau privilège : ENABLE EDITION
  • Trois nouveaux objets : Edition, Editioning view et Crossedition trigger
  • Plusieurs nouvelles vues du dictionnaire ont été créées pour répondre au mode Edition. Par exemple, il faut consulter les vues avec le suffixe " _AE ", qui signifie " All Edition " pour voir tous les objets de toutes les éditions.
  • Pour simplifier la gestion des éditions pour une application, il suffit de créer une vue par table ayant le même nom. Préalablement, les tables doivent toutes être renommées. Donc, vous comprendrez que l'application accèdera maintenant aux vues au lieu des tables.
  • Lors de la création d'une édition (CREATE EDITION), tous les objets de l'application sont créés automatiquement dans la nouvelle édition.
  • Les triggers de type " crossedition " sont optionnels et peuvent être utilisés pour de la conversion de données.
  • Les services de bases de données peuvent être reliés à une édition particulière.
  • La fonction SYS_CONTEXT permet d'afficher l'édition en cours
  • La commande ALTER SESSION permet de passer d'une édition à une autre.
Avec un peu de recul, je me dis que cette merveilleuse fonctionnalité va être un cauchemar pour les DBA car nous risquons d'assister à une explosion d'objets. Je crois qu'un contrôle rigoureux devra être effectué puis des règles d'épuration seront nécessaires suite à la création de nouvelles éditions.

Je vous invite à consulter le site suivant pour plus de détails : www.morganslibrary.org. Sur ce site, vous y trouverez des scripts très utiles pour la création d'une édition.

Et pour terminer, voici les principales étapes à une approche à la résolution de problème :

  • Ne pas chercher seulement sur la base de données, mais sur l'ensemble des composantes qui sont impliqués
  • Effectuer un changement (correction) à la fois
  • Utiliser les bons outils pour diagnostiquer et corriger
  • Documenter les changements et les impacts
  • 2 étapes de résolution :
  • Correction rapide : La résolution du problème n'élimine pas nécessairement toujours le problème. On pourrait appeller cela une solution de contournement
  • Correction définitive : Chercher à régler le problème une fois pour toute
  • Prendre le temps de comprendre pourquoi le problème est survenu
  • Accepter que la cause du problème ne soit pas toujours trouvée

mardi 21 septembre 2010

En direct d'OOW 2010


Vu ma présence à Oracle Open World à San Francisco, j'ai décidé de vous faire profiter des informations que j'ai reçues. Je n'irai certainement pas dans les détails car ça serait très fastidieux et, de plus, je n'ai assurément pas toutes les informations. Par contre, j'espère que cela vous informera suffisamment pour que vous soyez en mesure de rechercher plus de détails sur les sujets que j'aborde.


Weblogic Suite

  • La suite Weblogic ne cesse de s'améliorer de version en version. Et, c'est bien réel car le produit est de plus en plus complet et stable.
  • Weblogic Server pour développeurs sera supporté sous MAC OS X
  • JRockit Virtual Edition (VE) est utilisé au lieu d'un " guest OS ". En plus d'être beaucoup plus simple et sécuritaire, il est 30% plus performant.
  • Oracle Virtual Assembly builder tool est un nouvel outil permettant de cataloguer toutes les VM utilisées. Cet outil permettra de concevoir des graphiques, comme de la modélisation, pour répertorier les VM utilisées dans votre infrastructure tout en précisant diverses propriétés générales ainsi que des informations concernant le déploiement.
  • Glassfish, vous connaissez? C'est un logiciel " open source " très populaire. Ce dernier est très léger et c'est la référence en termes d'implantation Java EE 6 ainsi que Java EE 7. La version 3.1 reviendra avec le clustering qui avait été délaissé avec la version précédente.


Performance

Fermé les curseurs!!! Souvent, les développeurs conçoivent des unités de traitements sans tenir compte que ceux-ci restent ouverts et qu'ils ne sont plus utilisés. Savez-vous que le nombre de curseurs pouvant être ouvert est configurable via un paramètre sur une base de données et que ceux-ci consomment de la mémoire. Et, bien, maintenant, vous le savez ;)

Il ne faut pas négliger l'utilisation du partitionnement, de la compression, du parallélisme, des différents types de jointure, des types de tri, etc… Ces sont des fonctionnalités qui doivent être exploitées afin d'optimiser tous les traitements des applications que vous utilisez. Par exemple le partitionnement permet de regrouper les données selon une clé particulière telle que le temps ou une région. Lors de l'accès de ceux-ci, vous en bénéficierez car il y aura moins de temps d'attente et surement moins de lecture sur disques. De plus, on n'est pas obligé d'appliquer le partitionnement sur une méga grosse table.

Autres points à propos des types de jointures, pour ceux qui ne sont plus sous Oracle 9i, sachez que le " hash join " est bien souvent plus performant que le " sur utilisé " Nested Loop ". Ceci s'applique principalement lorsque plusieurs données de deux tables doivent être mise en jointure.

Lors de l'optimisation de requête, on devrait vérifier le nombre de données qui devra être obtenu indirectement pour que la requête soit complétée au lieu du nombre de rangées que la ou les tables contiennent dans l'énoncé SQL que nous tentons d'optimiser.


Exalogic Elastic Cloud

Voici le nouveau terme que vous entendrez parler dans les prochains jours à venir. Larry Ellison en a fait son sujet lors de l'ouverture d'Oracle Open World. Selon l'annonce qu'il a fait, ce sera le " Data Center " du 21ème siècle. C'est une solution complète impliquant les logiciels (software) et le matériel (hardware) qui ont été conçu pour travailler ensemble. Si vous fouillé le Web, je suis persuadé que bien des infos doivent courir entre autres sur Tweeter.


SQL Performance Analyser (SPA)

Cette fonctionnalité fait partie de " Real Application Testing ". Il n'est pas gratuit mais il procure une réelle assurance lorsque vient le temps d'appliquer des changements sur un environnement de production. SQL Performance Analyser peut être utilisé avec Oracle Dataguard. Cela vient de donner une valeur ajoutée à Dataguard.

SPA devrait être utilisé peu importe la nature du changement comme lors d'un changement de plateforme, de serveur, de type de stockage (ASM), nouvelle collecte de statistiques, migration vers une nouvelle version, et bien d'autres.

Nous avons eu droit à des cas vécus de " DirectTV " et " Bank of America ". Leurs expériences ont démontrés que l'utilisation de SPA fut très bénéfique. Celui-ci a permit d'identifier les impacts de la migration sur leurs applications et d'appliquer les changements qui s'imposaient. Les points qui ont ressortis sont :
  • Limitation sur les " bind variables "
  • Analyse des requêtes rapides et efficaces
  • Un minime changement peut avoir un impact majeur
  • Extraction des requêtes les plus fréquentes
  • Comparaison par la statistique " buffers get " et le nombre d'exécution
  • Conversion de trace SQL en SQL Tuning Sets (STS)