TrivadisContent

Oracle 12.1.0.2 on AIX – rtld: 0712-001 Symbol CreateIoCompletionPort was referenced

Ich installiere dann mal kurz 12.1.0.2…

Da will man nur mal aktuelle Oracle RDBMS Version 12.1.0.2 in AIX 7.1 installieren, die Installation läuft soweit durch. Doch beim Aufruf eines Binaries wie beispielsweise SQL*Plus kommt folgende Fehlermeldung:

My Oracle Support

Die Suche geht wie immer als erstes bei My Oracle Support los. Es gibt eine Support Note vom 9. Dezember 2014:

AIX 12.1.0.2 Installation Fails with “rtld: 0712-001 Symbol CreateIoCompletionPort was referenced ” (Doc ID 1949184.1)

Gemäss der MOS Note muss man für die Installation von 12.1.0.2 in AIX die Einstellung für die sogenannten I/O completion ports (IOCP) ändern. Defaultmässig ist der Wert auf Defined:

Der IOCP Status muss auf den Wert Available gesetzt werden.

Vorgehensweise

  • Login als root
  • Mit smitty die Einstellung für IOCP ändern
  • Die Änderung kann mit dem cfgmgr aktiviert werden, ein Neustart ist nicht erforderlich – merci Gabriel für den Hinweis 🙂
  • Re-Link der Oracle 12.1.0.2 Binaries und Ausführen von root.sh

Danach kann die Version 12.1.0.2 verwendet werden. Der Hinweis findet sich übrigens auch im 12c Installation Guide – soviel zum Thema RT…M…

On IBM AIX on POWER Systems (64-Bit), enable I/O completion ports (IOCP) to ensure successful database and grid infrastructure installation.

To check if the IOCP module is enabled, run the lsdev command:

$ lsdev | grep iocp
The following sample output shows the IOCP status is set to Defined and hence not enabled:

iocp0      Defined       I/O Completion Ports

Umsetzung

Nachdem der AIX-Systemadministrator die Einstellung geändert hat sieht es so aus:

Relink der Binaries

root.sh

Test – ohne Fehlermeldung

Links

Oracle 12c Database Installation Guide: http://docs.oracle.com/database/121/AXDBI/pre_install.htm#AXDBI7892

Wikipedia zu IOCP: http://en.wikipedia.org/wiki/Input/output_completion_port

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.