Cara..voce pode fazer dessa maneira:
Antes, deve ser configurada uma variáve de ambiente do ORACLE, que contem o caminho onde os arquivos a serem lidos vão estar, a variável se chama UTL_FILE_DIR, dentro do init.ora, exemplo:
UTL_FILE_DIR = /opt/txt
O código PL/SQL:
v_arquivo_in UTL_FILE.FILE_TYPE;
v_arquivo_in := UTL_FILE.FOPEN(v_dir_in, v_nome_arq_in,’r’);
IF UTL_FILE.IS_OPEN(v_arquivo_in) THEN
LOOP
BEGIN
'pega o conteudo de cada linha
UTL_FILE.GET_LINE(v_arquivo_in, v_buffer);
EXCEPTION
WHEN NO_DATA_FOUND THEN -- Fim de arquivo
EXIT;
END;
END LOOP;
UTL_FILE.FCLOSE_ALL;
END IF;
Se quiser saber mais, procure na internet sobre a biblioteca UTL_FILE