Categories
Oracle Datenbank

Dauerhafte Formatierungen in SQLPLUS setzen

In SQLPLUS müssen die Ausgaben leider sehr aufwending mit den Befehlen SET und COLUMN formatiert werden. Zudem sind diese Formatierungen nur in der aktuellen SQLPLUS Sitzung gültig. Damit bestimmte Einstellungen dauerhaft gesetzt werden können, bietet Oracle 2 Konfigurationsdateien an:

$ORACLE_HOME/sqlplus/admin/glogin.sql

./login.sql

Die erste ist global gültig und wird immer gelesen. Die zweite wird nur gelesen, wenn man SQLPLUS im Verzeichnis dieser Datei gestartet wird. Daher bietet sich für allgemeine Einstellungen, die für alle Benutzer gültig sein sollen, glogin.sql an. Eine von mir gewöhnlich verwendete glogin.sql sieht zum Beispiel so aus:

— — Copyright (c) 1988, 2011, Oracle and/or its affiliates.
## — All rights reserved.
— NAME ## — glogin.sql — DESCRIPTION ## — SQL*Plus global login “site profile” file — Add any SQL*Plus commands here that are to be executed when a ## — user starts SQL*Plus, or uses the SQL*Plus CONNECT command.
— USAGE ## — This script is automatically run — PAGESIZE 0 would suppress headings SET pagesize 100 SET linesize 140 SET FEEDBACK ON SET HEADING ON — to void filling spooled lines with blanks SET TRIMSPOOL ON SET TRIM ON
— sql prompt to show connection specific details SET SQLPROMPT “\_USER’@’\_CONNECT_IDENTIFIER> ”
— some formats for often used admin views and tables COLUMN object_name FORMAT A25 COLUMN owner FORMAT A12 COLUMN username FORMAT A20 COLUMN tablespace_name FORMAT A20 COLUMN segment_name FORMAT A30 COLUMN object_name FORMAT A30 COLUMN table_name FORMAT A25 COLUMN STATUS FORMAT A10 COLUMN EXTERNAL_NAME FORMAT A20 COLUMN PROFILE FORMAT A12 COLUMN TEMPORARY_TABLESPACE FORMAT A20 COLUMN DEFAULT_TABLESPACE FORMAT A20 COLUMN ACCOUNT_STATUS FORMAT A25 `

Categories
Oracle Oracle Datenbank

Mit SQLPLUS direkt HTML Dateien erzeugen

Seit Oracle 8i gibt es eine elegante Methode mit SQL*Plus direkt HTML Code zu erzeugen. Dazu wird die HTML Ausgabe mit

SET MARKUP HTML ON

aktiviert. Deaktiviert wird die HTML Ausgabe mit:

SET MARKUP HTML OFF SPOOL OFF

SQL Statement
Dieses Beispiel gibt das SQL Statement show user als HTML Datei /tmp/ts_size.htm aus.

SET MARKUP HTML ON SPOOL ON –
HEAD “<title>SQL*Plus Report</title> –
<STYLE TYPE=’TEXT/CSS’> –
<!–BODY {background: ffffc6} –> –
</STYLE>”
BODY “TEXT=’#FF00Ff'” –
TABLE “WIDTH=’90%’ BORDER=’5′”
 
SET ECHO OFF
SPOOL /tmp/ts_size.htm
 
show user;
 
SPOOL OFF
SET MARKUP HTML OFF
SET ECHO ON

Details verrät die Oracle Dokumentation: Generating HTML Reports from SQL*Plus

Categories
Oracle Oracle Datenbank Shell Programmierung

SQL*Plus Variablen definieren und verwenden

Um SQL Statements dynamischer zu gestalten, sind oft Abfragen zu generieren, deren Wert von einer Variablen abhängen. In SQL werden Variablen über das Kommando DEFINE definiert und mit &VARIABLE abgefragt.

SQL Statements:

SET VERIFY OFF
define col=TABLESPACE_NAME
select &col from dba_tablespaces;