Depuis quelques mois maintenant, la version 11g du moteur de base de données de Oracle est disponible.
Cette version implémente de nouvelles fonctionnalités et en améliore certaines déjà présentes en 10g release 2. Tous les domaines sont concernés, le développement, la disponibilité, les performances, l’analyse des problèmes ou encore la sécurité.
Concernant le développement, les clients Oracle 11g utilisent un cache de données qui peut maintenant garder une cohérence avec les données réellement en base si celles-ci sont modifiées. La JVM embarquée (OracleJvm) en base est maintenant compatible avec le JDK 5, et le moteur embarque un nouveau compilateur JIT. Le déploiement et la manipulation de programmes java au sein de la base ont été simplifiés par l’apport d’outils, en ligne de commande, au travers d’une session en base. Toujours concernant le monde Java, la norme jdbc 4.0 est supportée. Il est maintenant possible de manipuler des données de streaming ou de type XML. Les connexions « dba » au travers d’un jdbc sont aussi possibles, ce qui permet d’ordonner des arrêts/démarrages de base par une application distante. Enfin, l’encryptage SSL est supporté par le driver Thin 11g.
Pour son intégration dans des architectures de type SOA, la base Oracle peut maintenant exposer des fonctions ou des packages PL/SQL comme de simples « web services » au travers de son propre serveur http
Une nouveauté remarquable, car toujours utile pour le développeur ou l’administrateur, est l’utilisation des expressions « rationnelles » (ou « régulières », selon vos choix de traduction), utilisation maintenant possible au sein d’ordre SQL grâce à de nouveaux packages « system ».
Concernant la qualité de service rendu ou la disponibilité des applications, des progrès très intéressants ont été réalisés sur Oracle DataGuard. La base « standby », plutôt buggée et peu pratique de la version 8i est maintenant bien loin. De très nettes améliorations étaient déjà notables en 9i et 10g, mais la 11g va encore plus loin en permettant la lecture, et même l’écriture temporaire, dans la base de secours, tout en gardant disponible la synchronisation avec la base principale. Cette synchronisation est désormais complètement automatisée. La bascule aussi peut être automatisé. Cette bascule permet non seulement de retrouver un service rapidement, mais s’occupe aussi de reconstruire une base de secours si le premier serveur est de nouveau disponible. Qui plus est, cette bascule automatisée est paramétrable, et peut suivre des scénarios prédéfinis. Le cluster Oracle (RAC ou Real Application Cluster) a aussi été amélioré, les assistants graphiques de configuration sont plus complets, le load balancing est mieux géré, et les transactions distribuées (XA) sont maintenant supportées par le cluster.
Indissociable de la notion de service, de nouveaux outils de diagnostique sont disponibles. ADR (Automatic Diagnostic Repository), par exemple, renseigne sur les erreurs rencontrées, sur la base mais aussi par le système d’exploitation ou encore le réseau, et propose des résolutions possibles en fonction de l’incident. SQL Repair Advisor, quant à lui, pourra proposer des patchs correctifs pour des requêtes soulevant une erreur d’exécution ou un bug.
Pour l’anticipation des problèmes, SQL Analyze Performance est capable d’analyser les impacts sur les performances en cas de changement sur la base, changement de structure ou apport massif de données. Database Replay permet de tester une base dans les « conditions de production » en rejouant les ordres passés sur la base de production, ce qui apparaît nettement plus « réel » que l’utilisation d’injecteurs de trafic par exemple.
Ensuite de nombreuses améliorations ont été apporté en matière de performance. Les packages PL/SQL disposent maintenant d’un cache pour leur résultat d’exécution, et ces derniers sont compilés en code natif (en C par exemple) sans qu’il soit besoin d’installer un compilateur sur le serveur, ce qui n’était pas possible auparavant et posait un problème de sécurité (disposer d’un compilateur sur un serveur de production est souvent proscrit)
La sécurité non plus n’est pas en reste, l’encryptage des données est maintenant possible pour un tablespace entier, ce qui évite de préciser les données à crypter ou non. La politique de gestion de mot de passe a été améliorée et permet (enfin !) de définir une date d’expiration, un niveau de complexité ou encore de relever des erreurs d’authentification. Les audits de sessions utilisateur ont été généralisé par défaut. Les contrôles d’accès, la restriction des clients du listener de la base ont été améliorés.
Au cours des différentes évolutions, la base de données multiplie ces possibilités de traitement et de stockage. Malgré la tendance du produit à automatiser certains travaux, à assister le DBA sur des tâches classiques, ce dernier n’est pas en reste, et voit son métier se diversifier avec le temps, en s’ouvrant sur d’autres technologies prises en compte par la base.
Référence : Oracle® Database New Features Guide