25 janvier 2010

Script de login Oracle login.sql

Quand SQL*Plus démarre, il recherche le script de login global "glogin.sql" dans le répertoire $ORACLE_HOME/sqlplus/admin et l'exécute s'il est présent. Dans un second temps, SQL*Plus va recherche le script de login "login.sql" dans le répertoire local, sinon dans le répertoire $ORACLE_PATH ou $SQLPATH que vous avez spécifié. Il l'exécute s'il est présent.

NB: à compter de Oracle 10g, SQL*Plus va exécuter le glogin.sql et login.sql après chaque 'connect' réussi. Cela est pratique quand on affiche le "user Oracle" dans l'invite.



Exemple de fichier "login.sql" :

prompt Chargement du login.sql ...

-- editeur de commande
define _editor=vi

-- suppression des blancs de fin de ligne
set trimspool on

-- longueurs
set serveroutput on size 1000000
set long 5000
set linesize 120
set pagesize 9999

-- Invite de commande
column global_name new_value gname
set termout off
define gname=idle
column global_name new_value gname
select lower(sys_context('USERENV','SESSION_USER')) || '@' ||sys_context('USERENV','DB_NAME') || ':' ||sys_context('USERENV','host') as global_name from dual;
set sqlprompt '&gname> '
set termout on

-- Fichier tampon
SET EDITFILE "/tmp/${USER}_${ORACLE_SID}_afiedt.buf"


Ce qui donne l'invite suivante :

SQL*Plus: Release 10.2.0.3.0
Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.

scott@DEVDB:linux03>


Liste des options SQL*Plus disponibles :

SET APPI[NFO]{ON | OFF | text}
SET ARRAY[SIZE] {15 | n}
SET AUTO[COMMIT] {ON | OFF | IMM[EDIATE] | n}
SET AUTOP[RINT] {ON | OFF}
SET AUTORECOVERY {ON | OFF]
SET AUTOT[RACE] {ON | OFF | TRACE[ONLY]} [EXP[LAIN]] [STAT[ISTICS]]
SET BLO[CKTERMINATOR] {. | c | ON | OFF}
SET CMDS[EP] {; | c | ON | OFF}
SET COLSEP {_ | text}
SET COM[PATIBILITY] {V7 | V8 | NATIVE}
SET CON[CAT] {. | c | ON | OFF}
SET COPYC[OMMIT] {0 | n}
SET COPYTYPECHECK {ON | OFF}
SET DEF[INE] {& | c | ON | OFF}
SET DESCRIBE [DEPTH {1 | n | ALL}] [LINENUM {ON | OFF}] [INDENT {ON | OFF}]
SET ECHO {ON | OFF}
SET EDITF[ILE] file_name[.ext]
SET EMB[EDDED] {ON | OFF}
SET ESC[APE] {\ | c | ON | OFF}
SET FEED[BACK] {6 | n | ON | OFF}
SET FLAGGER {OFF | ENTRY | INTERMED[IATE] | FULL}
SET FLU[SH] {ON | OFF}
SET HEA[DING] {ON | OFF}
SET HEADS[EP] { | | c | ON | OFF}
SET INSTANCE [instance_path | LOCAL]
SET LIN[ESIZE] {80 | n} (default is 150 in iSQL*Plus)
SET LOBOF[FSET] {n | 1}
SET LOGSOURCE [pathname]
SET LONG {80 | n}
SET LONGC[HUNKSIZE] {80 | n}
SET MARK[UP] HTML [ON | OFF] [HEAD text] [BODY text] [TABLE text] [ENTMAP {ON | OFF}] [SPOOL {ON | OFF}] [PRE[FORMAT] {ON | OFF}]
SET NEWP[AGE] {1 | n | NONE}
SET NULL text
SET NUMF[ORMAT] format
SET NUM[WIDTH] {10 | n}
SET PAGES[IZE] {14 | n}
SET PAU[SE] {ON | OFF | text}
SET RECSEP {WR[APPED] | EA[CH] | OFF}
SET RECSEPCHAR { | c}
SET SERVEROUT[PUT] {ON | OFF} [SIZE n] [FOR[MAT] {WRA[PPED]| WOR[D_WRAPPED] | TRU[NCATED]}]
SET SHIFT[INOUT] {VIS[IBLE] | INV[ISIBLE]}
SET SHOW[MODE] {ON | OFF}
SET SQLBL[ANKLINES] {ON | OFF}
SET SQLC[ASE] {MIX[ED] | LO[WER] | UP[PER]}
SET SQLCO[NTINUE] {> | text}
SET SQLN[UMBER] {ON | OFF}
SET SQLPLUSCOMPAT[IBILITY] {x.y[.z]}
SET SQLPRE[FIX] {# | c}
SET SQLP[ROMPT] {SQL> | text}
SET SQLT[ERMINATOR] {; | c | ON | OFF}
SET SUF[FIX] {SQL | text}
SET TAB {ON | OFF}
SET TERM[OUT] {ON | OFF}
SET TI[ME] {ON | OFF}
SET TIMI[NG] {ON | OFF}
SET TRIM[OUT] {ON | OFF}
SET TRIMS[POOL] {ON | OFF}
SET UND[ERLINE] {- | c | ON | OFF}
SET VER[IFY] {ON | OFF}
SET WRA[P] {ON | OFF}

La commande "SHOW ALL" permet de lister les options en cours.

Plus de détails sur le site de Oracle

Aucun commentaire:

Enregistrer un commentaire