[ 2017-08-10 ]

Oracle Cloud: EM13c, Unique Database Service Names on DBaaS

Introducción
A continuación vamos a exponer un “issue” con el cual nos encontramos durante el proceso de creación y configuración de una base de datos Oracle DBaaS con EM13c, y describir además la manera en que abordamos el problema para resolverlo.
Primero vamos a comentar que, cuando utilizamos “Oracle Enterprise Manager Self Service” para crear una base de datos en Oracle Cloud, se nos solicita introducirun valor “único” como nombre de servicio. En nuestro caso, realizamos repetidas pruebas durante las cuales fuimos corrigiendo errores y problemas aparecidos durante el proceso de aprovisionamiento(método de prueba y error), esto no obligó a eliminar las solicitudes fallidas luego de cada creación que resultó no satisfactoria.
En un primer momento pensamos que no existía validación alguna sobre el nombre del servicio utilizado, pero posteriormente recibimos un mensaje de error indicando que el nombre del servicio ingresado no era “único”(“non-unique service name”).
01

Desarrollo:
Veamos entonces el caso con más detalle. Como podemos ver en la imagen, estamos intentando ingresar "murtaza" como nombre de servicio,y un mensaje de error nos indica que ese nombre no está disponible.Nos surge la pregunta entonces, como puede ser esto posible si estamos seguros que hemos limpiado todas las peticiones fallidas anteriores? No debería existirningún servicio creado llamado de esa manera.
Para estar seguros de esto, verificamos todos los servicios existentes de base de datos. Efectivamente no hay ninguna página que muestre la evidencia del uso de este nombre de servicio. Ingresamos entonces a cada servicio de base de datos en particulary comprobamossu nombre para asegurarnos.
Solo tenemos 3 servicios de base de datos, por lo cual esta tarea no nos insume mucho tiempo.
02
La cadena de conexión (la cual compartiremos con el propietario de la solicitud) contiene también el nombre del servicio. No encontramos ningún serviciocuyo nombre sea “murtaza”, igual al que tratamos de utilizar nosotros. Esto nos hace pensarque entonces debe estar siendo utilizado por alguna de lassolicitudes fallidas. Como dijimos anteriormente, ya hemos borrado y eliminado todas las solicitudes con error, pero de alguna manera el nombre del servicio ha queda almacenado en el repositorio.
La buena noticia es que el “verb” "dbaas_artifacts" de EMCLI puede mostrar y eliminar estos nombres de servicio que pertenecen a solicitudes fallidas. Veamos cómo realizar esto:
03
El parámetro "list_reserved_artifacts" enumera los nombres reservados. Si hay un proceso de aprovisionamiento activo, también podemos ver su nombre aquí. Si queremos eliminar cualquier nombre de servicio reservado, debemos usar el parámetro "remove_reserved_artifact".
Parece ser, que en algunas ocasiones, la eliminación y limpieza de una solicitud fallida utilizando la interfaz web, no termina de eliminar definitivamente todas las huellas. Además, los nombres de servicio de las solicitudes "rejected" tampoco son borrados, incluso si la solicitud es eliminada desdela interfaz web.

No hay comentarios:

Publicar un comentario