MODIFICA SQLPROMPT CONTAINER E PLUGGABLE DATABASE

MODIFICA SQLPROMPT CONTAINER E PLUGGABLE DATABASE
  • 8
    Nov

MODIFICA SQLPROMPT CONTAINER E PLUGGABLE DATABASE

twittergoogle_pluslinkedin

Per impostare il nome dell’istanza sul prompt della macchina e contestualmente il nome utente e il nome
dell’istanza in sqlplus eseguiamo con le seguenti modifiche:

ENV PDB
– Modificare l’export dell’istanza nell’env del PDB inserendo il nome del pluggable database
export ISTANZA=RELAUP
– Cambiare nell’export della variabile PS1 ORACLE_SID con ISTANZA
export PS1='\u@${HOSTNAME}:${ISTANZA} # '
– Inserire l’export della variabile SQLPATH
export SQLPATH=/home/oracle12/cfg

ENV CDB
– Inserire l’unset del SQLPATH, perchè se rimene settata ci si connette al PDB perché esegue il file
login.sql all’interno della directory SQLPATH

unset SQLPATH
Di seguito gli env di GRELAUP e RELAUP:
oracle12@lradbpvm01:RELAUP # cat /home/oracle12/cfg/env_GRELAUP
export SERVIZIO=RELAUP
export ISTANZA=GRELAUP
#
export ORACLE_BASE=/oraradb/oraadm/admin/$ISTANZA
export ORACLE_HOME=/opt/oracle12/product/12.1.0
export ORACLE_SID=GRELAUP
export NLS_LANG=AMERICAN_AMERICA.US7ASCII
export NLS_DATE_FORMAT='dd-mon- yyyy hh24:mi:ss'
unset SQLPATH
#
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
#
# giorni di ritenzione delle export del DB
export IDB_DAY_EXP=+3
export PS1='\u@${HOSTNAME}:${ORACLE_SID} # '
# Settaggio necesssario per funzione _ifexist
TRATT=EM
SERVI=RELAUP
AMBIE=PROD
AREAA=DB
export TRATT SERVI AMBIE AREAA

oracle12@lradbpvm01:RELAUP # cat /home/oracle12/cfg/env_RELAUP
export SERVIZIO=RELAUP
export ISTANZA=RELAUP
#
export ORACLE_BASE=/oraradb/oraadm/admin/$ISTANZA
export ORACLE_HOME=/opt/oracle12/product/12.1.0

export ORACLE_SID=GRELAUP
export NLS_LANG=AMERICAN_AMERICA.US7ASCII
export NLS_DATE_FORMAT='dd-mon- yyyy hh24:mi:ss'
export SQLPATH=/home/oracle12/cfg/
#
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
#
# giorni di ritenzione delle export del DB
export IDB_DAY_EXP=+3
export PS1='\u@${HOSTNAME}:${ISTANZA} # '
# Settaggio necesssario per funzione _ifexist
TRATT=EM
SERVI=RELAUP
AMBIE=PROD
AREAA=DB
export TRATT SERVI AMBIE AREAA
A questo punto per impostare il nome dell’utente e l’istanza su cui siamo collegati in sqlplus, andiamo a
modificare il file $ORACLE_HOME/sqlplus/admin/glogin.sql cambiando i valori con_name e db_name (la
connessione diretta al PDB funziona solo come sysdba):

Prima
select upper(sys_context ('userenv', 'con_name') || '@' ||
sys_context('userenv', 'db_name')) global_name from dual;
Dopo
select upper(sys_context ('userenv', 'session_user') || '@' ||
sys_context('userenv', 'con_name')) global_name from dual;

Per accedere direttamente al PDB, attraverso il relativo env, andiamo a creare sotto la directory SQLPATH il
file login.sql:

oracle12@lradbpvm01:RELAUP # cat login.sql
set heading off
set termout off
alter session set container = RELAUP;
sho con_name
@/opt/oracle12/product/12.1.0/sqlplus/admin/glogin.sql

Fatti questi step, caricando l’env del PDB ed effettuando la connessione a sqlplus siamo connessi al PDB
come sysdba:

oracle12@lradbpvm01:RELAUP # . /home/oracle12/cfg/env_RELAUP
oracle12@lradbpvm01:RELAUP # sqlplus / as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on Wed May 10 17:12:09 2017
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 – 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Advanced Analytics

and Real Application Testing options
SYS@RELAUP> show con_name
CON_NAME
— — — — — — — — — — — — — — —
RELAUP
NB: Come indicato sopra questo procedimento funziona per la connessione diretta al PDB come sysdba,
l’accesso attraverso utenze applicative funziona solo tramite l’utilizzo del comando(alter session set
current_schema=user), o attraverso la connessione tramite service_name (sqlplus user/pwd@RELAUP)
.