OCI : Utiliser le Cloud Shell pour vous connecter à votre Autonomous Database (avec SQLcl)

Introduction

Depuis février 2020, sur Oracle Cloud Infrastructure (OCI), il existe une fonctionnalité appelée Cloud Shell qui offre, depuis la console OCI, un terminal, complètement serverless, permettant un accès aux ressources de votre tenant.

Oracle Cloud Shell dispose de plusieurs fonctionnalités intéressantes :

  • Un client OCI CLI pré-authentifié.
  • Une installation Ansible pré-authentifiée.
  • Des outils comme Java, Python, SQL Plus, Terraform, kubectl, Maven…

De plus, le Cloud Shell tourne sur une petite machine virtuelle disposant de 5 Go de stockage persistant. Ceci permet donc de pouvoir installer d’autres outils.

Je vous propose donc, dans cet article, d’installer l’outil SQLcl (SQL Developer Command Line) sur le Cloud Shell et de voir comment le configurer pour accéder à une Autonomous Database.

 

Cloud Shell : Installation de SQLcl

Commençons par installer l’outil SQlcl dans notre Cloud Shell.

La première action à effectuer est de télécharger l’outil SQLcl depuis le site internet d’Oracle.

    • Sauvegarder le fichier sqlcl-21.1.1.113.1704.zip sur votre poste de travail
    • Transférer ensuite le fichier vers le Cloud Oracle (dans un bucket sur l’Object Storage par exemple) où il pourra être téléchargé depuis le Cloud Shell.

    • Ouvrir votre session Cloud Shell

    • Télécharger le fichier zip avec l’aide de la commande oci ci-dessous (bucket01 étant le nom de mon bucket). Profitez-en pour renommer le fichier zip en sqlcl.zip :
oci os object get -bn bucket01 --name sqlcl-21.1.1.113.1704.zip --file sqlcl.zip

    • Dézipper le fichier sqlcl.zip :
unzip sqlcl.zip
    • Positionner la variable JAVA_HOME sur votre session. SQLcl a besoin du runtime JAVA pour s’exécuter, il faut positionner un JAVA_HOME :
export JAVA_HOME=/usr/lib/jvm/jre
    • Pour simplifier l’exécution de SQLcl, créer l’alias ci-dessous :
alias sql="${HOME}/sqlcl/bin/sql"
    • Lancer ensuite l’exécution de SQLcl :
sql /nolog

 

Cloud Shell : Connexion à une Autonomous Database avec SQLcl

    • Dans la console OCI, naviguez dans Autonomous Database > Autonomous Database Details > Service Console > Administration > Download Client Credentials (Wallet) et télécharger le Wallet de votre Autonomous Database :

    • Transférer ensuite le wallet vers le Cloud Oracle (dans un bucket sur l’Object Storage par exemple) où il pourra être téléchargé depuis le Cloud Shell :

    • Télécharger le wallet avec l’aide de la commande oci ci-dessous (bucket01 étant le nom de mon bucket). là aussi, profitez en pour renommer le fichier en wallet.zip :
oci os object get -bn bucket01 --name wallet_ADWCUSG.zip --file wallet.zip

    • Dézipper le fichier wallet.zip dans un nouveau répertoire appelé wallet :
unzip wallet.zip -d wallet

    • Dans le répertoire wallet, éditer le fichier ./wallet/sqlnet.ora et modifier l’emplacement du directory pour qu’il corresponde au chemin complet du répertoire : (/home/user/wallet) :

    • Pour finir, tester la connexion à votre Autonomous Database :
sql admin@adwcusg_medium