Datenbank-Upgrade nach Oracle Database 12.1.0.2 Mike Dietrich ORACLE Corporation München, Deutschland Schlüsselworte Upgrade Migration Oracle Database 12c Einleitung Der Premier Support für Oracle Database 11.2 wird Ende Januar 2015 zu Ende gehen. Es folgt eine maximal dreijährige Periode des Extended Support, der normalerweise im ersten Jahr 10% der Support-Gebühr, im zweiten und dritten Jahr jeweils 20% mehr kostst. Dann können auch kritische und wichtige Fixes sowie Security Patch Updates (SPU) und Patch Set Updates (PSU) nach dem Ende des Premier Supports bezogen werden. Das erste Jahr Extended Support wird für Oracle Database 11.2.0.4 kostenfrei für alle Kunden zugänglich sein. Für Oracle Database 11.2.0.3 endet der Extended Support allerdings mit 27. August 2015. Für Oracle Database 11.2.0.1 und 11.2.0.2 wird kein Extended Support angeboten. Nicht nur unter dieser Blickrichtung sollte das Upgrade oder die Migration nach Oracle Database 12c, genauer – falls möglich – Oracle Database 12.1.0.2 zeitnah in Betracht gezogen werden. Abb. 1: Support-Zyklen für Oracle Database von Oracle 9.2 bis 12.1 Support-Zeitraum Ein Novum ist, dass Oracle die geplante Verfügbarkeit von Oracle Database 12.2 bereits sehr früh bekannt gibt. Hierzu sehen Sie bitte MyOracleSupport (MOS) Note:742060.1: Abb. 2: MOS Note: 742060.1 - Verfügbarkeitsdaten Was bedeutet das nun für die Upgrade- oder Migrationsstrategie? Fakt ist, dass sehr viele Kunden und Partner in der Regel auf mindestens das erste Patch Set, manchmal aber sogar auf das Terminal Release, also das letztverfügbare Patch Set für ein Release warten. Das wäre im Fall von Oracle Database 12c nun das Datenbank Patch Set Oracle 12.1.0.2. In der Regel werden Patch Sets im ungefähren Abstand von 12 Monaten veröffentlicht. Insofern scheint es keine gute Entscheidung zu sein, auf das sogenannte "Second Release" zu setzen, denn – unter Berücksichtigung des ersten Patch Sets – landet man sehr nahe am Ende des maximalen Extendend Supports für Oracle Database 11.2. Upgrade Vorraussetzung für das direkte Datenbank-Upgrade nach Oracle Database 12c ist mindestens Oracle Database 10.2.0.5, Oracle Database 11.1.0.7 oder Oracle Database 11.2.0.2 oder neuer. Abb. 3: Release-Vorraussetzungen zum direkten Upgrade nach Oracle Database 12c Grundlegende Mechanismen wurden beim Datenbank-Upgrade nach Oracle Database 12c verbessert. Da ist zum einen das Parallel Upgrade. Im Unterschied zu vorherigen DatenbankUpgrades wird das Upgrade nun nicht mehr seriell, sondern in vielen Phasen parallel durchgeführt. Dazu wird das Upgrade nicht mehr direkt aus dem SQL*Plus, sondern von der Kommandozeile mittels eines Perl-Drivers gestartet: catctl.pl $ORACLE_HOME/perl/bin/perl catctl.pl –n 8 –l /home/oracle/upg catupgrd.sql In obigem Beispiel wird das Upgrade mit 8 parallelen Threads gestartet, was dem Maximum entspricht. Höhere Parallelitätsgrade führen nicht zu Performance-Verbesserungen. Es wird ins Verzeichnis /home/oracle/upg geloggt. Das Datenbank-Upgrade kann damit bis zu 40% schneller durchgeführt werden, als im seriellen Modus. Allerdings werden in Oracle Database 12c sehr viele Änderungen im Data Dictionary in Bezug auf Oracle Multitenant vorgenommen, was ein Upgrade mit relativ vielen Veränderungen zur Folge hat. Ein weiterer Unterschied zu vorherigen Upgrades ist das Skript preupgrd.sql, das im Gegensatz zu den utlu*i.sql (bspw. utlu112i.sql fürs Upgrade nach Oracle Database 11.2) Skripten nun neben dem Logfile preupgrade.log auch sogenannte Fixups-Skripte erzeugt, das preupgrade_fixups.sql und das postupgrade_fixups.sql. Um die Quell-Datenbank, in der das Skript ausgeführt werden muss, zu examinieren, wird ein Package namens utluppkg.sql ins Ausgangssystem geladen. Die jeweils neueste Version kann per MOS Note: 884522.1 bezogen werden. Nach dem Upgrade wird die Datenbank ganz normal gestartet und zur Rekompilierung utlrp.sql (oder utlprp.sql mit Übergabe zur gezielten Einstellung eines Wertes zur parallelen Rekompilierung) gestartet. Per default werden 2x Threads pro verfügbarem CPU-Kern gestartet. Ein Start von catuppst.sql oder von Patch-Skripten ist nicht notwendig, wenn diese vor dem Upgrade ins Ziel-$ORACLE_HOME installiert wurden. Nach dem erfolgreichen Datenbank-Upgrade ist es dringend angeraten, noch die Anpassung der Time Zone Version vorzunehmen. Per default wird Oracle Database 12c mit TZ V18 ausgeliefert. Stand Oktober 2014 ist der neueste Time Zone Patch aber bereits in Version V23 vorhanden. Folgende Notes sind bei der Suche hilfreich: MOS Note:412160.1 zeigt die aktuellste, verfügbare Time Zone Version (inklsuive der Patch Nummer zum Download) auf MOS Note:1509653.1 enthält ein Skript, um die Time Zone Version anzupassen Sollte eine Recovery Manager (RMAN) Catalog Database vorhanden sein, muss der Catalog in dieser Datenbank nun auf die Version 12.1.0.2 geändert werden. Das ist die Vorraussetzung, um mit dem RMAN auch Oracle Database 12.1.0.2 Datenbanken zu sichern. Allerdings gibt es auch hier eine Veränderung, denn ein neues RMAN Feature (Virtual Private Catalogs) macht es erforderlich, vorm dem Upgrade des Catalogs folgendes Skript auszuführen: @$ORACLE_HOME/rdbms/admin/dbmsrmansys.sql Erst dann kann der RMAN Catalog mittels des Kommandos UPGRADE CATALOG auf Oracle 12.1.0.2 Kompatibilität upgegraded werden. Zusätzlich ist noch zu beachten, dass die Datenbank, in der sich der RMAN Catalog befindet, ab Catalog-Version 12.1.0.2 zwingend eine Enterprise Edition (EE) mit Partitioning Option sein muss. Dazu ist aber weder die EE noch die Partitioning Option zu lizensieren, da es sich hierbei um die Infrastructure Repository Database handelt. Fazit Viele Kunden stehen gerade vor der Entscheidung, ihre Datenbank-Umgebungen upzugraden. Es ist dabei sehr wichtig zu bedenken, dass der Aufwand, um auf das Terminal Patch Set Oracle Database 11.2.0.4 upzugraden äquivalent zum Aufwand für ein Upgrade auf Oracle Database 12c ist – nur mit dem entscheidenden Unterschied, dass Oracle 12.1 noch bis Mitte 2018 im Premier Support ist, der sich maximal um drei Jahre per Extendend Support verlängern liesse. Kontaktadresse: Mike Dietrich ORACLE Corporation Riesstr. 25 D-80992 München Telefon: Internet: +49 89 1430 1037 http://blogs.oracle.com/UPGRADE