Die Aufgabe:
Installation des Oracle Instant Clients auf meinem Mac Book um mich damit auf meine 12c Pluggable Database basierend auf Virtual Box zu verbinden.
Meine Erfahrungen:
Das ist zumindest auf einem nativen Linux Derivat wie Redhat oder OEL eine recht simple Angelegenheit. Auf dem OSx meines Macs bin ich aber in einige Herausforderungen gelaufen, deren Lösung ich hier dokumentiere.
Aspekte:
- aktuell keine 12c Version für Mac os x
- Diverse Fehler beim Aufbau einer Verbindung zur Datenbank
- Falsche Key Setting im SQL*Plus
Aktuell keine 12c Version für Mac os x
Da Oracle bis jetzt keine 12c Version des Instant Client für Mac veröffentlicht hat <siehe hier>, habe ich die letzte 11er Version installiert. Das hat allerdings auch den Nachteil, dass die 12c Pluggable Database Erweiterungen (show Pubs, show con_id, show con_name) des SQL*Plus nicht enthalten sind.
1 2 3 4 5 6 7 8 9 10 11 |
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options SQL> show pdbs SP2-0158: unknown SHOW option "pdbs" SQL> show con_name concat "." (hex 2e) SP2-0158: unknown SHOW option "_name" SQL> show con_id concat "." (hex 2e) SP2-0158: unknown SHOW option "_id" SQL> |
Diverse Fehler beim Aufbau einer Verbindung zur Datenbank
Nach der Installation des Instant Clients ist es mir nicht gelungen mich mit meiner 12c Datenbank zu verbinden. Es traten dabei unterschiedliche Fehler auf, die jedoch nicht auf die eigentliche Ursache hinwiesen.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
SQL*Plus: Release 11.2.0.4.0 Production on Tue Dec 22 13:49:22 2015 Copyright (c) 1982, 2013, Oracle. All rights reserved. SQL> connect sys/oracle@cdb1 as sysdba ERROR: ORA-01017: invalid username/password; logon denied SQL> connect sys/oracle@pdb01 as sysdba ERROR: ORA-24542: PRELIM mode logon not allowed to a pluggable database SQL> connect system/oracle@pdb01 ERROR: ORA-21561: OID generation failed |
Nach einiger Suche im Netz war das Problem gelöst. In der /etc/hosts musste der Hostname meines Mac Books ergänzt werden.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
Marcels-MacBook:~ root# hostname Marcels-MacBook.fritz.box Marcels-MacBook:~ root# vi /etc/hosts ## # Host Database # # localhost is used to configure the loopback interface # when the system is booting. Do not change this entry. ## #127.0.0.1 localhost 127.0.0.1 localhost Marcels-MacBook.fritz.box 255.255.255.255 broadcasthost ::1 localhost |
… und geht doch 🙂
1 2 3 4 5 6 7 |
@> connect sys/oracle@cdb1 as sysdba Connected. SYS@cdb1> connect sys/oracle@pdb01 as sysdba Connected. SYS@pdb01> connect system/oracle@cdb1 Connected. SYSTEM@cdb1> |
Falsche Key Setting im SQL*Plus
Diverse Tastenanschläge wurden im SQL*Plus falsch umgesetzt. Das war vor allem bei der Backspace/Delete und den Pfeiltasten extrem hinderlich.
1 2 3 4 5 |
SQL*Plus: Release 11.2.0.4.0 Production on Tue Dec 22 11:27:42 2015 Copyright (c) 1982, 2013, Oracle. All rights reserved. SQL> backspace character: ^H^H^H^H^H SQL> arrow key characters: ^[[D^[[D^[[D^[[C^[[C^[[C^[[B^[[B^[[B^[[A^[[A^[[A |
An der Konfiguration des Macs konnte es nicht liegen. Diese Fehler traten in anderen Tools z.B. wie dem sqlci nicht auf. Mit dem Einsatz des von mir präferierten ReadLine Tools rlwrap war auch dieses Problem behoben.
1 |
rlwrap sqlplus |
Informationen zur Installation von rlwrap findest du in diesem Blogbeitrag.