single.php
< Beitrag von Christoph Förster

Upgrade Oracle 11gR2 auf Oracle 12c

Oracle hat die neueste Version des Datenbank-Release – 12c – herausgebracht. Ich möchte in diesem Beitrag auf das Upgrade von 11gR2 auf das neue Release näher eingehen.

Upgrade von Version 11.2.02. auf 12c

Ein Upgrade ist nur von der Version 11.2.0.2 direkt auf 12c erlaubt. Wie seit Oracle 11gR2 üblich, erhält man auch bei Oracle 12c bei jedem Release ein Full-Install. Somit lässt sich eine neue Installation neben die bestehende Installation legen, um so z. B. Config-Files entsprechend übernehmen zu können.

Das Upgrade sollte genau geplant werden, da es bei Oracle verschiedene Wege des Upgrades gibt, mit mehr oder weniger Aufwand. Und dementsprechend auch mit mehr oder weniger Aufwand bei einem Fall-Back, falls man in diese Situation kommen sollte.

Ich möchte hier auf das manuelle Upgrade eingehen, da dieses zwar aufwändiger an ToDos ist, aber komfortabler, was die einzelnen Möglichkeiten betrifft. Nachdem man sich das entsprechende Release bei Oracle heruntergeladen und installiert hat (nur Software, ohne Datenbank), kann man an die Planung des Upgrades gehen.

Zuerst – wie in allen Fällen – gilt es, ein komplettes Backup zu haben. Wenn dies gegeben ist, kann man mit dem Upgrade beginnen.

Manuelles Upgrade auf Oracle 12c

Wir stoppen die Datenbank unter Oracle Version 11gR2. Hierbei – wenn Sie dies unter Windows oder Linux machen – auf die richtigen Umgebungsvariablen achten, damit das sauber funktioniert. Nachdem die Datenbank gestoppt ist, kopieren wir nun die benötigten Files aus dem Oracle-Home der Version 11gR2 (hier angenommen: /u01/app/oracle/product/11.2.0/dbhome_1) in das neue Oracle-Home der Version 12c (hier angenommen /u01/app/oracle/product/12.1.0/dbhome_1).

Es handelt sich um folgende Dateien, die wir übernehmen können:

$ORACLE_HOME/dbs/init%SID%.ora
$ORACLE_HOME/dbs/orapw%sid%

Damit sind alle Files vorhanden, um die Datenbank nach 12c upzugraden. Unter Windows muss man nun noch die Dienste mit ORADIM -DELETE -SID löschen (unter der Umgebung 11g) und mittels ORADIM -NEW -SID ….. (unter der Umgebung 12c) neu erzeugen. Es empfiehlt sich, unter Linux die Datei /etc/oratab anzupassen bzgl. Oracle-Home. Dieses sollte auf 12c gesetzt sein.

Nachdem wir die init%SID%.ora angepasst haben (wg. Pfad-Änderungen), können wir die Umgebungsparameter auf 12c umstellen (mittels . oraenv) und die Datenbank starten mittels STARTUP UPGRADE.

Nun wird die Datenbank gestartet und geöffnet, jedoch ist ein Arbeiten noch nicht möglich. Erst müssen ein paar Skripte laufen, um das Directory zu bearbeiten.
Hier hat Oracle mit Version 12c eine wichtige Änderung vorgenommen. Das alte bekannte Skript „catupgrd.sql“ wurde ersetzt durch catctl.pl.
Um dieses Skript zu starten, wechselt man auf dem System in das Oracle-Home 12c:

cd $ORACLE_HOME/rdbms/admin und startet dieses: $ORACLE_HOME/perl/bin/perl catctl.pl catpupgrd.sql (Unter Windows äquivalent).

Wenn das Upgrade durchgelaufen ist, wird die Datenbank gestoppt. Nun kann man einfach im SQLPlus mittels STARTUP die Datenbank starten.

Zum Schluss muss man noch das postupgrade_fixups.sql Skript starten, welches den Upgrade-Prozess vervollständigt.

Damit ist das manuelle Upgrade erfolgreich durchgeführt.

Folgen
X

Folgen

E-mail : *
Kategorie: Oracle-Database | Schlagwörter: , | Kommentare: 1

Beitrag kommentieren

CAPTCHA * Time limit is exhausted. Please reload CAPTCHA.

Kommentare

  • 20.04.2016 von Christoph Förster

    Zu meinem Blog-Beitrag gab es eine Nachfrage:
    "Werden die listenner.ora und die tnsnames.ora auch von der alten Datenbank kopiert und übernommen?"
    Die beiden Dateien habe ich vergessen zu erwähnen.
    Ja, die tnsnames.ora übernehme ich auch, muss da nur den Host ggfs. Anpassen.
    Bei der listener.ora prüfe ich das individuell. Ich kann mittels netca auch eine neue Konfiguration für den Listener erstellen.