08 janvier 2010

Oracle XE

J’utilise Oracle eXpress pour les développement. Dans l’esprit “une base par développeur”, cette édition allégée (faut le dire vite) d’Oracle est bien pratique. Le dialecte SQL propre à la base est ainsi testé en phase de développement.

Pour l’intégration continue, j’installe la base sur un système Ubuntu dans une VM, et c’est là que ça se complique … oracleXE n’étant dispo qu’en version 32 bits dans le dépot debian d’oss.Oracle.com

Voici donc pour info la procédure à suivre :

1- installer Ubuntu server 64 (sans blague ?)

2- ajouter le paquet open-ssh. La console VMWare est pas terrible, alors qu’un putty permet de faire des copier/coller à la souris ;) -- se loguer en ssh pour la suite

3- ajouter les paquet bc et libc6-i386

$ sudo apt-get install bc libc6-i386

4- créer un gros swap, nécessaire pour OracleXE

$ sudo dd if=/dev/zero of=/swpfs1 bs=1M count=1000
$ sudo mkswap /swpfs1
$ sudo swapon /swpfs1

5- télécharger les binaires d’oracleXE et de sa dépendance libaio en version i386

$wget -c http://oss.oracle.com/debian/dists/unstable/main/binary-i386/libaio_0.3.104-1_i386.deb http://oss.oracle.com/debian/dists/unstable/non-free/binary-i386/oracle-xe-universal_10.2.0.1-1.1_i386.deb

6- installer tout ça, en demandant à Ubuntu de ne pas tenir compte du conflit d’architecture 64/x86

$ sudo dpkg -i --force-architecture libaio_0.3.104-1_i386.deb
$ sudo dpkg -i --force-architecture oracle-xe-universal_10.2.0.1-1.1_i386.deb

7- configurer OracleXE. Je vous déconseille de changer la conf par défaut, chez moi le choix d’un port autre que 8080 fait que l’appli d’admin Oracle est injoignable. On changera ça après coup

$ sudo /etc/init.d/oracle-xe configure

8- un petit vi pour mettre à jour votre ~/.bashrc

ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_HOME
export ORACLE_SID=XE

9- on va maintenant changer la conf de l’appli d’admin d’OracleXE, sans quoi on ne peut pas y accéder – seul localhost est autorisé, et sur notre ubuntu server, y’a pas de navigateur puisque y’a pas d’environnement graphique ! sqlplus est dispo sous /usr/lib/oracle/…./server/bin

$ sqlplus /nolog

CONNECT SYS/password AS SYSDBA


EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);



EXEC DBMS_XDB.SETHTTPPORT(‘8081’);



 



et voilà ! :)