Dans le cadre des cours donnés par l’ISEP, je suis amené cette année à travailler sur les bases de données. Celle que nous utiliserons dans le cadre de nos cours n’est autre qu’Oracle. Et si une base nous est accessible sur le réseau de l’école, il est bien plus pratique de pouvoir emmener la sienne partout. C’est pourquoi nous avons décidé d’installer la base sur nos ordinateurs. Et si la procédure est aisée sur Windows et Linux, il faudra être un peu plus astucieux pour le faire sur un mac.
Pré-requis
Pour installer Oracle sur notre mac, nous utiliserons Docker ainsi que Virtualbox. L’avantage de cette installation sera de fournir un environnement dédié à notre base, et de pouvoir s’en séparer facilement si nous voulons la désinstaller un jour.
Pour commencer nous devons donc télécharger :
- Virtualbox, qui nous permettra de créer des machines virtuelles (optionnel)
- Docker, pour créer des conteneurs
- SQLdevelopper , pour administrer notre base (un compte Oracle vous sera demandé)
En avant pour Oracle
Après avoir installé ces trois logiciels, il suffit d’ouvrir un terminal et de vérifier que Docker est bien installé via la commande
docker version
Si tout se passe bien, il est temps de créer notre machine virtuelle, j’ai choisi ici de l’appeler « dev » mais sentez vous libre de changer cette appellation. Nous créerons la machine virtuelle via Docker en utilisant un driver virtualbox. Cette opération est en faite nécessaire car nous avons besoin d’une machine Linux pour faire tourner notre base. Lancez donc la commande suivante
docker-machine create --driver virtualbox dev eval $(
docker-machine env dev
)
Cela devrait prendre quelques instants. En ouvrant l’interface virtualbox on pourra voir la machine apparaitre, cela ne nous sert pas pour la suite mais rendra concrète à vos yeux l’interconnexion de Docker avec Virtualbox.
Pour effectuer notre installation sans vm et sans virtualbox, il suffit de retirer le –driver virtualbox de la commande, ce qui donne
docker-machine create dev eval $(
docker-machine env dev
)
La seconde commande elle configure votre terminal en cours pour travailler avec votre machine en exportant les variables nécessaires.
Maintenant récupérons notre image et instancions le container
docker pull wnameless/oracle-xe-11g
docker run -d -p 49160:22 -p 49161:1521 --name oracle wnameless/oracle-xe-11g
docker run sert à instancier le container, concrètement ici, notre base. L’argument -d permet de détacher le container pour qu’il tourne en tâche de fond et de n’en récupérer que l’id, et -p d’exposer certains ports, ceux de notre base dans notre cas.
Voilà, tout est fin prêt. Il est maintenant temps de nous connecter à notre base, pour cela, nous commençons par récupérer l’adresse ip de notre machine. Cette information apparaît notamment lorsque l’on lance la commande suivante :
docker-machine ls
Elle est de la forme « tcp://111.111.111.111:4444 », l’ip que nous utiliserions par la suite ici serait donc 111.111.111.111.
Dans SQLdevelopper maintenant, en haut a gauche de la fenêtre se trouve un plus vert. En cliquant dessus nous allons pouvoir enregistrer les informations de connexion à notre base :
Nom de connexion : Ce que vous voulez, pour moi DockerMac Nom d'utilisateur : system Mot de passe : oracle Nom d'hôte : <ip de la machine> //peut venir a changer lors d'une prochaine mise en route de la vm Port : 49161 SID : xe
Enregistrez, cliquez sur connexion, et vous voilà fin prêts à utiliser votre base 🙂
Et pour éteindre tout ça ?
docker stop oracle
docker-machine stop dev
Pour rallumer :
docker-machine start dev eval $(
docker-machine env dev docker start oracle