GPO ( Grupo de Profissionais Oracle )
A maior comunidade Oracle do Brasil !

Lendo variáveis do SO através do PL/SQL

Caso você tenha acesso a um servidor de banco de dados Oracle, mas não tenha acesso ao sistema operacional e deseja obter os valores das variáveis de ambiente, como por exemplo o ORACLE_HOME, ORACLE_SID, ou qualquer outra variável de ambiente do sistema operacional; você pode utilizar a procedure GET_ENV da packageDBMS_SYSTEM, que está disponível desde a versão 10g.

A package DBMS_SYSTEM não é documentada e nem suportada, ela é utilizada internamente para fins de debug e monitoramento de eventos, então você deve estar ciente que irá utilizar por sua conta e risco.

[oracle@oracle01 ~]$ sqlplus / as sysdba

SQL*Plus: Release 12.1.0.2.0 Production on Fri Dec 19 10:23:35 2014
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

SQL> set serveroutput on
SQL> DECLARE
   v_aux   VARCHAR2 (255);
   v_aux2 VARCHAR2 (255);
   v_aux3 VARCHAR2 (255);
 BEGIN
   DBMS_SYSTEM.GET_ENV ('ORACLE_BASE', v_aux);
   DBMS_SYSTEM.GET_ENV ('ORACLE_HOME', v_aux2);
   DBMS_SYSTEM.GET_ENV ('ORACLE_SID', v_aux3 );
   DBMS_OUTPUT.PUT_LINE (v_aux);
   DBMS_OUTPUT.PUT_LINE (v_aux2);
   DBMS_OUTPUT.PUT_LINE (v_aux3);
 END;
/

/u01/app/oracle
/u01/app/oracle/product/12.1.0/dbhome_2

orcl

PL/SQL procedure successfully completed.

Referências

http://psoug.org/reference/dbms_system.html

 

Abraço

 

Share

You may also like...

Deixe um comentário

O seu endereço de e-mail não será publicado.