Configurar Base de Datos Oracle para utilizar paquete UTL´S

Configurar Base de Datos Oracle para utilizar paquete UTL´S

Para usar paquetes UTL de la base de datos Oracle se deberá de tener en cuenta que los paquetes utl’s necesitan permisos especiales, estos permisos se llama ACL (access control List) en caso de que no tenga definidos estos permisos se encontrara con el siguiente error.

Una de estas situaciones es cuando intentamos enviar correo desde la base de datos.

Para solucionar debemos de crear ACL en la base de datos, yo recomiendo conectarse como el usuario SYS pero también se puede ejecutar como usuario de tipo DBA

Como prueba podemos ejecutar el siguiente código simple de envio de correo, si no tenemos permisos nos dará error.

Error obtenido:

¿Cómo podemos crear la ACL y dar permisos al usuario para poder enviar correos?

Pues bien, lo podemos hacer de la siguiente forma, previamente nos conectamos con el usuario SYS y ejecutamos el siguiente Script para crear ACL.

Con esto hemos creado una lista acceso para envió de correo y hemos dado permisos al usuario ‘USUARIODBA’ para poder usarla.

Ahora hay que definir el servidor de correo y puerto utilizado sobre la lista que anteriormente hemos creado

Si quisiéramos añadir otro puerto, volveríamos a ejecutar el mismo código con otro puerto distinto

Si quisiéramos que otro usuario tuviera permisos para poder enviar correos, simplemente ejecutaríamos este código con el usuario al que queramos dar permisos.

En caso que queramos eliminar el acl ejecutamos este código.

En caso de que queramos ver qué permisos tenemos dados y qué listas hay creadas en nuestra base de datos, usaremos las siguientes consultas:

Conclusiones

Con esta pequeña configuración en nuestra base de datos podremos enviar correos mediante un procedimiento almacenado.

Deja un comentario

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.