Softwareentwicklung, SEO und mehr» sql*plus http://m-software.de Software und IT Blog                                            Michael Jentsch Fri, 12 Oct 2012 18:46:33 +0000 de-DE hourly 1 http://wordpress.org/?v=3.4.2 SQLPlus http://m-software.de/sql-plus-html http://m-software.de/sql-plus-html#comments Sun, 03 Oct 2010 16:17:27 +0000 Michael Jentsch http://m-software.de/?p=70 SQL*PLUS ist ein einfaches Tool um SQL Abfragen von einer Oracle
Instanz ausführen zu lassen.

SQL-Plus starten

sqlplus user/passwort@ORACLE_SID
sqlplus user/passwort
sqlplus sys/passwort@ORACLE_SID as sysdba
sqlplus sys/passwort as sysdba
sqlplus “/ as sysdba”
Nur Benutzer die SYSDBA oder SYSOPER Rechte haben, können
sich an der Oracle Instanz als sysdba oder als sysoper anmelden.

SQL-Plus Befehle für Anfänger

SQL-Plus Befehle sind dazu da, die Konfiguration von SQL-Plus zu
ändern und zu ergänzen und um einige zusätzliche
Funktionen die über ein SELECT, UPDATE und DELETE hinausgehen
zur Verfügung zu haben. In den meisten Fällen ist es für
den Anwender leichter sich mit einem Datenbanktool wie z.B. TOAD oder
dem PLSQL-Developer zu rüsten als sich in den Tiefen von
SQL-Plus zu verlieren. Leider ist das nicht immer möglich. Z.B.
wenn die Ergebnisse einer SQLPlus Anfrage mit einem Shellscript in
awk oder sed weiterverarbeitet werden sollen das in regelmäßigen
Abständen per cronjob aufgerufen wird. In dem Fall ist SQL-Plus
die richtige Lösung.

Für die Verwendung von SQL-Plus muss man mindestens einen
Oracle Client installiert haben. Der Aufruf von sqlplus sieht dann
folgendermaßen aus.

%>sqlplus user/passwort@ORACLE_SID

Die ORACLE_SID ist die ID der Oracle Datenbank die verwendet werden
soll. Erhält man bei der Anmeldung den Fehler “ORA-12154:
TNS:Der Servicename konnte nicht aufgelöst werden.” kann
die ORACLE_SID nicht gefunden werden. Die verwendete ORACLE_SID muss
in der Datei tnsnames.ora eingetragen sein, die sich unter [ORACLE
INSTALLATION]/network/ADMIN/tnsnames.ora findet. Ein Eintrag mit der
SID TESTDB könnte beispielsweise so aussehen.

TESTDB_192.168.100.1 =

   (DESCRIPTION =

     (ADDRESS_LIST =

       (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.1)(PORT = 1521))

     )

     (CONNECT_DATA =

       (SID = TESTDB)

       (SERVER = DEDICATED)

      )

    )

Hinweis: Es ist möglich die Datei im
Texteditor zu bearbeiten. Besser ist es aber dies nicht zu tun, da
“vor allem ältere Oracle Versionen” sehr alergisch auf
scheinbar korrekte Einträge reagieren. Am besten ist es, man
verwendet ein Tool um hier Einträge zu Ändern.

Wenn man sich nun erfolgreich an der Oracle Datenbank angemeldet
hat, erscheint der folgende Bildschirm.

%>sqlplus XXX/XXX@TESTDB
 

SQL*Plus: Release 9.2.0.1.0 - Production on Di Jan 3 13:22:38 2006

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

Verbunden mit:

Oracle9i Release 9.2.0.4.0 - Production

JServer Release 9.2.0.4.0 - Production

SQL>

Wenn man sich das erste mal mit SQL-Plus an der Oracle Datenbank
anmeldet ist es von Vorteil, wenn man sich erst mal einen Überblick
verschafft, ob man richtig angemeldet ist. Hierzu kann man
unterschiedliche SQL Befehle nutzen, die in den meisten Fällen
schon ausreichend sind.

select TABLE_NAME from USER_TABLES;

Zeigt die Tabellennamen im eigenen Tablespace an.

select DISTINCT TABLESPACE_NAME from USER_TABLES;

Zeigt den Tablespace an in dem man sich gerade befindet.

Darüber hinaus gibt es noch endlos viele Tabellen in denen
man zusätzliche Informationen darüber erfragen kann, die
eine Auskunft über Oracle Datenbank geben können. Auf eine
komplette Auflistung des Oracle Data Dictionary möchte ich an
der Stelle aber verzichten. Wer sich dafür interessiert, kann ja
mal nach “Oracle Data Dictionary” googlen.

Neben den SQL Befehlen SELECT, INSERT, UPDATE gibt es in SQL-Plus
noch eine Reihe weiterer Befehle, die bei der täglichen Arbeit
mit Oracle helfen können. Eine Liste der Befehle erhält man
mit

SQL> HELP INDEX
 

 @             COPY         PAUSE                    SHUTDOWN

 @@            DEFINE       PRINT                    SPOOL

 /             DEL          PROMPT                   SQLPLUS

 ACCEPT        DESCRIBE     QUIT                     START

 APPEND        DISCONNECT   RECOVER                  STARTUP

 ARCHIVE LOG   EDIT         REMARK                   STORE

 ATTRIBUTE     EXECUTE      REPFOOTER                TIMING

 BREAK         EXIT         REPHEADER                TTITLE

 BTITLE        GET          RESERVED WORDS (SQL)     UNDEFINE

 CHANGE        HELP         RESERVED WORDS (PL/SQL)  VARIABLE

 CLEAR         HOST         RUN                      WHENEVER OSERROR

 COLUMN        INPUT        SAVE                     WHENEVER SQLERROR

 COMPUTE       LIST         SET

 CONNECT       PASSWORD     SHOW

Mit diesen Befehlen möchte ich nun den Leser im weiteren an ein
paar Beispielen und mit meinen Erfahrungen vertraut machen.

SQL-Plus Kommandozeilenparameter

SQL-Plus hat eine Reihe von Parametern, die direkt beim Start der
Anwendung übergeben werden können. Eine Übersicht der
SQL-Plus Kommandozeilenparameter kann man mit sich auf der Konsole
anzeigen lassen.

%>sqlplus -h
 

SQL*Plus: Release 9.2.0.1.0 - Production

Verwendung: SQLPLUS [ [<option>] [<logon>] [<start>] ]

wobei <option> ::= -H | -V | [ [-L] [-M <o>] [-R <n>] [-S] ]

      <logon>  ::= <username>[/<password>][@<connect_string>] | / | /NOLOG

      <start>  ::= @<URI>|<filename>[.<ext>] [<parameter> ...]

        "-H" zeigt SQL*Plus-Versions-Banner und Syntax von Verwendung an

        "-V" zeigt SQL*Plus-Versions-Banner an

        "-L" versucht eine einmalige Anmeldung

        "-M <o>" verwendet HTML-Markup-Optionen <o>

        "-R <n>" verwendet eingeschränkten Modus <n>

        "-S" verwendet Ton aus-Modus

So ist es unter anderem möglich, SQL-Anweisungen aus einer Datei
heraus Ausführen zu lassen. Dies ist auch aus einer schon
laufenden SQL-Plus Anwendung heraus möglich, aber vor allem der
Aufruf über die Kommandozeilenparameter ist in vielen Fällen
eine sehr elegante Möglichkeit um z.B. Oracle Daten in einfachen
Shell Skripten zu verwenden. Das sieht dann wie folgt aus:

SQL> sqlplus user/passwort@ORACLE_SID @datei.sql

In dem Fall wird dann die Datei “datei.sql” ausgeführt.
Alle SQL und SQL-Plus Befehle in der Datei werden von oben nach unten
abgearbeitet und auf der Konsole ausgegeben. Ist der letzte Befehl in
der Datei ein “quit”, wird SQL-Plus wieder beendet und das
Shell wird weiter ausgeführt. Wenn man die Ausgaben z.B. mit awk
weiter verarbeiten zu können, ist es sinnvoll, einige
Kleinigkeiten zu beachten:

  • Die Verwendung der option “-S”
    unterdrückt die Informationen beim Starten und Beenden von
    SQL-Plus

  • “SET PAGES 9999″ setzt
    die Größe einer Seite auf 9999 Zeilen. Hierdurch werden
    unnötige Leerzeilen unterdrückt.

  • “SET LIN 9999″ setzt die
    Zeilenlänge auf 9999. Hierdurch wird der Zeilenumbruch
    verhindert.

  • “SET HEADING OFF” unterdrückt die Ausgabe der
    Kopfzeilen.

SQL-Plus Befehlsübersicht

Die nun folgenden 53 SPL-Plus Befehle sind alle in Oracle 9.2
verfügbaren SQL-Plus Befehle. Bei diesen Befehlen ist es egal,
ob sie in Groß- oder in Kleinbuchstaben eingegeben werden. Die
meisten Befehle benötigen mindesten einen oder mehr Parameter.
Eine detaillierte englisch Hilfe zu einem Befehl kann man sich mit
dem SQL-Plus Befehl “HELP” anzeigen lassen. Umfangreiche
deutsche Infos zu den Befehlen gibt es wenn man dem Link zu dem
SQL-Plus Namen der Liste weiter unten folgt :-) .

SQL>HELP [topic]

Kommentare werden in SQL-Plus mit einem “–” am Anfang der
Zeile Markiert.

SQL-Plus Befehl Kurzform
@ -
@@ -
/ -
ACCEPT ACC
APPEND A
ARCHIVE LOG -
ATTRIBUTE -
BREAK BRE
BTITLE BTI
CHANGE C
CLEAR CL
COLUMN COL
COMPUTE COMP
CONNECT CONN
COPY -
DEFINE DEF
DEL -
DESCRIBE DESC
DISCONNECT DISC
EDIT ED
EXECUTE EXEC
EXIT -
GET -
HELP -
HOST HO
INPUT I
LIST L
PASSWORD PASSW
PAUSE PAU
PRINT PRI
PROMPT PRO
QUIT -
RECOVER -
REMARK REM
REPFOOTER REPF
REPHEADER REPH
RESERVED WORDS (SQL)
-
RESERVED WORDS
(PL/SQL)
-
RUN R
SAVE SAV
SET -
SHOW SHO
SHUTDOWN -
SPOOL SPO
START -
STARTUP -
STORE -
TIMING TIMI
TTITLE TTI
UNDEFINE UNDEF
VARIABLE VAR
WHENEVER OSERROR -
WHENEVER SQLERROR -

Hier noch Links zu Freunen und Sponsoren, die mir helfen, die sqlplus Doku im Netz zu veröffentlichen:

1. Archivierung Software

Englische
SQL-Plus Doku


Trademark Information:
Oracle is a
registered trademark of Oracle Corporation.

No related posts.

]]>
http://m-software.de/sql-plus-html/feed 0
SQL-Plus ACCEPT http://m-software.de/sql-plus-accept-html http://m-software.de/sql-plus-accept-html#comments Sun, 03 Oct 2010 16:20:33 +0000 Michael Jentsch http://m-software.de/?p=76 Zurück zum SQL-Plus Tutorial


ACCEPT Aufruf:

ACCEPT variable [NUMBER|CHAR|DATE] [FORMAT format] [DEFAULT default] [PROMPT text|NOPROMPT] [HIDE]

ACCEPT Beschreibung:
Liest eine Zeile aus dem Eingabepuffer (User
Eingabe) und speichert sie in einer vorgegebenen Variable.

  • variable
    Der Name der Variable,
    in der die Eingabe gespeichert wird. Eine existierende Variable wird
    überschreiben. Eine nicht existierende Variable wird von
    SQL-Plus angelegt.

  • NUMBER CHAR DATE
    Festlegung des
    Datentyps. Wenn Die Eingabe nicht mit dem vorgegebenen Datentyp
    übereinstimmt, wird SQL-Plus einen Fehler ausgeben und
    wiederholt zur Eingabe auffordern. Die max. Länge für den
    Datentype CHAR ist 240 Zeichen.

  • FORMAT
    Festlegung des
    Eingabeformats. Wenn Die Eingabe den Formatvorgaben nicht
    entspricht, wird ein Fehler ausgegeben und erneut zur Eingabe
    aufgefordert. Der Format String kann folgendermaßen
    aussehen:
    Z.B. ‘dd/mm/yy’, A10 oder 9.999.
    Die Liste der
    möglichen Formatvorgaben kann unter ‘SQL-Plus
    Formate
    ‘ nachgelesen werden.

  • DEFAULT
    Der Default Wert, falls
    keine Eingabe gemacht wird.

  • PROMPT NOPROMPT
    Mit PROMPT kann
    man vor der Eingabeaufforderung einen Text anzeigen lassen. Mit
    NOPROMPT wird kein
    Text ausgegeben.

  • HIDE
    Anzeige der Eingaben unterdrücken. (z.B. für
    Passwörter)

Auf den Webseiten von Oracle
finden Sie weiterführende Infos zum ACCEPT Befehl.


Zurück zum SQL-Plus Tutorial


Trademark Information:
Oracle is a
registered trademark of Oracle Corporation.

No related posts.

]]>
http://m-software.de/sql-plus-accept-html/feed 0
SQL-Plus APPEND http://m-software.de/sql-plus-append-html http://m-software.de/sql-plus-append-html#comments Sun, 03 Oct 2010 16:21:48 +0000 Michael Jentsch http://m-software.de/?p=78
  • SQL-Plus ACCEPT
  • ]]>
    Zurück zum SQL-Plus Tutorial


    APPEND Aufruf:

    APPEND text

    APPEND Beschreibung:
    Hängt den mit ‘text’ angegebenen Text an
    das Ende der Zeile im SQL Puffer. Unter www.Oracle.com
    finden Sie weitere Infos zum APPEND Befehl.


    Zurück zum SQL-Plus Tutorial


    Trademark Information:
    Oracle is a
    registered trademark of Oracle Corporation.

    Related posts:

    1. SQL-Plus ACCEPT
    ]]>
    http://m-software.de/sql-plus-append-html/feed 0
    SQL-Plus ARCHIVE LOG http://m-software.de/sql-plus-archive_log-html http://m-software.de/sql-plus-archive_log-html#comments Sun, 03 Oct 2010 16:24:16 +0000 Michael Jentsch http://m-software.de/?p=83
  • SQL-Plus APPEND
  • SQL-Plus ACCEPT
  • ]]>
    Zurück zum SQL-Plus Tutorial


    ARCHIVE LOG Aufruf:

    ARCHIVE LOG {LIST|STOP}|{START|NEXT|ALL|integer}[TO destination]

    ARCHIVE LOG Beschreibung:
    Starten oder Stoppen der automatischen
    Archivierung von “online redo log files”, manuelles
    Archivieren von vorgegebenen “redo log files” und Anzeigen
    von Informationen über die “redo log files” ist mit
    dem ARCHIVE LOG Befehl möglich.

    Unter www.Oracle.com finden
    Sie immer die aktuellen Neuerungen zum ARCHIVE LOG Befehl.


    Zurück zum SQL-Plus Tutorial


    Trademark Information:
    Oracle is a
    registered trademark of Oracle Corporation.

    Related posts:

    1. SQL-Plus APPEND
    2. SQL-Plus ACCEPT
    ]]>
    http://m-software.de/sql-plus-archive_log-html/feed 0
    SQL-Plus @ [at] http://m-software.de/sql-plus-at-html http://m-software.de/sql-plus-at-html#comments Sun, 03 Oct 2010 16:25:30 +0000 Michael Jentsch http://m-software.de/?p=85
  • SQL-Plus ARCHIVE LOG
  • SQL-Plus APPEND
  • SQL-Plus ACCEPT
  • ]]>
    Zurück zum SQL-Plus Tutorial


    @ Aufruf:

    @ { uri | file_name[.ext] } [arg ...]

    @ Beschreibung:
    Mit dem @ [at] Befehl können Sie ein SQL
    Skript ausführen.
    Das SQL Skript Das Skript kann vom lokalen
    Dateisystem oder von einem Webserver aufgerufen werden. In dem SQL
    Skript können alle in Oracle verwendeten SQL Statements und die
    in SQL-Plus möglichen SQL-Plus Befehle Aufgerufen werden.
    Ein
    SQL Skript kann SQL-Plus nach der Ausführung beenden, wenn in
    der letzten Zeile des Skripts ein “QUIT” eingegeben wird.

    Die Verwendung von Kommentaren ist auch möglich. Kommentare
    beginnen immer mit –, alle folgenden Anweisungen in der Zeile werden
    nicht ausgeführt.
    Parameter können mit @dateiname arg1
    arg2 … angegeben werden. In dem ausgeführten SQL Skript werden
    die Parameter arg1, arg2, … mit der Angabe von &1 &2 …
    verwendet. Der @ [at] Befehl bietet viele Möglichkeiten, zur
    Verwendung von selbst definierten Makros und Shell Skripten die auf
    Daten einer Oracle Datenbank zugreifen.

    Weiterführende
    Informationen zu dem @ [at] Befehl und zu den Möglichkeiten in
    SQL-Plus finden Sie auf den Webseiten von Oracle.


    Zurück zum SQL-Plus Tutorial


    Trademark Information:
    Oracle is a registered trademark of Oracle Corporation.

    Related posts:

    1. SQL-Plus ARCHIVE LOG
    2. SQL-Plus APPEND
    3. SQL-Plus ACCEPT
    ]]>
    http://m-software.de/sql-plus-at-html/feed 0
    SQL-Plus @@ [at][at] http://m-software.de/sql-plus-atat-html http://m-software.de/sql-plus-atat-html#comments Sun, 03 Oct 2010 16:30:38 +0000 Michael Jentsch http://m-software.de/?p=93
  • SQL-Plus @ [at]
  • SQL-Plus ARCHIVE LOG
  • SQL-Plus APPEND
  • ]]>
    Zurück zum SQL-Plus Tutorial


    @@ Aufruf:

    @@ file_name[.ext]
    

    @@ Beschreibung:

    Mit dem @@ [at][at] Befehl können Sie eine SQL Skript aus einem anderen SQL-Skript heraus ausführen. Das mit @@ aufgerufene SQL Skript wird unter dem gleichen Pfad oder URI gesucht, in dem sich das aufrufende SQL-Skript befindet. Alles weitere ist identisch mit dem @ [at] Befehl.

    Zusätzliche Infos zu dem @@ [at][at] Befehl finden Sie auf den Webseiten von Oracle.


    Zurück zum SQL-Plus Tutorial



    Trademark Information:

    Oracle is a registered trademark of Oracle Corporation.

    Related posts:

    1. SQL-Plus @ [at]
    2. SQL-Plus ARCHIVE LOG
    3. SQL-Plus APPEND
    ]]>
    http://m-software.de/sql-plus-atat-html/feed 0
    SQL-Plus / [slash] http://m-software.de/sql-plus-slash-html http://m-software.de/sql-plus-slash-html#comments Sun, 03 Oct 2010 16:32:17 +0000 Michael Jentsch http://m-software.de/?p=96
  • SQL-Plus @@ [at][at]
  • SQL-Plus @ [at]
  • SQL-Plus ARCHIVE LOG
  • ]]>
    Zurück zum SQL-Plus Tutorial


    / Aufruf:

    /

    / Beschreibung:
    Das / [slash] Kommando führt das letzte auf
    der Kommandozeile eingegebene Skript noch einmal aus, ohne es auf der
    Konsole auszugeben. Der / [slash] Befehl ist sehr hilfreich wenn es
    darum geht, einen Befehl in SQL-Plus mehrmals auszuführen.

    Mehr zum / [slash] in den Online-Dokumentationen der
    Webseiten von Oracle.


    Zurück zum SQL-Plus Tutorial


    Trademark Information:
    Oracle is a registered trademark of Oracle Corporation.

    Related posts:

    1. SQL-Plus @@ [at][at]
    2. SQL-Plus @ [at]
    3. SQL-Plus ARCHIVE LOG
    ]]>
    http://m-software.de/sql-plus-slash-html/feed 0
    SQL-Plus ATTRIBUTE http://m-software.de/sql-plus-attribute-html http://m-software.de/sql-plus-attribute-html#comments Sun, 03 Oct 2010 16:33:20 +0000 Michael Jentsch http://m-software.de/?p=98
  • SQL-Plus / [slash]
  • SQL-Plus @@ [at][at]
  • SQL-Plus @ [at]
  • ]]>
    Zurück zum SQL-Plus Tutorial


    ATTRIBUTE Aufruf:

    ATTRIBUTE [type_name.attribute_name [option...]]

    ATTRIBUTE Beschreibung:
    Mit ATTRIBUTE kann man “Display”
    Attribute für ein Objektattribut definieren oder sich die Liste
    der definierten Attribute anzeigen lassen. Es ist auch möglich
    sich nur ein einziges Attribut anzeigen zu lassen.

    Mögliche Options:
    ALI[AS] alias
    CLE[AR]
    FOR[MAT]
    format
    LIKE {type_name.attribute_name|alias}
    ON|OFF


    Zurück zum SQL-Plus
    Tutorial


    Trademark Information:
    Oracle is a
    registered trademark of Oracle Corporation.

    Related posts:

    1. SQL-Plus / [slash]
    2. SQL-Plus @@ [at][at]
    3. SQL-Plus @ [at]
    ]]>
    http://m-software.de/sql-plus-attribute-html/feed 0
    SQL-Plus BREAK http://m-software.de/sql-plus-break-html http://m-software.de/sql-plus-break-html#comments Sun, 03 Oct 2010 16:35:29 +0000 Michael Jentsch http://m-software.de/?p=102 Zurück zum SQL-Plus Tutorial


    BREAK Aufruf:

    BREAK [ON report_element [action [action]]] ...

    BREAK Beschreibung:
    Mit dem BREAK Befehl kann man die Formatierung
    eines Reports in SQL-Plus bestimmen. Ohne Angabe von Parametern wird
    nur die Aktuelle BREAK Definition ausgegeben.

    Das “report_element” hat folgende
    Syntax:
    {column|expr|ROW|REPORT}

    Die “action” hat folgende Syntax:
    [SKI[P] n|[SKI[P]]
    PAGE] [NODUP[LICATES]|DUP[LICATES]]

    Die vollständige Beschreibung des BREAK Befehls
    entnehmen Sie bitte dem Dokument: “SQL*Plus User’s Guide and
    Reference
    ” von Oracle, das auch als PDF bei Oracle
    erhältlich ist.

    “SQL*Plus
    User’s Guide and Reference”


    Zurück zum SQL-Plus
    Tutorial


    Trademark Information:
    Oracle is a
    registered trademark of Oracle Corporation.

    No related posts.

    ]]>
    http://m-software.de/sql-plus-break-html/feed 0
    SQL-Plus BTITLE http://m-software.de/sql-plus-btitle-html http://m-software.de/sql-plus-btitle-html#comments Sun, 03 Oct 2010 16:36:48 +0000 Michael Jentsch http://m-software.de/?p=104
  • SQL-Plus ATTRIBUTE
  • SQL-Plus / [slash]
  • SQL-Plus @@ [at][at]
  • ]]>
    Zurück zum SQL-Plus Tutorial


    BTITLE Aufruf:

    BTI[TLE] [printspec [text|variable] ...]|[ON|OFF]

    BTITLE Beschreibung:
    Dient zur Festlegung des Formates der Titel
    am Ende jedes Reports. Mit BTITLE kann man sich auch die Liste der
    BTITLE Definitionen anzeigen lassen.
    Weitere Informationen zu den
    “printspec” Parametern sind in der “TTITLE
    Doku zu finden.


    Zurück zum SQL-Plus Tutorial


    Trademark Information:
    Oracle is a registered trademark of Oracle Corporation.

    Related posts:

    1. SQL-Plus ATTRIBUTE
    2. SQL-Plus / [slash]
    3. SQL-Plus @@ [at][at]
    ]]>
    http://m-software.de/sql-plus-btitle-html/feed 0