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
Alex Zaballa, formado em Análise de Sistemas, é especialista em Banco de Dados Oracle com sólidos conhecimentos em Servidores de Aplicação e Sistemas Operacionais; trabalha com Oracle há 15 anos, é ORACLE ACE Director, certificado OCM Database 11G / Cloud e conta com mais de 140 outras certificações em produtos da Oracle. Alex também é um dos fundadores do Grupo de Usuários Oracle de Angola (GUOA), participa do Grupo de Usuários de Tecnologia Oracle Brasil (GUOB) e é membro do time OraWorld.