Rechercher sur arkzoyd.com

24 décembre 2011

Développer des triggers "asynchrones" Oracle pour gagner en performance

Entre de mauvaises mains, les triggers sont des instruments de malheur. Leur temps d'exécution s'immisce dans les temps de réponse de vos ordres SQL sans que vous ne puissiez rien y faire...

Seulement, voilà, ré-écrire une application est extrêmement coûteux  et il faut trouver des moyens rapides de faire d'évoluer ses architectures pour améliorer l'expérience des utilisateurs sans sacrifice démesuré. Introduire de l'asynchronisme dans les codes de bases de données est une solution simple qui permet d'arriver à des résultats intéressants sans "tout casser"...

Le dessin ci-dessous illustre l'idée d'une telle transformation qui peut dans certain cas être redoutable : elle permet de lisser la charge, d'extraire le temps dédié aux triggers du temps de réponse et garantit malgré tout qu'il n'y a pas de perte d'information :

Cloner vos schémas Oracle avec la commande RMAN Transport Tablespace

A l'heure où les opérations sur vos bases de données doivent être simples, rapides et fiables, faire correspondre schéma(s) applicatif(s) et un jeu de tablespaces est un excellent moyen de gérer clone et migration, y compris d'une plateforme à l'autre.

Evidemment, cela suppose que votre application puisse utiliser comme paramètre le nom de son ou ses schémas. Cela suppose que le jeu de caractère soit suffisamment standard comme AL32UTF8. Cela suppose également que l'application ne s'appuie pas sur des objets partagés comme, par exemple, des privilèges, des synonymes ou des liens de bases de données avec des accès publics. Cela dit, même lorsque ces contraintes ne sont pas vérifiées, l'utilisation des tablespaces transportables peut s'avèrer d'une très grande utilité.

Cet article illustre comment cloner l'ensemble des tables et index du schéma DEMO dans la même base de données dans le schéma DEMO2. Il s'appuie pour cela sur le fait qu'il existe une correspondance entre l'utilisateur DEMO et un jeu de tablespace, en l'occurrence, ici, un seul tablespace. Il s'appuie sur la commande Tranport Tablespace de Recovery Manager. Le graphique ci-dessous illustre l'opération réalisée :

16 décembre 2011

A la recherche d'un premier job ou d'un stage ?

Si vous êtes un fidèle de ce blog, vous savez que l'expérience ArKZoYd a donné naissance, il y a quelques mois, à The ArKZoYd Company. Nous sommes déjà confrontés à un de ces bons problèmes : il nous faut de l'aide, une aide intelligente et percutante.

Nous recherchons un(e) jeune pour un premier emploi ou un stage. Si vous lisez cet article, vous êtes sans doute déjà trop expérimenté ; ne fuyez pas pour autant ! Qui connaissez-vous ?
  • Peu importe qu'il connaisse Oracle pourvu qu'il soit très bon en mathématiques et, si possible, s'y connaisse en système.
  • Peu importe l'endroit en France pourvu qu'il n'ait pas peur de se déplacer.
  • Peu importe la tempérance, pourvu qu'il soit fort, juste et prudent.
  • Peu importe les conventions, pourvu qu'il soit combattif et au soutien.
Soyons clair, se lancer dans une start-up pendant la crise n'est pas raisonnable, ni facile... C'est extrêmement passionnant. Si vous pensez correspondre à ces critères ou connaissez quelqu'un qui y ressemble, contactez-moi sur Twitter @ArKZoYd ou laissez vos coordonnées sur la page contacts de The ArKZoYd Company.

- Grégory

Désinstaller Oracle avec le script "deinstall"

Très honnêtement, je n'utilise jamais le script deinstall pour supprimer Oracle. Je préfère utiliser runInstaller -detachHome, un tar suivi d'un rm -rf db_x qui a l'extrême avantage de pouvoir servir de base aux cloning d'environnements. Cela étant, je suis pour tout ce qui me fait gagner du temps ! L'autre jour, sans accès Internet et sans autre besoin que de faire un rm -rf *, j'ai décidé de donner une nouvelle chance à l'outil de désinstallation d'Oracle, histoire de...

Il s'avère que désinstaller, cet outil est très efficace [NDLR: comme son nom l'indique, mais je suis toujours méfiant]; non seulement il supprime le logiciel mais il peut également détruire vos bases de données, supprimer les listeners, déconfigurer OCM/CCR, supprimer les disgroups ASM et les instances associées, supprimer la cible correspondante d'Enterprise Manager. Bref,