Cómo conectarse a un Autonomous Database en Oracle Cloud

Recursos
Requisitos
Tener una cuenta activa de Oracle Cloud Infrastructure (OCI)
Tener instalado algunos de los gestores de Base de Datos, ya sea SQL Developer o PL/SQL
Nociones básicas sobre el uso de TNS
Introducción
Aquí les traigo algunas maneras de conectarse a su Base de Datos Autónoma (ADB por sus siglas en Inglés) a través de tu gestor de base de datos de tu preferencia.
Descargando la Wallet
Como primer paso debemos descargar los wallets asociados a nuestra base de datos, para ello nos dirigimos a nuestra BD e ingresamos a los detalles.

Dentro, encontraremos un botón de nombre Database connection, lo presionamos y tendremos las siguientes opciones en donde presionaremos Download wallet.

Debajo tambien encontraremos los TNS names según el tipo de conexión que necesitemos.

Al presionarlo nos solicitará una contraseña para la wallet a ser utilizada en caso de de que algún cliente requiera de la misma.

Conexión a través de SQL Developer
Una vez descargada la Wallet nos dirigimos a nuestro gestor de Base de Datos, en este caso utilizaré SQL Developer para agregar una nueva conexión a Base de datos.
En usuario y contraseña agregamos el usuario ADMIN configurado al momento de crear la BD en el OCI, en tipo de conexión seleccionamos Wallet o Cartera Cloud y especificamos la ubicación de la wallet, por último seleccionamos el tipo de servicio y le damos a probar, si todo esta correcto simplemente damos a conectar y listo.

Conexión a través de PL/SQL
Para el caso de PL/SQL se deben realizar algunas configuraciones, para ello verificamos que la wallet descargada contenga al menos los siguientes archivos: tnsnames.ora y los archivos de seguridad cwallet.sso, ewallet.p12 y ewallet.pem.

Como primer paso agregamos los datos del tnsname de la wallet al archivo tnsname del cual se nutre nuestro PL/SQL.

El segundo paso sería crear una carpeta dentro del directorio del tns y agregar los archivos de seguridad.

Luego modificamos nuevamente nuestro archivo tnsname para indicar donde se encuentran los certificados de seguridad de la wallet para dicha conexión.

Por último modificamos nuestro archivo
sqlnet.oray dejamos solo lo siguiente, ya que aquí generalmente se encuentra la configuración para el Wallet Directory.
Ahora abrimos nuestro PL/SQL (reiniciarlo en caso de que ya lo tengas abierto) e intentamos conectarnos a la BD usando el usuario ADMIN.

Esta configuración es bastante útil para cuando debemos trabajar con varias bases de datos autónomas, de este modo solamente debemos crear una carpeta en nuestro directorio que contenga los archivos de seguridad correspondientes para cada base de datos y referenciarlos en nuestro archivo tnsname.
Obs: realizado este paso ya no es necesario configurar el WALLET_LOCATION en el archivo sqlnet, ya que estamos especificando el directorio en el tnsname según la conexión que la requiera.
Posibles Errores en PL/SQL
ORA-12529: TNS: Solicitud de conexión rechazada según las reglas de filtro actuales
Esto nos indica que la Wallet que intentamos utilizar ha quedado obsoleta, esto puede deberse a que el administrador de la instancia ha decidido regenerarla, o se haya realizado alguna configuración pre-establecida para su caducidad.
La solución simplemente sería volver a descargar la Wallet desde nuestra instancia cloud.

ORA-29106: Cannot import PKCS #12 wallet
Este error se debe a que el PL/SQL esta utilizando un Cliente no compatible con la base de datos de nuestro entorno Cloud, esto debido a que el PL/SQL toma por defecto el Oracle Instant Client proveniente de una base de datos instalada localmente (en caso de que tengamos una) lo que no siempre es compatible con otras versiones.
Para solucionar este error debemos Descargar el Oracle Instant Client compatible con nuestra base de datos.

ORA-12506: TNS: El listener ha rechazado la conexión según el filtrado de ACL de servicios
Esto nos indica que la configuración de Red de nuestra base de datos tiene activa el Access Control List (ACL) por ende debemos solicitar a nuestro administrador de instancia que agregue la IP del equipo desde el cuál intentamos conectarnos.

Conclusión
De esta manera podemos utilizar 2 de los gestores de base de datos más utilizados para conectarnos a nuestra base de datos autónoma en Oracle Cloud.
Bonus: Realizada esta configuración también es posible conectarse desde el SQLDeveloper a través de la conexión TNS.
Si encuentras algún otro error no dudes en contactarme y vemos las posibles soluciones al problema.
No olvides seguirme en las redes sociales para enterarte de nuevos post.
Saludos y sigamos aprendiendo!!





