Vi vet alla att Oracle 12c släpptes för ett tag sedan. Oracle 12.1.0.1 var nästa major version i Oracle-databasens livscykel. Men vad finns det i en större version egentligen?
Det brukade vara att en större version var en stor sak. ACME Corporation släppte sin underbara Widget 4.0 som gjorde många saker, större/snabbare/starkare än Widget 3.0. Den stora versionsuppgraderingen var en stor sak. Konventionell visdom ansåg att varje större version var en så betydande förändring att det skulle vara dumt att uppgradera produktionen till Widget 4.0 när den kom ut på gatorna. Folk skulle säga att den stora versionen hade för många buggar. Det skulle vara klokt för ens karriär att vänta på Widget 4.1, det första patchsetet som kommer ut innan man försöker uppgradera produktionen. Låt andra människor reda ut felen istället för att riskera ditt företags kritiska affärsinfrastruktur vid uppgraderingen.
Vi har alla varit föremål för det konventionella tänkandet. När Oracle 12c först släpptes fick jag frågan av mina chefer när vi skulle tänka på att uppgradera våra affärskritiska system till den nya större versionen. Vid den tiden gav jag aktiesvaret om att vänta på det första patchsetet. Det första patchsetet, Oracle 12.1.0.2 är nu ute och jag har fortfarande inga planer på att uppgradera produktionen från 11.2.0.4. Men under tiden började jag tänka på den här "stora versionen"-verksamheten och om den ens fortfarande var tillämplig på dagens Oracle-miljöer.
Till att börja med har Oracle Corporation hanterat, underhållit, förbättrat och förbättrat sin flaggskeppsprodukt i över 35 år nu. Oracle version 1 skapades 1978, version 2 1979 och version 3 1983. Oracle är nu uppe i Oracle 12c, vilket är långt från sin version 1 eller 2 dagar i slutet av 1970-talet. Dessutom har alltför många företag över hela världen en betydande investering i sin databasinfrastruktur. Oracle Corporation vill säkerställa att dessa företag påverkas minimalt oavsett vilken version databasadministratören uppgraderar till.
Alla program har buggar. Det är vilddjurets natur. När jag uppgraderade från Oracle 11.2.0.3 till 11.2.0.4, en enkel uppgradering av patchset, stötte jag fortfarande på ett problem som jag inte förväntade mig. Jag hoppade inte över några patchset i denna uppgradering. Jag gick inte från en större version till en annan. Jag gick inte ens från en mindre version (som 11.1) till en annan (som 11.2). Ändå fick jag lite problem med ett problem som tack och lov undersöktes i icke-produktionsmiljöer innan produktionen uppgraderades. Även de uppgraderingar som verkar enkla kan ha problem med den nya versionen, till och med till fjärde decimalen. Dessutom tillämpade jag nyligen en kvartalsvis patchuppdatering i juli till våra icke-produktionsdatabaser. Den enkla handlingen att applicera kvartalsvisa säkerhetskorrigeringar (jag använder SPU inte den större PSU) bröt en tredjepartsapplikation. Vi var tvungna att stoppa patchen från att gå till produktion tills en lösning hittades. Detta var inte ens en förändring av patchset och det hade en stor inverkan på våra applikationer.
På senare tid har Oracle Corporation infört stora förändringar utanför större versionssläpp. Till exempel, när jag uppgraderade våra Oracle RAC-miljöer från 11.1.0.7 till 11.2.0.2, ställdes jag inför nya förändringar i Grid Infrastructure, nämligen kravet på multicasting och SCAN Listeners. Det fanns ingen större versionsuppgradering här men ganska stora förändringar var på gång med denna uppgradering. Senast introducerade Oracle 12.1.0.2 databasalternativet In Memory. Den här funktionen var inte tillgänglig i Oracle 12.1.0.1 och ändå har en enkel uppgradering av patchset (eller så trodde vi) fört med sig en stor förändring.
Finns det några större versioner längre? För att förbli relevant i dagens snabbrörliga värld släpper Oracle Corporation stor funktionalitet utanför större versioner, vilket gör alla patchset till en stor förändring. I dagens snabbt föränderliga värld är adekvata tester avgörande även för dessa enkla patchset-ändringar.
Återigen frågar jag ... vad är en större version egentligen?