SQL*Plus Command Line History mit rlwrap auf mac os x

Wer in Oracle’s SQL*Plus schmerzlichste eine Command Line History vermisst, wie man sie z.B. im vi kennt, der kann sich mit Tools von Drittanbietern helfen. Im Linux Umfeld bietet sich hierfür das Tool rlwrap an. Die Installation und Konfiguration ist auf einem gewöhnlichen Linux total easy. Auf dem Mac os x bedarf es etwas mehr.

  1. Installation eines im mac os x fehlenden Package Managers
  2. Installation des rlwrap
  3. Konfiguration zur Verwendung im SQL*Plus

Xcode und Homebrew installieren

Mac os x bringt von Hause aus keinen Package Manager mit sich. Diese vereinfachen jedoch die Installation von Linux Bibliotheken erheblich. Ich habe deshalb auf meinem Mac Book den Package Manager Homebrew installiert. Da er für den Mac teilweise Apples Development Software Xcode verwendet, muss diese zuvor noch aus dem App Store (kostenfrei) installiert werden. Ein gute Beschreibung dafür findet an auf rayhightower.com.

Rlwrap installieren

Ist die Installation von Xcode abgeschlossen, installiert man den Package Manager per Terminal App.

Rlwrap und SQL*Plus konfigurieren

Die Integration ist total einfach und wird als Shell Alias realisiert. Für meine Arbeit mit dem SQL*Plus habe ich zusätzlich folgende rlwrap Optionen verwendet:

  • -f       –> Angabe eines Dictionary Files zur Autovervollständigung von Befehlen im SQL*Plus per 2x TABULATOR-Key
  • -i        –> Case Insensitive Word Suche bei der Autovervollständigung
  • -b ‚ ‚   –> Definition von Zeichen, die das Ende ein Wortes im Dictionary bzw. bei der Autovervollständigung markieren. Rlwrap hat hier per Default auch das „$“ Zeichen enthalten. Damit kann dann aber nicht nach „V$..“ Views gesucht werden.
  • -p      –> Farbliche Darstellung des SQL*Plus Prompts (hier in grün)

Das ganze sieht dann in meinem Terminal so aus:

Die Datei mit den Dictionary Informationen habe ich mit folgendem SQL erstellt.

 

Links:

Schreibe einen Kommentar