Para configurar la conexión una Autonomous Database dentro de una Instancia de Linux en OCI, lo primero que debemos hacer es descargarnos la wallet de nuestra ATP
Una vez descargada la información de la wallet, la subimos la wallet al Object Storage.
Una vez se encuentre la wallet en el Object Storage, creamos la solicitud Pre-Authenticated para descargarla en nuestro entorno
Copiamos la URL para poder descargarla en nuestro entorno de linux
[opc@~]$ mkdir walletATP
[opc@~]$ cd walletATP/
[opc@walletATP]$ wget -P /home/opc/walletATP/ <Pre-Authenticated Request URL>
Resolving objectstorage...
Connecting to .....
HTTP request sent, awaiting response... 200 OK
Length: 21977 (21K) [application/x-zip-compressed]
Saving to: ‘/home/opc/walletATP/Wallet_XXXX.zip’
100%[==============================================================================================================================================================================================>] 21,977 --.-K/s in 0s
2024-02-01 12:05:08 (212 MB/s) - ‘/home/opc/walletATP/Wallet_XXXX.zip’ saved [21977/21977]
[opc@walletATP]$
Una vez descargado la wallet, debemos realizar unzip y editar el archivo sqlnet.ora para especificar donde se encuentra nuestra wallet
[opc@walletATP]$ unzip Wallet_XXXXX.zip
Archive: Wallet_OF2BCE.zip
inflating: ewallet.pem
inflating: README
inflating: cwallet.sso
inflating: tnsnames.ora
inflating: truststore.jks
inflating: ojdbc.properties
inflating: sqlnet.ora
inflating: ewallet.p12
inflating: keystore.jks
[opc@walletATP]$ vi sqlnet.ora
[opc@walletATP]$ more sqlnet.ora
WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="/home/opc/walletATP")))
SSL_SERVER_DN_MATCH=no
[opc@walletATP]$
Bien, ya queda menos. Ahora descargarnos los binarios de Oracle desde el repositorio de Oracle Linux 7.
En este caso no hace falta subirlo al Object Storage, con que obtengamos la url de descarga del repositorio es suficiente, aunque si queremos subirlo al Object Storage, se podría hacer, repitiendo los pasos anteriores.
[opc@~]$ mkdir oracle
[opc@~]$ wget -P /home/opc/oracle/ https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient19.9-sqlplus-19.9.0.0.0-1.x86_64.rpm
[opc@~]$ wget -P /home/opc/oracle/ https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient19.9-basic-19.9.0.0.0-1.x86_64.rpm
--2024-02-08 12:34:09-- https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient19.9-basic-19.9.0.0.0-1.x86_64.rpm
[opc@~]$ sudo rpm -ivh --nodeps oracle-instantclient19.9-sqlplus-19.9.0.0.0-1.x86_64.rpm
[opc@~]$ sudo rpm -ivh oracle-instantclient19.9-basic-19.9.0.0.0-1.x86_64.rpm
[opc@~]$ export LD_LIBRARY_PATH=/usr/lib/oracle/19.9/client64/lib/
[opc@~]$ echo $LD_LIBRARY_PATH
[opc@~]$ sqlplus64 -version
Modificamos el archivo .bashrc para incluir la variable TNS_ADMIN junto con la especificación del alias para sqlplus.
[opc@ ~]$ cat .bashrc
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# Uncomment the following line if you don't like systemctl's auto-paging feature:
# export SYSTEMD_PAGER=
# User specific aliases and functions
export TNS_ADMIN=/home/opc/wallet
alias sqlplus=sqlplus64
Una vez configurado la wallet, los binarios y el .bashrc, probamos la conexión a la ATP
[opc@ ~]$ sqlplus /nolog
SQL*Plus: Release 19.0.0.0.0 - Production on Thu Feb 8 15:33:05 2024
Version 19.9.0.0.0
Copyright (c) 1982, 2020, Oracle. All rights reserved.
SQL> conn admin/XXXXX@XXXXX_tp
Conectado.
SQL>
SQL> Select * From Dual;
D
-
X
SQL> exit
Perfecto, ya podemos conectarnos a nuestra ATP. Espero que os sirva.