Oi galera tudo bem?
Estava dando uma olhada e acredito que o problema neste tópico é o mesmo que eu passo, porém eu não consigo resolver.
Estava tentando criar uma procedure que fizesse um arquivo de log bem simples, segue o código abaixo:
Selecionar tudo
CREATE OR REPLACE PROCEDURE PROC_ARQUIVO_LOG
(vTABELA VARCHAR2, vUSUARIO VARCHAR2, vACAO VARCHAR2) IS
vFILE_SAIDA UTL_FILE.FILE_TYPE;
BEGIN
-- DEFININDO O LOCAL ONDE SERÁ ARMAZENADO O LOG E FORMA INCREMENTAL
vFILE_SAIDA := SYS.UTL_FILE.FOPEN ('C:\ORACLE', 'LOG.txt', 'A');
-- GRAVANDO A LINHA
UTL_FILE.PUT_LINE (vFILE_SAIDA, 'O USUÁRIO '||TO_CHAR(vUSUARIO)||' FEZ A SEGUINTE ACAO: '||TO_CHAR(vACAO)||' NA TABELA ') ;
-- ESVAZIANDO O BUFFER DE MEMORIA
UTL_FILE.FFLUSH(vFILE_SAIDA);
-- FECHANDO O ARQUIVO
UTL_FILE.FCLOSE;
END PROC_ARQUIVO_LOG;
/
e ela me apresentou os seguinte erro:
PLS-00201
fui verificar a minha variavel utl no ambiente e com o select abaixo:
o retorno foi nada, loguei com o usuário SYS e tentai dar o seguinte update neste view
Selecionar tudo
update v$parameter
set value ='C:\oraclexe\app\oracle\admin\utl'
where name = 'utl_file_dir';
porém o retorno foi o seguinte:
ORA-02030: só é possível selecionar a partir de tabelas/views fixas
Eu gostaria da ajuda de vocês para conseguir setar esse campo, se vocês souberem qual tabela devo acessar para fazer essa alteração será de grande ajuda.
Desde já agradeço