Changement de catégorie ou le passage à la “Standard Edition”

En ces temps de rigueur budgétaire, de règle d’or et de climat contrasté entre congés et guerres lointaines,  il n’est pas rare pour vous DBA d’avoir une visite amicale de votre responsable qui vient pour vous demander si vous avez vraiment besoin de ces 50 licences Oracle Enterprise Edition ? Ne pouvez vous pas trouver rapidement un moyen d’utiliser à la place des licences de type Standard ou Standard One pour vos applications ? Il est vrai que l’écart de coût entre les deux  est important, les  prix public début décembre étaient de 5800$,  17500$  et 47500$ pour les licences processeur respectivement des versions Standard One, Standard et Enterprise .
Ce qui montre  un facteur de multiplication de trois entre chaque version, voire plus suivant le facteur de cœur à appliquer et le nombre de ces cœurs (n’oubliez pas que les prix public pour la catégorie technologie des produits Oracle sont visibles dans le document de  tarification US). Avec une maintenance annuelle à 22 % , la tentation est belle de se lancer dans ce type d’opération, ou du tout moins de la tester, voyons de plus près ce que cela implique.
Rappelons d’abord la vision d’Oracle pour chacune de ces éditions :

  • Oracle Database Standard Edition One

Serveur physiquement limité à 2 sockets , seulement deux processeurs peuvent être enfichés sur la carte mère (ce n’est donc pas valable pour des serveurs qui sont bridés, 4 processeurs mais 2 seulement actifs par exemple).

Facilité d’utilisation, puissance et performance pour un groupe de travail, un département ou une application WEB (je remplacerai facilement application WEB en application WEB intranet, je ne pense pas que l’on puisse envisager une application de type amazon.com sur une version Standard Edition One !)

  • Oracle Database Standard Edition

Serveur physiquement limité à 4 sockets,  seulement quatre processeurs peuvent être enfichés.

Facilité d’utilisation, puissance et performance de la version Standard Edition One , avec des serveurs plus puissants et la possibilité d’utiliser les services haute disponibilité avec Real application Cluster.

  • Oracle Database Enterprise Edition

Pas de limitation dans le nombre de CPUs physiques sur le serveur , mais le coût de la licence est lié au nombre total de cœur ainsi qu’à un facteur de qualification (choisi arbitrairement par Oracle qui varie entre 0, 25 et 1,  le tableau détaillé par type et marque est disponible ici, attention il est remis à jour au moins deux fois par an)

Performance,  disponibilité, évolution, et sécurité pour des applications critiques, comme des applications transactionnelles avec un important volume d’information, du requétage intensif sur des entrepôts de données des applications internet intensives.

Pour traduire dans l’autre sens,  Oracle ne considère pas les applications s’appuyant sur des versions Standard ou Standard One comme des applications critiques,  ni comme des applications qui doivent être performantes , disponibles, évolutives ou sécurisées!
L’éditeur ne fournit donc aucun outil pour aller dans ce sens : Pas de pack de diagnostic ou de tuning , aucune option disponible, que ce soit la compression ou le cryptage, rien !
La seule exception reste la possibilité d’utiliser le  RAC, qui provient surtout d’une volonté marketing de l’époque de repackaging du produit OPS (Oracle Parallel Server) pour accélérer le déploiement de ce type de solution dont peu de client envisageait l’acquisition.
C’est un peu comme le choix entre faire un trajet en voiture en passant soit par l’autoroute soit par la nationale, d’un coté vous avez la sécurité, la rapidité et la certitude d’avoir des services à intervalles réguliers, de l’autre, solution bien moins chère, vous n’êtes pas certain du temps qu’il va vous falloir pour faire le trajet, de la qualité de la route et si vous allez trouver de l’essence au bon moment. Personnellement et surtout pour les trajets professionnels,  je préfère la première solution, mais il arrive qu’en période de congé,  je me lance tranquillement sur les routes nationales ou départementales, tout sera une question de choix dans vos objectifs.
Il faut donc être au fait que si vous changer de type de licence vous allez perdre de nombreuses fonctionnalités  dont vous n’avez jamais entendu parler mais  qui sont critiques pour vos applications et pour lesquelles vous aurez du mal à retrouver les objets et éléments concernés.
Par contre il y en a d’autres dont vous avez la connaissance, par la pratique quotidienne de l’administration et  l’exploitation de vos bases et pour celles là, ce devrait être beaucoup plus facile.
Pour vous aider, voici la liste de ces  fonctionnalités qui vous empêcheront de changer de catégorie. Liste que nous avons pu établir en parcourant les guides de licences (Oracle Database  Licensing Information) ou les différentes notes MOS (voir la note des références), certaines n’apparaissent que dans les toutes dernières versions , d’autres sont existantes depuis longtemps, nous avons laissé les termes en anglais pour vous permettre de les retrouver plus facilement dans la documentation :

  • Flashback Table
  • Flashback Database
  • Flashback Transaction Query
  • Database Resource Manager
  • Materialized view query rewrite
  • Asynchronous Change Data Capture
  • Oracle Streams (Sauf à faire uniquement de la capture synchrone via trigger)
  • Messaging Gateway
  • Oracle Connection Manager
  • Advanced Replication (réplication bidirectionelle maître à maître)
  • Secure Application Roles
  • Enterprise User Security
  • Virtual Private Database
  • Fine-Grained Auditing
  • Basic Data compression ou Direct Load Data compression
  • Index bitmap et jointure par index bitmap
  • Parallel Query DML
  • Parallel capture and apply via XStream
  • Collecte des statistiques en parallèle
  • Reconstruction d’index en parallèle (parallel index build/scans)
  • RMAN Bloc level media recovery
  • RMAN Utilisation de bloc change tracking dans les sauvegardes incrémentales
  • Advanced Analytics
  • Export Transportable Tablespaces
  • Information Lifecycle Management
  • Parallel spatial index builds
  • Réplication maître à maître d’objets de type SDO_GEOMETRY
  • * PACK (Tous les packs)
  • Support Infiniband
  • Support Exadata storage server (11.1)
  • Support Exadata storage Server Software (11.1)
  • Hybrid column compression (Exadata, ZFS ou Pillar Axium 600)
  • RAC One node (11G)
  • Quality of service Management (11.2.0.3)
  • PL/SQL function result cache (11G)
  • Client side query cache (11G)
  • Database Smart Flash Cache (11G, Solaris et Linux seulement)
  • Instance Caging (11.2)
  • SQL Plan Management (11G)
  • Deferred Segment Creation  (11.2)
  • In memory parallel execution (11G)
  • Parallel statement queing (11G)

Si certaines fonctionnalités sont assez facilement détectables, comme l’utilisation d’index bitmap,  ce n’est pas le cas pour toutes.
Par exemple avec la fonctionnalité “Stream”  où le mode synchrone est valide en Standard Edition, soit vous savez que vous n’utilisez pas la fonctionnalité et c’est simple , soit vous ne savez pas et il faut vous promener dans les vues DBA_SOURCE_TABLES, CHANGE_TABLES et CHANGE_SOURCE_NAMES pour vérifier que si une source de capture existe sa méthode soit bien de type synchrone.
De même le fait d’utiliser ou non les tablespaces transportables implique une recherche dans toutes vos chaines d’exploitation.  C’est une enquête à réaliser pour chacune en trouvant à chaque fois le critère déterminant qui vous permettra de dire si votre base peut changer de catégorie ou non.
N’oubliez pas que si vous utilisez Dataguard vous ne pourrez pas passer en Standard ou Standard Edition one,  à moins de passer en mode manuel et  il faut gérer par procédure toutes les facilités qui sont perdues (comme la détection automatique de gap ou la possibilité de faire du switchover pour ne parler que de celles là).
Et que si vous êtes gros consommateur de RMAN pour vos sauvegardes vous allez perdre :

  • Parallel backup and recovery
  • Point in time tablespace recovery
  • Trial recovery
  • Backup set multiplexes
  • Compression des blocs non utilisés dans les jeux de sauvegardes

Une fois que vous pensez que toutes les conditions sont réunies et que vous êtes sûr de vous, il y a plusieurs méthode pour réaliser l’opération, Oracle en a parlé pour les versions 10G dans la note MOS  “Step by Step Procedure to Convert from Enterprise Edition to Standard Edition [ID 465189.1]”  , et c’est toujours cette méthode qu’il faut utiliser pour les  11G en synthèse  :

  • Vérifier qu’il n’y a pas d’anomalie dans le dictionnaire;
  • Réaliser l’export FULL de la base ou seulement  de vos schémas applicatifs soit avec l’outil historique exp soit et il vaut mieux être moderne pour ne pas oublier les objets récents expdp
  • Installer les binaires de la version Standard Edition ou Standard One , noter que ce choix n’existe que depuis la version 11.2 de l’installeur (dans tous les cas le code est exactement le même),  et que pour les utilisateurs de ODP.NET il peut y avoir quelque soucis (voir « Unable to install Oracle Database Extensions for .NET on 11.2.0.1.0 Standard Edition [ID 1138803.1]). Enfin ne vous étonnez pas d’avoir pour la version 10.2 quand même quelques binaires pour les options d’installés c’est normal ! C’est Oracle qui vous le dit :  extraits  de la note « Some Enterprise Edition options are installed when installing Standard Edition [ID 363704.1] »

« An installation of Standard Edition has been done but some Enterprise Edition options have been installed. » ../.. « This is the expected behaviour. »;

  • Remettez les binaires au niveau de patch ou vous étiez,  corrigez éventuellement les modifications intempestives des banners (voir les notes : Executables Banner Change from Standard to Enterprise Edition After a Patchset Install [ID 219233.1] et Executables Banner Change from Standard to Enterprise Edition after a 11.1.0.x Patchset Install [ID 1074795.1])  , ce qui n’est arrivé que 8 fois entre les versions 8.1 et 11.1.
  • Créer une enveloppe neuve pour votre base et si vous utilisez DBCA pensez bien à ne pas cocher des options interdites, car il reste assez permissif !
  • Importer vos données en n’oubliant pas de générer un fichier de log
  • Vérifier dans votre fichier de log que vous n’êtes pas passé à coté de quelque chose (un index bitmap qui ne peut pas se créer par exemple)
  • Valider un minimum votre application avant de rendre la main à vos utilisateurs.

Et voilà, pas si simple en fait !
On imagine très bien tout cela dans un petit service informatique avec quelques bases à gérer et ou chacune sera construite et configurée au plus prêt de ses besoins , mais cela devient inimaginable sur 200 serveurs par exemple. Il faut dans ce cas industrialiser  le procédé et créer un programme  ou une tache qui ira chercher toutes les informations nécessaires sur l’ensemble de vos serveurs et sortira en fin de traitement la liste des bases éligibles à un changement de catégorie.
Cette fonctionnalité nous sommes en train de l’intégrer et nous allons la mettre à disposition dans notre produit Easytrust LM 4cassocié à notre offre d’infogérance, pour en savoir plus sur ce sujet rendez vous ici.
Tout ceci sans parler de la négociation qu’il faudra entreprendre avec votre commerciale préférée et qui n’est plus du ressort de la technique !
Si vous avez déjà entrepris avec succès ou non ce type d’opération n’hésitez pas à nous faire partager votre expérience sur ces pages. En attendant bonnes vacances d’hiver à ceux qui peuvent en prendre, courage pour les autres et à bientôt.
Références :

  • Database Installation Guide Release 2 (9.2.0.1.0) for Windows May 2002 Part No.  A95493-01
  • Oracle® Database Licensing Information  10 g  Release 1 (10.1) Part No.  B13552-01
  • Oracle® Database Licensing Information 10 g Release 2 (10.2) B14199-25
  • Oracle® Database Licensing Information 11g Release 1 (11.1) B28287-29
  • Oracle® Database Licensing Information 11g Release 2 (11.2) E10594-26
  • Note:271886.1 Differences Between Different Editions of Oracle Database 10G Release 1
  • Note:465465.1 Differences Between Enterprise, Standard and Personal Editions on Oracle 10.2
  • Note:465460.1 Differences Between Enterprise, Standard and Personal Editions on Oracle 11.1
  • Note:1084132.1 Differences Between Enterprise, Standard and Personal Editions on Oracle 11.2

2 réflexions sur “Changement de catégorie ou le passage à la “Standard Edition””

  1. Tout à fait, mais le sujet qui est traité ici est plutôt d’identifier post-installation la pertinence de l’usage d’une édition, et d’envisager son donwgrade ou bien son upgrade d’ailleurs 😉

Les commentaires sont fermés.