Bør du oppgradere Oracle eller vente?

Ofte får jeg spørsmålet av mine kunder om de trenger å oppgradere Oracle databasene sine til den siste versjonen. Det man må vurdere er om det er lurt å vente med oppgraderingene for å ta et kjerring tak eller om det lureste er å oppgradere jevnt og trutt.

Kunden sier ofte at alt fungerer og at de er fornøyde med tingenes tilstand. Jeg begynner da med å stille noen kontrollspørsmål som for eksempel hvilken versjon av Oracle de benytter, hvor mange forskjellige versjoner de har og kanskje jeg også spør litt om bedriftens sikkerhets policy. Svaret kan da bli at de har Oracle8i, Oracle9i og muligens også noen Oracle10g databaser. Litt forskjellige versjoner som oftest. Hører jeg at de bruker Oracle8i eller Oracle9i spør jeg litt forsiktig om de vet hvilke versjoner som er supportert av Oracle. Om sikkerheten får jeg høre at den er høy fordi de har investert i en brannmur og da er det ikke noe problem.

Litt moro er det også å se litt forsiktig i hyllene til kundene. Ser jeg at de samler på dokumentasjon fra Oracle7 eller Oracle8i skjønner jeg at tiden har stått stille lenge (men det kan jeg ikke si).

Mulighetene venter på deg

Nå kunne jeg ha hevdet at du bør oppgradere fordi da får du adgang til alle de nye, deilige funksjonene som ligger der og venter på deg, men sannheten er at de fleste kundene nesten ikke bruker noe av dette. Mange av databasene bruker så få muligheter at de fint kunne kjørt på Oracle7 (det er derfor de har beholdt dokumentasjonen…), men jeg har flere begrunnelser for hvorfor du bør oppgradere.

Support

For det første kan du regne med bedre oppfølgning fra Oracle support hvis du en dag trenger hjelp. Det er et ufravikelig faktum at de kundene som benytter de siste versjonene av Oracle stiller i en særklasse her. Men når det er sagt er Oracle support blitt flinkere til å bistå også når du trenger assistanse vedrørende en noe eldre versjon av databasen.

Oracle8i, Oracle9i, Oracle10g og nå Oracle11g

For øyeblikket finnes det to versjoner det er aktuelt å oppgradere til: Oracle10g R2 versjon 10.2.0.4 og Oracle11g R1 versjon 11.1.0.7. Det vil si versjon 2 av Oracle10g og versjon 1 av Oracle11g. Som en liten parentes kan vi se et øyeblikk tilbake til tidligere versjoner av Oracle. Oracle8 versjon 0 (8.0.6) var det ikke mange som benyttet, de ventet til versjon 1 som fikk navnet Oracle8i kom, i’en markerte at det vare en database for Internet. Det samme gjaldt Oracle9i versjon 0 (9.0.1), de fleste ventet til Oracle9i versjon 2 kom. Nå gjentar seg det med Oracle10g hvor det er få kunder som har installert versjon 1. Nå når Oracle10g versjon 2 har vært ute en tid kan vi forvente oss at kunder begynner å tenke på å oppgradere.

Kjente feil

Sjekker vi hvor mange kjente feil som finnes i de forskjellige versjonene av Oracle10g R2 kan følgende figur gi en oversikt:

Oracle10g Server 10.2.0.1 10.2.0.2 10.2.0.3 10.2.0.4
Totalt dokumenterte feil 346 793 1974
Ikke dokumenterte feil i Oracle Server 420 387 664
Ikke dokumenterte feil i Oracle OLAP 100 92 1

Tabellen skal leses slik at om du oppdaterer fra versjon 10.2.0.3 til 10.2.0.4, er 1974 dokumenterte feil rettet i Oracle server-koden. Oppgraderer du fra versjon 10.2.0.1 til 10.2.0.4 er 3113 dokumenterte feil blitt rettet. Du ser også at antallet rettede feil er mye høyere i 10.2.0.4 i forhold til tidligere versjoner. Dette skyldes at fler kunder har tatt i bruk produktet og dermed blir flere feil oppdaget og rettet.

Hvis vi ser på antallet ikke dokumenterte feil som er blitt rettet er tendensen også at det er blitt rettet noen fler feil i den siste versjonen av Oracle 10g R2. Ser vi på de andre produktene er det vært å merke seg at antallet ikke dokumenterte feil i OLAP-modulen (online analytisk prosesseringløsning) har gått ned fra 100 til 1! Dette er et produkt som ikke mange kunder har tatt i bruk enda, men det er antageligvis viktig for de kundene som benytter det. Moralen her må være: Ikke bruk OLAP i noen lavere versjon enn 10.2.0.4.

Jeg vil med andre ord anbefale de fleste kundene å oppgradere til Oracle10g versjon 10.2.0.4. Dette leder oss til neste avsnitt: Hvordan?

Hvordan oppgraderer vi?

En mulighet i Oracle10g R2 er å klone installasjonen, dvs. du kopierer den versjonen du har til en ny katalog og oppgraderer derfra. Dermed kan du oppgradere i kontrollerte former, først lytteprosessen i SQL*Net, deretter ASM (om du benytter deg av dette), så kommer den minst viktige databasen eller en test database. Du tar alle databasene i tur og orden med den mest kritiske sist. Denne måten er spesielt gunstig på Windows hvor du ellers må regne med å starte maskinen på nytt for å få begynt oppgraderingen.

Kloningen kan du utføre slik. Her vises eksempel som kan brukes i Unix og Linux. Du erstatter …/10.2.0/db_1 med …/10.2.0.4/db. Min begrunnelse for dette er at db_1 gir ikke noen informasjon, 10.2.0.4 forteller akkurat hva denne katalogen inneholder.

oracle@ferrari:~ $echo $ORACLE_HOME
/oracle/product/10.2.0/db_1
oracle@ferrari:~ mkdir /oracle/product/10.2.0.4/db
oracle@ferrari:~ cp -rp $ORACLE_HOME /oracle/product/10.2.0.4/db
oracle@ferrari:~ cd /oracle/product/10.2.0.4/db/clone/bin
oracle@ferrari:bin perl ./clone.pl ORACLE_HOME='/oracle/product/10.2.0.4/db' ORACLE_HOME_NAME='Oracle_10204'    
...
oracle@ferrari:bin sudo /oracle/product/10.2.0.4/db/root.sh
...


Når du har klonet Oracle til en ny katalog, oppgraderer du denne, ikke den gamle versjonen. Det aller beste er at du kan utføre dette i et test miljø, pakke det sammen, kopiere over til ditt utviklings og produksjonsmiljø, kjøre klone programmet og du er 100% sikker på at alle installasjonene er like. Dette uten å ha startet Oracle Universal Installer – OUI. Nå har du en ny versjon ved siden av den gamle som du kan flytte over passord-fil og parameter- eller serverparameter-fil (spfile) til innen du oppgraderer databasene. Kan det utføres enklere?

Selvfølgelig bør du ha studert relevante README dokumenter. I denne forbindelse anbefales spesielt 10g Upgrade Companion beskrevet i Metalink notat 466181.1. Jeg mener denne håndboken bør være obligatorisk lesning for alle som planlegger en oppgradering.

Noen overraskelser kan du få på veien når du oppgraderer databasen. For eksempel inneholder CONNECT rollen kun CREATE SESSION rettigheten i Oracle10g R2. Dette oppdager du når du tester og endrer i god før produksjonsystemet står for tur, ikke sant!

Som et siste tips hvis du velger å oppgradere til Oracle11g er det en ting du bør huske på, det skilles mellom store og små bokstaver i passord som er opprettet for å øke sikkerheten. Dette er selvfølgelig en fordel men kan gi litt trøbbel i for eksempel database linker hvor det står:

 ...IDENTIFIED BY passord...;

Det burde ha stått:

 ...IDENTIFIED BY 'passord'...;

Dette for å være sikker på at linken fungerer i Oracle11g. Du så forskjellen? Apostrofer rundt passordet.

Oracle10g R2 eller Oracle11g R1

Så er da spørsmålet: skal jeg oppgradere til 10g eller 11g? Svaret er som oftest hva er kritiske faktorer for deg i ditt prosjekt? Trenger du trygghet – velg Oracle10g R2, trenger du noe som kun 11g kan tilby som for eksempel bedre passordhåndtering eller bedre håndtering av partisjoner, vurder Oracle11g R1.

Lykke til med oppgraderingene og husk å dobbelsjekke sikkerhetskopien innen du begynner…

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*