Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como testar as permissões do sistema de arquivos de leitura/gravação do diretório Oracle?


Você pode usar o UTL_FILE pacote. Por exemplo, isso verificará se você pode criar um novo arquivo chamado some_new_file_name.txt no diretório e gravar dados nele
DECLARE
  l_file utl_file.file_type;
BEGIN
  l_file := utl_file.fopen( 'EXT_DATA_FILES', 'some_new_file_name.txt', 'W' );
  utl_file.put_line( l_file, 'Here is some text' );
  utl_file.fclose( l_file );
END;

Isso verificará se um arquivo chamado existing_file_name.txt existe e é legível
DECLARE
  l_exists     boolean;
  l_size       integer;
  l_block_size integer;
BEGIN
  utl_file.fgetattr( 'EXT_DATA_FILES', 
                     'existing_file_name.txt', 
                     l_exists, 
                     l_size, 
                     l_block_size );
   if( l_exists )
   then
     dbms_output.put_line( 'The file exists and has a size of ' || l_size );
   else
     dbms_output.put_line( 'The file does not exist or is not visible to Oracle' );
   end if;
END;