Skip to main content

BASH-like command line history für Oracle

wer viel mit SQLPLUS oder RMAN an der Kommandozeile arbeitet vermisst sicherlich die aus der BASH bekannten History-Funktionen und so nützliche Tasten wie Pfeil-Hoch oder STRG+R (Suche in der History).

Folgende Tools bringen hier Abhilfe, beide sind Wrapper um die Oracle-Befehle sqlplus und rman und können parallel installiert werden:

  • rlwrap - bringt History und Bash-ähnliche Edit-Funktionen
  • gqlplus - bringt zusätzlich zu den Funktionen von rlwrap eine Tab-Completion für Tabellennamen usw. (das Tool wirft aber ab und an mal Fehler)

Installation von rlwrap (falls der Server down ist, hier der Download):

wget http://utopia.knoware.nl/~hlub/uck/rlwrap/rlwrap-0.28.tar.gz
tar xvfz rlwrap-0.28.tar.gz
cd rlwrap-0.28
./configure && make

jetzt muss man sich noch entscheiden, ob man das Tool systemweit braucht, oder ob eine Installation in das $ORACLE_HOME ausreicht.<br /> systemweite Installation (als root) installiert das Binary und die Man-Page:

make install

soll das nur in $ORACLE_HOME liegen, reicht folgendes (als User oracle):

cp src/rlwrap $ORACLE_HOME/bin/

um zukünftig mit dem Wrapper zu arbeiten muss er noch in die Datei ~/.bashrc des Oracle-Users als Alias eingetragen werden (einfach in die Datei einfügen):

alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'

Jetzt die Installation von gqlplus:

wget http://mesh.dl.sourceforge.net/sourceforge/gqlplus/gqlplus-1.12.tar.gz
tar xvfz gqlplus-1.12.tar.gz
cd gqlplus-1.12
./configure && make
cp gqlplus $ORACLE_HOME/bin/

gqlplus kann jetzt einfach als Ersatz zu sqlplus aufgerufen werden:

gqlplus / as sysdba