- Escrever no alertlog (DBMS_SYSTEM.KSDWRT)
- Alterar parâmetros de outra sessão (DBMS_SYSTEM.SET_INT_PARAM_IN_SESSION e DBMS_SYSTEM.SET_BOOL_PARAM_IN_SESSION)
- Habilitar e desabilitar SQL Traces (DBMS_SYSTEM.SET_EV)
- e também, permite capturarmos variáveis do Sistema Operacional (SO) para dentro do banco de dados, como veremos a seguir:
SQL> var VAR varchar2(255)
SQL> exec dbms_system.get_env('ORACLE_HOME',:VAR);
PL/SQL procedure successfully completed.
SQL> print :VAR
VAR
--------------------------------------------------------------------------------
/orabin/app/oracle/product/12.2.0.1/dbhome_1
Exportando uma variável de teste:
Banco=cdb1-> export TESTE="variavel de teste"
Banco=cdb1-> sqlplus / as sysdba
SQL*Plus: Release 12.2.0.1.0 Production on Mon Apr 3 03:47:54 2017
Copyright (c) 1982, 2016, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
SQL> var VAR varchar2(255)
SQL> exec dbms_system.get_env('TESTE',:VAR);
PL/SQL procedure successfully completed.
SQL> print :VAR
VAR
--------------------------------------------------------------------------------
variavel de teste
Exemplo criando uma function para retorno da variável:
SQL> create or replace function getvar (envvar varchar2) return varchar2 as
output varchar2(4000);
begin
dbms_system.get_env(envvar, output);
return output;
end;
/
Function created.
SQL> select getvar('ORACLE_HOME') from dual;
GETVAR('ORACLE_HOME')
--------------------------------------------------------------------------------
/orabin/app/oracle/product/12.2.0.1/dbhome_1
Exemplo criando uma procedure para retorno da variável:
SQL> create or replace procedure getvar2 (envvar varchar2) as
output varchar2(4000);
begin
dbms_system.get_env(envvar, output);
dbms_output.put_line(output);
end;
/
Procedure created.
SQL> set serveroutpu on
SQL> exec getvar2('TESTE');
variavel de teste
PL/SQL procedure successfully completed.
SQL> exec getvar2('ORACLE_HOME');
/orabin/app/oracle/product/12.2.0.1/dbhome_1
PL/SQL procedure successfully completed.


0 comentários:
Postar um comentário