La version Oracle Database 12C toujours dans les nuages

image
Annoncée courant de l’année 2013 par Larry Ellison lui même lors d’Oracle Open World à San Francisco en octobre de l’année dernière, il n’y a encore aucune date officielle concernant la sortie du produit. Plusieurs sources l’annoncent très proche avec un évènement officiel le 11 avril,  mais rien n’est moins sûr;  il n’y a  pas de trace dans la presse et la pression de fin de fiscale n’incite pas à cette sortie prochaine, avec un risque de retarder les cycles de ventes. Il est probable que comme pour la sortie de la  version 11G, l’évènement se déroule au début de l’été, je me positionne pour cette éventualité.
Après plus de trois ans, il nous faut encore patienter quelques jours ou quelques mois avant de découvrir vraiment ce que nous ont préparé les développeurs de la côte Ouest (et d’ailleurs). En attendant, revoyons les révélations qui ont été faites et imaginons ce qui peut nous attendre pour cette nouvelle mouture.
Coté administration
Sortie il y a déjà un plus d’un an, la console et l’infrastructure « Enterprise Manager » renommée pour l’occasion “Enterprise Manager Cloud Control” est prête pour gérer et administrer les futurs bases en version 12c. Nous l’avions décrit ici :  em12C la VF à Colombes avec les principales caractéristiques et bénéfices du produit. Depuis,  vous avez peut-être eu la possibilité de l’installer et de tester sa nouvelle ergonomie. L’architecture a été complètement repensée et l’ajout de fonctionnalité se fait maintenant avec la notion de “Plugin”,  briques qui viennent s’ajouter en tant que sous-produit et qui sont présentent dans l’inventaire. Le “Plugin Database” contient, associé au pack de tuning, les possibilités suivantes :
a) Analytique de l’activité des sessions
Graphique dynamique et à entrées croisées  s’appuyant sur la vue « Active_session_history » , vue qui va être forcément étoffée pour les bases de données 12C . Une amélioration efficace pour la vision de ce que font les utilisateurs de la base, avec le choix des critères (types d’attente, CPU, réseau, mémoire).
image
b) Analyse temps réel des données
S’appuyant sur les informations ADDM mais en dynamique et non plus simplement au travers des clichés périodiques, permettant une analyse instantanée des problèmes de performance et de blocage, donnant sa pleine expression pour les versions 12C qui seront particulièrement outillées pour cela (même s’il fonctionne déjà pour les autres versions).
image
c) Comparaison entre deux clichés
Utilisable sur toutes les versions depuis l’introduction de l’infrastructure ADDM, les comparaisons se font visuellement par des analyses de graphiques et la vision rapide des différences sur l’utilisation des ressources (CPU, mémoire, IO ou lien d’interconnexion pour les infrastructures RAC).
image
d) SQL Developper
La question qui se pose est de savoir si la DB Console, telle que nous la connaissons, émanation et jumelle de l’interface d’ Enterprise Manager (page « Home » des bases de données) continuera à exister ?  le relooking, la nouvelle gestion via plugin , est ce que tout cela va être facilement transposable pour une application unitaire sans faire exploser le code et la consommation de celle-ci ? Sans doute non et il faut s’attendre à l’apparition d’un nouvel outil , plus simple, qui ne fournira sans doute que les fonctionnalités d’administration basique (stockage, gestion des utilisateurs, gestion des objets), on imagine qu’il s’appuiera sur la pile technologique APEX, très en vogue sur les sites Oracle , mais dés que l’on voudra faire du tuning ou du diagnostic approfondi, nul doute qu’il faudra revenir vers l’utilisation d’Enterprise Manager Cloud Control et de ses packs.
Pour compenser et en parallèle on voit fleurir des fonctionnalités intéressantes associées au produit librement distribué SQL Developper , si vous le regardez bien vous pouvez trouvez dés maintenant,  dans sa version 3.2, des connexions de type “DBA” qui vous permettent de réaliser des actions d’administration et de gérer d’un point unique votre parc. On y retrouve, toutes les taches habituelles, particulièrement au niveau du stockage et des sauvegardes y compris la possibilité de réaliser les commandes de “Shutdown” et de “Startup”.
Voici le détail d’une connexion de type DBA:
image
Et l’information sur le stockage que l’on peut obtenir :
image
Base container et bases “pluggable”
image
Le plus de cette nouvelle version et la raison pour laquelle vous envisagerez sans doute une migration directe de vos bases en version 10G vers la 12C .  Elle correspond à la mise en place d’un container de bases de données : base particulière qui gèrera tous les processus de background habituels (lgwr, dbwr, smon , pmon  etc…),  la mémoire partagée globale, un dictionnaire global et dans laquelle on viendra connecter (“Plugger” ) une et surtout plusieurs autres bases de données, qui auront leur propre dictionnaire et espace de nommage. La solution idéale pour de la consolidation, permettant de réunir rapidement et sans aucune modification applicative une multitude de petites bases dans un même container, avec à la clé un serveur libéré de centaines de processus, et qui va retrouver une seconde jeunesse.
En autres possibilités associées, il deviendra facile de déplacer une base d’un container à l’autre par une opération de type “unplugged” et “plugged” :
image
Il faudra faire attention à quelques contraintes, vérifier la manière dont va être licenciée la fonctionnalité (intégrée ou option ?) et attendre les premiers correctifs, mais c’est pour moi la petite révolution de cette 12C qui influencera certainement les futures architectures de vos systèmes.
ILM et stockage
image
C’est la suite et l’évolution d’une idée introduite depuis la 10G, la gestion du cycle de vie des données (pour la partie liée au stockage dans la base), où l’on a vu apparaitre un assistant assez sommaire capable de donner quelques conseils de répartition en fonction de votre propre connaissances des données. La version 12c introduit une cartographie automatique de l’utilisation qui, associée à des règles déclaratives et aux mécanismes de compression et de partitionnement, vous permettra une gestion de vos données froides (peu accédées ou modifiées) et de vos données chaudes (souvent accédées et modifiées), avec une répartition automatique sur des unités de stockage appropriées.  Vous retrouverez ces deux fonctionnalités sous les termes “Automatic Data Placement” et “Online Data File Move”.  Nous avons hâte de les découvrir et de tester leur implémentation, car c’est une demande forte de nos clients et nous avons mené à bien plusieurs prestations de ce type avec nos propres outils.
Sécurité
Présenté par Tom Kyte lors d’Oracle Open World 2012,  avec un premier commentaire que vous pouvez retrouver ici  :
image
L’évolution résulte d’un travail constant des équipes de développement sur le sujet, imposé par l’actualité et la montée constante de la cybercriminalité. On va retrouver  plusieurs  axes :

  • la simplification et la consolidation de l’audit avec une unification de la vision des informations (une seule vue pour l’ensemble des informations au lieu des AUD$,  DBA_AUDIT_TRAIL, FGA_LOG$, XML_AUDIT_TRAIL etc…) ainsi qu’une seule procédure pour la gestion de l’ensemble ;
  • l’ajout de nouveaux rôles permettant une meilleure séparation des taches pour les administrateurs, avec des rôles et des privilèges spécifiques associés pour les opérations RMAN, pour les opérations Dataguard et pour toutes les opérations de gestion du cryptage;
  • Le masquage à la volée des données, par la fonctionnalité nommée “Oracle Data Redaction” , qui va permettre en fonction de critères comme le nom de connexion ou l’adresse IP du client d’appliquer un masque de type complet, partiel ou aléatoire sur les données de colonnes spécifiques. La gestion graphique de cette facilité étant disponible avec la console Cloud Control EM12C;
  • L’analyse des privilèges associés à une opération :  dans l’idée de pouvoir restreindre les droits au minimum, c’est un outillage qui va permettre de déterminer pour une opération ou une suite d’opérations la liste des privilèges utilisés pour réaliser cette action. Accessible depuis la console EM12c ou avec le nouveau package dbms_privilege_capture().

Nouveautés diverses
Il y aura bien sur un lot conséquent de nouveautés diverses et variées qui vous intéresseront ou non suivant votre activité et votre utilisation des bases de données Oracle, lisez ou relisez cette article de Tom Kyte (à priori la seule personne chez Oracle à avoir le droit d’en parler de manière détaillée et qui parcours le monde avec sa présentation)
image

  • Les procédures et fonctions peuvent être définies dans la clause WITH;
  • Une colonne peut maintenant prendre une définition de type sequence.nextval comme valeur par défaut (élimination du trigger habituellement associé);
  • Taille maximum du type VARCHAR à 32767 ,  de manière similaire à un type LOB les 4096 premier octets sont stockés avec la table la suite est dans un objet à part.
  • Amélioration de la gestion du « row set » d’un curseur, avec la possibilité d’utiliser des clauses de type “OFFSET 10 ROWS FETCH FIRST 10 ROWS ONLY” , se rapprochant de la syntaxe utilisée avec du Myssql;
  • Plans d’exécution de l’optimiseur s’adaptant automatiquement : avec l’ajout de nouvelles statistiques d’exécution, si les cardinalités pendant la phase “execute” ne sont pas cohérentes , l’optimiseur est capable de changer de plan en cours de route (un peu de travail en perspective pour les administrateurs !);
  • Les informations UNDO (undo record et segment d’annulation) pour les tables temporaires peuvent maintenant être stockées dans le tablespace temporaire, en dehors du tablespace d’UNDO;
  • J’ajoute les évolutions pour l’utilisation des bases de données RAC, que j’ai traitées , dont la partie “FLEXIBLE ASM” est selon moi la plus significative.

Tout cela reste assez général et je vous sens rester sur votre faim, mais nous respectons l’accord de discrétion que nous avons avec notre partenaire. Nos équipes ont cependant la chance de pouvoir travailler depuis quelques semaines sur des versions  de type Béta et dés la sortie officielle nous pourrons par l’intermédiaire de ce blog partager nos impressions et vous décrire plus précisément l’utilisation de certaines nouveautés.  N’hésitez pas à revenir nous voir régulièrement  ou mieux encore, si vous ne l’avez pas déjà fait, à vous abonner à notre blog !