Nous savons tous qu'Oracle 12c est sorti il y a un certain temps. Oracle 12.1.0.1 était le prochain majeur version dans le cycle de vie de la base de données Oracle. Mais qu'y a-t-il dans une version majeure de toute façon ?
Auparavant, une version majeure était un gros problème. ACME Corporation a sorti son merveilleux Widget 4.0 qui a fait beaucoup de choses, plus gros/plus vite/plus fort, que Widget 3.0. La mise à niveau majeure de la version était un gros problème. La sagesse conventionnelle soutenait que chaque version majeure constituait un changement si important qu'il serait insensé de mettre à niveau la production vers Widget 4.0 au moment où il sortirait dans les rues. Les gens diraient que la version majeure avait trop de bugs. Il serait prudent pour sa carrière d'attendre Widget 4.1, le premier patchset à sortir avant de tenter de mettre à niveau la production. Laissez d'autres personnes régler les bogues plutôt que de risquer l'infrastructure commerciale critique de votre entreprise lors de la mise à niveau.
Nous avons tous été soumis à cette ligne de pensée conventionnelle. Lorsque Oracle 12c a été publié pour la première fois, mes responsables m'ont demandé quand nous envisagerions de mettre à niveau nos systèmes critiques vers la nouvelle version majeure. À l'époque, j'avais donné la réponse standard concernant l'attente du premier patchset. Eh bien, le premier patchset, Oracle 12.1.0.2 est maintenant sorti et je n'ai toujours pas l'intention de mettre à niveau la production à partir de 11.2.0.4. Mais entre-temps, j'ai commencé à réfléchir à cette activité de "version majeure" et à savoir si elle était encore applicable aux environnements Oracle d'aujourd'hui.
Pour commencer, Oracle Corporation gère, entretient, améliore et améliore son produit phare depuis plus de 35 ans maintenant. La version 1 d'Oracle a été créée en 1978, la version 2 en 1979 et la version 3 en 1983. Oracle est maintenant à la hauteur d'Oracle 12c, ce qui est loin de sa version 1 ou 2 jours à la fin des années 1970. De plus, trop d'entreprises dans le monde investissent considérablement dans leur infrastructure de base de données. Oracle Corporation veut s'assurer que ces entreprises sont le moins affectées, quelle que soit la version vers laquelle l'administrateur de la base de données effectue la mise à niveau.
Tout logiciel contient des bogues. C'est la nature de la bête. Lors de la mise à niveau d'Oracle 11.2.0.3 vers 11.2.0.4, une simple mise à niveau du jeu de correctifs, j'ai toujours rencontré un problème auquel je ne m'attendais pas. Je n'ai sauté aucun patchset dans cette mise à jour. Je ne suis pas passé d'une version majeure à l'autre. Je ne suis même pas passé d'une version mineure (comme la 11.1) à une autre (comme la 11.2). Pourtant, j'ai toujours eu un problème avec un problème qui, heureusement, a été examiné dans des environnements de non-production avant la mise à niveau de la production. Même les mises à niveau qui semblent simples peuvent avoir des problèmes avec la nouvelle version, même à la quatrième décimale. Sur une autre note, j'ai récemment appliqué une mise à jour trimestrielle du correctif en juillet à nos bases de données hors production. Le simple fait d'appliquer les correctifs de sécurité trimestriels (j'applique le SPU et non le plus grand PSU) a cassé une application tierce. Nous avons dû empêcher le patch de passer en production jusqu'à ce qu'une solution de contournement soit trouvée. Ce n'était même pas un changement de patchset et cela a eu un impact majeur sur nos applications.
Dernièrement, Oracle Corporation a introduit des changements majeurs en dehors des versions majeures. Par exemple, lorsque j'ai mis à niveau nos environnements Oracle RAC de 11.1.0.7 à 11.2.0.2, j'ai été confronté à de nouvelles modifications de l'infrastructure de grille, à savoir l'exigence de multidiffusion et les écouteurs SCAN. Il n'y a pas eu de mise à jour de version majeure ici, mais des changements assez importants étaient en cours avec cette mise à jour. Plus récemment, Oracle 12.1.0.2 a introduit l'option de base de données en mémoire. Cette fonctionnalité n'était pas disponible dans Oracle 12.1.0.1 et pourtant une simple mise à niveau de l'ensemble de correctifs (du moins le pensions-nous) a entraîné un changement majeur.
Existe-t-il encore des versions majeures ? Pour rester pertinent dans le monde en évolution rapide d'aujourd'hui, Oracle Corporation publie des fonctionnalités majeures en dehors des versions majeures, ce qui fait de tout patchset un changement majeur. Dans le monde d'aujourd'hui en rapide évolution, des tests adéquats sont essentiels, même pour ces simples changements de patchset.
Encore une fois, je demande… qu'est-ce qu'une version majeure de toute façon ?