Alle Command-Line SQLPLUS Benutzer lieben rlwrap! Durch dieses kleine Tool bekommt SQLPLUS eine massive Aufwertung. Neben der Möglichkeit von Command-Line Editing und Command-Line History bietet diese Version von rlwrap noch folgende Vorteile:
- Statisch gelinkt und für RedHat und Oracle Linux 7/8/9 x86-64 getestet. Voraussichtlich wird rlwrap auf allen Linux Varianten, die glib-c Version 6 haben, funktionieren – wir haben es aber nicht getestet.
- Enthält Completion für Oracle 19c/21c/23c Syntax und Objektnamen, wobei im Fall von 23c nur die Free Edition zur Verfügung stand.
- Wartung/Aktualisierung auch in Zukunft. Sobald Oracle auf RHEL/OL 10 verfügbar sein wird, werden wir rlwrap auch für diese Version überprüfen/bereitstellen. Das gleiche gilt für die Objektnamen (sprich neue Oracle Datenbank Versionen).
Installation
Laden Sie die neue rlwrap Version herunter.
In ihrem HOME Verzeichnis, einfach das Tar-File entdecken
cd $HOME
tar xvfz rlwrap-V23.tar.gz
Stellen Sie sicher, dass $HOME/bin im Pfad ist.
export PATH=$PATH:$HOME/bin
Ab sofort können Sie mit sql+ für sqlplus oder asm+ für asmcmd diese Tools mit Commandlineediting nutzen.
Nutzung mit älteren Linux Versionen
Im Verzeichnis $HOME/bin liegt das statisch gelinkte rlwrap, das mit RHEL/OL 7/8/9 getestet wurde.
Hinweis
Wenn Sie rlwrap in in anderes Verzeichnis wie $HOME/bin legen möchten, müssen Sie nur die beiden Shell Scripts sql+ und asm+ entsprechend anpassen.
Hallo Christian, könnte es sein das hier ein kleiner Bug in der Version 23 von rlwrap vorhanden ist? Wenn man mehrzeilige Statements in das SQLPLUS hinein kopiert, wird dieses erst executiert wenn man ENTER drückt, in der Version 19 wurde das sofort ausgeführt. Vielen Dank und einen guten Rutsch ins neue Jahr 2025 🙂 LG Norbert
Hallo Norbert,
das hat mit der readline-Bibliothek zu tun, auf der rlwrap basiert. Die neue Version hat hier einen anderen Default.
Das gewohnte Verhalten, kann man auf zwei Wege wieder erreichen.
Für einzelne Benutzer:
echo "set enable-bracketed-paste off" >> $HOME/.inputrc
oder – als root – für alle Benutzer:
echo "set enable-bracketed-paste off" >> /etc/inputrc