Toon gebruikersnaam, servernaam en database in de prompt van Oracle SQLPlus

8 jan

Indien je op een Oracle database inlogt met SQLPlus dan krijg je na inloggen de SQL> prompt te zien. Indien je vaak verbinding maakt met verschillende servers en databases is het handig om in de sqlprompt te kunnen zien als welke gebruiker je op welke database op welke server bent ingelogd. De prompt zou er dan zo uit zien: user@server/db SQL> In deze post staat omschreven hoe je dat kunt doen.

Om het tonen van een andere prompt te realiseren kun je gebruik maken van het feit dat het bestand login.sql automatisch wordt uitgevoerd na het inloggen in SQLPlus. Onderstaande code kun je in het bestand plaatsen:

REM Rob Cilissen, 20080108
REM login.sql
REM show username, servername and globalname at the prompt
define display = 'no connection'
column global_name new_value display
set termout off
select lower(user) || '@' ||i.host_name||'/'||d.name global_name
from v$database d
, v$instance i;
set termout on
set sqlprompt '&&display SQL> '

Sla het bestand op in de map vanwaar je sqlplus start. Na inloggen zal in de prompt de username, servername en databasename getoond worden. Voor zover ik weet werkt dit bij alle actuele Oracle versies. Zie hieronder het resultaat:

No comments yet

Leave a Reply