SQL*Plus-Befehle — die wichtigsten Optionen und SET-Kommandos von Oracles Kommandozeilen-Werkzeug sqlplus. SQL*Plus ist das klassische Interaktionswerkzeug für Oracle-Datenbanken und erlaubt SQL, PL/SQL und eine eigene Suite von Formatierungs- und Reporting-Befehlen.

Verbindung herstellen

sqlplus benutzer/passwort@orcl
sqlplus system/geheim@//192.168.1.30:1521/ORCLPDB1
sqlplus / as sysdba

Die Verbindung besteht aus Benutzer, Passwort und Connect-Identifier im Format host:port/service oder Net-Service-Name. / as sysdba verbindet über das Betriebssystem mit Administratorrechten — für administrative Aufgaben.

Wichtige Kommandos

DESCRIBE benutzer;      -- Tabellenstruktur anzeigen
SHOW USER;              -- aktuellen Benutzer anzeigen
SPOOL bericht.txt;      -- Ausgabe in Datei schreiben
SET LINESIZE 200;       -- Zeilenbreite
SET PAGESIZE 50;        -- Zeilen pro Seite
SET SERVEROUTPUT ON;    -- DBMS_OUTPUT sichtbar machen
RUN;                    -- SQL-Puffer erneut ausführen
@/pfad/zu/skript.sql;   -- Skript ausführen

DESCRIBE zeigt die Spaltenstruktur einer Tabelle, SPOOL schreibt die Ausgabe in eine Datei (mit SPOOL OFF beendet man das Schreiben) und SET steuert mehr als 60 Umgebungsvariablen der Sitzung.

Nicht-interaktiver Einsatz

sqlplus -S benutzer/passwort@orcl @/pfad/zu/bericht.sql
echo "SELECT COUNT(*) FROM kunden;" | sqlplus -S benutzer/passwort@orcl

-S (silent) unterdrückt das Begrüßungsbanner und Prompts — so lassen sich SQL*Plus-Skripte sauber in Shell-Pipelines und Cron-Jobs einbauen. Mit -L wird der Verbindungsversuch nur einmal ausgeführt (kein erneutes Passwort-Prompt bei Fehlern).

PL/SQL-Ausgabe

SET SERVEROUTPUT ON
BEGIN
  DBMS_OUTPUT.PUT_LINE('Hallo Oracle');
END;
/

PL/SQL-Blöcke werden mit dem Slash / auf einer eigenen Zeile abgeschlossen und ausgeführt. SET SERVEROUTPUT ON macht die DBMS_OUTPUT-Ausgabe im Terminal sichtbar.

Die zugrunde liegende Sprache ist in der SQL-Befehle-Referenz und der prozeduralen Erweiterung PL/SQL-Befehle beschrieben. Die Alternativen für andere Datenbanksysteme sind MySQL und psql.