News
Tool-Tipp: SQLcl - potentieller Nachfolger für SQL*Plus

Die Information ist ein schnelllebiges Gut. Jeden Tag werden wir mit hunderten Informationen zugemüllt. Deshalb sind wir bestrebt uns auf das Wesentliche zu konzentrieren und nur substantiell nachhaltige Informationen bereitzustellen.

Icon Unternehmen

Was ist "SQLcl"?

In den letzten Monaten gab es immer wieder Alpha-Releases des neuen Tools "SQL Command Line", kurz "SQLcl". Es wird vom "Oracle SQL Developer"-Team entwickelt und kann auf dieser Oracle Seite unter dem Abschnitt "Command Line - SQLcl - Early Adopter" heruntergeladen werden.
Ziel des Java-basierten Tools ist es, ausgewählte Features, die im SQL Developer schon enthalten sind, auf die Kommandozeile zu portieren.

Installation

Die Installation gestaltet sich unkompliziert: Sofern Java bereits vorinstalliert ist, muss das heruntergeladene Paket lediglich entpackt werden. Im Unterordner "bin" befindet sich das auszuführende Programm "sql" bzw. "sql.bat" für Windows.

Eine Verbindung zur Datenbank erfolgt mit den bekannten Optionen TNS Names und EZConnect:

sql sys/<password>@<hostname>:<port>/<sid> as sysdba
sql sys/<password>@<tns-alias>

Feature-/Kommandoübersicht

 

Mit dem Befehl "help" erhalten Sie eine Übersicht der Kommandos.
Neben der neu implementierten Kommandohistorie, welche SQL*Plus nativ nicht bietet, sollen in diesem Artikel "ALIAS" und "REPEAT" näher vorgestellt werden.

ALIAS

Mit SQLcl ist es möglich, SQL-Statements als Alias zu hinterlegen. Anwendungsbeispiel hierfür sind wiederkehrende und mitunter komplexe Abfragen, die als einfaches Kommando für eine spätere Ausführung hinterlegt werden.

 

  1. Die Syntax des ALIAS-Kommandos kann per anschließendem "help" angezeigt werden.
  2. "alias list" zeigt aktuell bekannte Aliase auf.
  3. Um einen Alias zu definieren, kommt die Syntax alias <alias_name>=<sql-statement><ENTER> zum Einsatz. "alias list" zeigt daraufhin das neu definierte Kommando an.
  4. Die Ausführung eines Alias ist wie auf der Shell die einfache Angabe des Namens.
  5. In den Alpha-Versionen von SQLcl kommt es mitunter vor, dass das automatisch generierte alias.xml-File aus unerfindlichen Gründen vom System verschwunden ist. Mit dem Befehl "alias save <file-name>" kann dies umgangen werden. Es ist ebenfalls möglich, mehrere Alias-Definitionen auf dem lokalen System zu hinterlegen.
  6. "alias load <file-name>" liest die im XML-File hinterlegten Aliase in SQLcl ein.

HISTORY

Eine Historie kann in SQL*Plus per "rlwrap" simuliert werden. In SQLcl ist dieses Feature bereits nativ enthalten.

 

  1. Die Syntax des HISTORY-Kommandos kann per anschließendem "help" angezeigt werden.
  2. Bei einer Neuinstallation von SQLcl ist die History leer.
  3. Sobald ein Statement eingegeben wird, erscheint es in der History.
  4. Mit dem Befehl "history usage" können Sie überprüfen, welche Statements statistisch am häufigstem ausgeführt wurden.

REPEAT

Die Funktion REPEAT ähnelt dem Befehl "watch" auf der Kommandozeile und wiederholt das zuletzt ausgeführte Statement x-Mal mit einem Intervall von y. Als Anwendungsgebiet ist hier bespielsweise das Monitoring der Flash Recovery Area (FRA) zu nennen. Zu beachten ist, dass REPEAT nur Statements wiederholen kann - zuvor ausgeführte Aliase wurden in unseren Tests  ignoriert.

 

  1. Überblick über die FRA
  2. Um einen eventuellen Zuwachs zu beobachten, wird das Statement mit REPEAT wiederholt - in unserem Beispiel sechs Mal mit einer Verzögerung von zehn Sekunden


     
  3. In der Statusleiste von SQLcl wird der aktuelle Fortschritt angezeigt.

Fazit
SQLcl macht im EA-Release einen guten und stabilen Eindruck. Vor allem die ALIAS-Funktion bietet im Bereich der manuellen Datenbankprüfungen ein gutes Anwendungsbeispiel. Es wird sicherlich einige Zeit brauchen, bis SQL*Plus vollends abgelöst wird, aber SQLcl ist bereits jetzt ein solides Werkzeug. Bei Fragen konsultieren Sie doch einfach unsere Oracle Spezialisten - wir sind Ihnen gern behilflich.