Latest Posts

Pluggable Database Cross Platform Migration – leider nein: ORA-19928

Oracle bietet viele Varianten für eine Cross Platform Migration und dem Wechsel der CPU-Architektur(Endianess), beispielsweise von AIX nach Linux, Solaris SPARC nach Windows etc.

  • Datapump Export/Import (10.1.0.2 oder höher)
  • Transportable Tablespaces (10g oder höher)
  • RMAN Convert Database  (10g oder höher)
  • Streams Replication
  • Create Table As Select (CTAS)
  • Dataguard Heterogeneous Primary and Physical Standby
  • Oracle Golden Gate

Im Test wollte ich herausfinden, ob man eine Pluggable Database von AIX nach Linux mit einem einfachen RMAN Convert migrieren kann. Ausgangslage ist eine 12.1.0.2 Pluggable Datenbank auf AIX 7.1 mit drei Tablespaces (SYSAUX; SYSTEM, USERS), Zielplattform ist eine 12.1.0.2 Datenbank auf Oracle Enterprise Linux 6.4.

AIX – Schliessen der Datenbank und Unplug

Wenn für das XML kein spezifischer Pfad angegeben wird, so wird das XML-File im $ORACLE_HOME/dbs erstellt – /u00/app/oracle/product/12.1.0.2/dbs/CRM01AIX.XML. Anschliessend wurden die für die Pluggable Database relevanten Datenfiles und das XML auf die Linux-Umgebung kopiert.

Linux – RMAN Convert

Die Konvertierung bricht ab mit dem Fehler ORA-19928: CONVERT of data files with undo segments between different endian is not supported.

Informationen

Für den Fehler ORA-19928 gibt es aktuell in My Oracle Support gerade mal einen Bug-Eintrag, und der hat mit diesem Fall nicht das geringste zu tun. Die Fehlermeldung ORA-19928 sagt aber eigentlich alles:

Weitere Informationen liefert die MOS Note Migration Of An Oracle Database Across OS Platforms (Generic Platform) (Doc ID 733205.1):

  • RMAN Convert Database only works if both source and destination belong to the same ENDIAN format
  • RMAN’s convert function for Transportable Tablespaces will convert from one ENDIAN format to another.
  • These two commands ARE NOT the same.  Please refer to the notes at the end of the document for the correct note needed.

Bis auf weiteres muss also ein der Transportable Tablespace Varianten verwendet werden. Mal schauen was sich bis zu den nächsten Releases (12.2 sollte ja im 2016 erscheinen) noch alles tut. Ich habe den Wunsch aber schon mal im Oracle Forum für Database Ideas (https://community.oracle.com/community/database/database-ideas) gepostet.

SQL Developer 4.1 EA angetestet

Seit dem 8. Dezember ist der Oracle SQL Developer 4.1 Early Adopter als Download verfügbar. Höchste Zeit also für einen ersten Test. Hier die wichtigsten Neuerungen:

  • Verbesserter Import Data Wizard
  • Instance Viewer
  • REST Enablement von Tabellen
  • NoSQL Support
  • Verbesserter Data Modeler
  • Generelle Verbesserung beim Speichern von Files, Login, SQL Aufzeichnung von Statements etc.
  • JDK 8 Support

Die Installation geht wie bei den vorherigen Version sehr einfach, runterladen, entpacken, JDK angeben und los geht’s. Vorherige Verbindungseinstellungen können übernommen werden.

Links

Die beiden für mich als DBA interessantesten Features sind sicher der Instance Viewer und der Data Import Wizard. In der SQL Developer Version 3 konnte man das Insider Plugin von fourthelephant.com installieren um den Datenbankzustand grafisch anzuzeigen, doch das Plugin war in der SQL Developer Version 4 nicht mehr lauffähig.

Instance Viewer

Den Instance Viewer findet man im DBA-Modul – Voraussetzung für die Benutzung ist die korrekte Lizenzierung vom Oracle Diagnostic Pack.

dba_module

pack_license

Die Übersichtsseite zeigt einen generellen Zustand der Instanz. Für eine grössere Ansicht auf die Bilder klicken.

uebersicht

Einzelne Panels sind anklickbar um Details anzuzeigen. Diese sind erkennbar an einem blauen Rahmen wenn man die Maus über die Oberfläche bewegt, beispielsweise das Session Panel:

sessions

session_details

Data Import Wizard

Den verbesserten Import Wizard findet man in der Datenbank-Verbindung mit einem Rechtsklick auf Tables – Import Data. Sollen die Daten nicht in das SYS Schema importiert werden, gibt es das Import Data Menu auch auf Stufe Other Users – <User> – Tables.

import

 Schritt 1 – File auswählen

wizard_step_1

 Schritt 2 – Daten in eine neue Tabelle importieren

wizard_step_2

Schritt 3 – Spalten auswählen

wizard_step_3

Schritt 4 – Datentypen auswählen und bei Bedarf ändern

wizard_step_4

Schritt 5 – Zusammenfassung

wizard_step_5

Bestätigung

wizard_confirmation

Verbindung mit 12c Rollen

Für die Verbindungen können neu die 12c Rollen SYSKM, SYSDG etc. verwendet werden:

rollen

Zusammenfassung

Der erste Eindruck vom SQL Developer 4.1 EA: I like :-). Die grafische Oberfläche für die Statusübersicht ist gelungen, da liegt sicher noch mehr drin, beispielsweise die Anzeige vom Shared Pool Inhalt, Anzeige der Sessions mit Top SQL, Redo Log Switches pro Stunde etc. wären auch noch toll. Oder die Möglichkeit die Panel selbst auszuwählen und zu Positionieren (eigenes Dashboard). Der Import Wizard ist verbessert worden, die zu importierenden Daten werden bereits zu Beginn der Import-Aktion angezeigt und verhindert unbeliebsame Überraschungen. Dazu kommen vielen kleine aber feine Anpassungen wie die Login-Rollen oder der Speichern-Dialog.

DBUA Upgrade Oracle 11gR2 / 12cR1 in Oracle Enterprise Linux 6

Der Artikel beschreibt das das Upgrade einer Oracle 11gR2 Single Instance Datenbank auf die Version 12cR1 mit dem Database Upgrade Assistant in ein neues ORACLE_HOME. Ausgangsversion ist 11.2.0.3 – Zielversion 12.1.0.2.

Ausgangslage

OS und Datenbank-Versionen

  • Oracle Linux 6.5 64 Bit
  • Oracle 11.2.0.3 / PSU October 2014 (19121548)
    • ORACLE_HOME=/u00/app/oracle/product/11.2.0.3
  • Oracle 12.1.0.2 / PSU October 2014 (19303936)
    • ORACLE_HOME=/u00/app/oracle/product/12.1.0.2
  • Oracle Enterprise Edition 11.2.0.3
    • ORACLE_SID=SALEST

Installierte Komponenten

Dokumente

Die neusten Features im DBUA Upgrade-Prozess

  • Pre-Upgrade Skript für die Analyse der zu aktualisierenden Datenbank
  • Paralleles Upgrade vom Data Dictionary inkl. Aufsetzen auf der letzten Position im Fehlerfall
  • XML Datenbank wird installiert (falls nicht bereits vorhanden)
  • Detaillierte Logfiles
  • 11g Database Control wird entfernt – 12c EM Express wird konfiguriert
  • Time Zone Files werden aktualisiert
  • Das Server Parameterfile wird in das neue ORACLE_HOME verschoben

Database Upgrade Assistant

Starten vom DBUA

Setzen der Umgebungsvariablen für Oracle 12c und starten vom DBUA:

Logfiles

  • /u00/app/oracle/cfgtoollogs/dbua/SALEST/upgrade1/Backup.log
  • /u00/app/oracle/cfgtoollogs/dbua/SALEST/upgrade1/PreUpgrade.log
  • /u00/app/oracle/cfgtoollogs/dbua/SALEST/upgrade1/Oracle_Server.log

Auswahl Upgrade Oracle Database

dbua01

Anzeige der Quelldatenbank

Pre-Checks

dbua03

Der Recyclebin wird als SYSDBA in SQL*Plus geleert:

Angabe von Parallelisierungsgrad, Update der Time Zone Files

dbua04

Konfiguration von EM Express oder Intergration in EM 12c Cloud Control

dbua05

 Files können verschoben und umbenannt werden

dbua06

Listener Konfiguration

dbua07

Der bestehende 11.2.0.4 Listener wurde nicht erkannt, dieser muss manuell auf das neue ORACLE_HOME angepasst werden.

Sicherung vor dem Upgrade

dbua08

Der verfügbare Diskplatz für das Upgrade wird geprüft (Fast Recovery Area, Archive-Destination)

Start vom Upgrade mit Fortschrittsanzeige

dbua09

Fehler

dbua10a dbua10

Dieser Fehler kann ignoriert werden wenn keine OLAP-Komponenten installiert sind.

Upgrade 100%

dbua11

Summary

dbua12

Komponenten anzeigen

Komponenten wurden aktualisiert:

Das Database Control Repository, Espression Filter und Rules Manager wurden entfernt.

Time Zone

Time Zone wurde auf Version 18 aktualisiert:

Parameter compatible

Der Parameter muss auf die Version 12.1.0 angepasst werden – ein Neustart wird benötigt:

@utluiobj.sql

Prüfung auf invalide Objekte.

Output

EM Express bereits konfiguriert

Test EM Express mit der URL https://kestenholz:5500/em:em_login

Statistik-Job

Während das manuelle Upgrade beim Statistik-Job aufschlägt und der Parameter CONCURRENT manuell auf FALSE gesetzt werden muss, wird das vom DBUA gerade erledigt:

Das wird im Hintergrund von Oracle so gelöst – Auszug aus dem Alertlog: