Oracle

UTL_FILE en Oracle XE

Después de comprobar la correcta instalación de la base de datos en mi maquina empiezo a probar que tal funciona y todo perfecto, consume pocos recursos, la respuesta es excelente, en fin, todo OK.

Ahora empiezo a intentar probar algunas cargas de archivos planos a la base de datos así como a instalar el repositorio de Oracle Designer y sorpresa, con el usuario que cree para estos fines no tengo acceso al paquete “UTL_FILE” (un paquete incluido en la base de datos para el manejo de archivos, escritura, lectura, etc. con PL/SQL)

Buscándole un poquito y accesando a la base de datos como “sys” me doy cuenta que si existe, también existe el sinónimo publico pero no existe el privilegio de ejecución al publico, que raro, algún error de Oracle en la instalación o algo así.

Solución:

Entrar a la base de datos con SQL*PLUS con el usuario “sys” como “sysdba”

1
SQL> Conn sys@xe AS sysdba;

Ejecutar el siguiente comando que otorga privilegios de ejecución sobre el paquete “UTL_FILE”

1
SQL> Grant EXECUTE ON UTL_FILE TO PUBLIC;

listo, problema resuelto, ahora lo puedo usar sin mayor problema y la instalación de mi repositorio de Oracle Designer es correcta.

5 thoughts on “UTL_FILE en Oracle XE

  1. pues no tan de acuerdo, considerando que a utl_file le necesitas crear al menos un DIRECTORY (checate informacion sobre create directory) y a este le das permisos de escritura y lectura, no tendrias problemas de seguridad, no recuerdo que a utl_file le pudieras ingresar cualquier directorio directamente de tu sistema operativo y funcione

  2. Bueno, vale, eso de dar permisos a PUBLIC sobre este paquete es un aguejero de seguridad IMPORTANTE. No es mejor darle permiso a quien lo necesite?? Eso de abrir la puerta y que pase quien sea no es mi idea de una buena administracion, mejor que llame quien lo necesite, no??

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *