{{tag>Xenial programmation serveur sgbd BROUILLON}}
----
====== Oracle™ Database ======
Oracle est un système de gestion de base de données relationnel (SGBDR) fourni par Oracle Corporation.
Oracle Express Edition 11g R2 est la version allégée gratuite d'Oracle.
C'est vraiment facile de l'installer. Vous n'avez pas besoin de créer les utilisateurs d'Oracle, ou de modifier le fichier sysctr.conf. C'est déjà fait dans le paquet. Avec Oracle XE vous n'aurez droit qu'à une base de données (instance) et son **SID** //(Oracle System ID)// vaudra par défaut « XE ».
===== Pré-requis =====
Comme d'habitude, Oracle a besoin de beaucoup de ressources, avec un minimum pour le serveur de 512 Mio de mémoire vive et de 1024 Mio de Swap ainsi que de 1,5 Gio d'espace disque libre. Ces pré-requis sont vérifiés lors de l'installation du paquet.
* Disposer des [[:sudo|droits d'administration]].
* Disposer d'une connexion à Internet configurée et activée.
* On a besoin seulement d'une bibliothèque et d'un outil. [[:tutoriel:comment_installer_un_paquet|Installez les paquets]] suivants : **[[apt>libaio1|kernel aio access library]]** - et **[[apt>bc|The GNU bc arbitrary precision calculator language]]**.
===== Installation =====
====Par paquet====
Pour les architectures 32 bits vous pouvez télécharger le deb [[http://1drv.ms/1vMWia6|ici]] (uniquement la version 10). ([[http://meandmyubuntulinux.blogspot.com/2013/03/installing-oracle-xe-on-ubuntu-32-bit.html|sources]])
Si vous avez une architecture 64 bits, la version 11 est disponible [[http://www.oracle.com/technetwork/database/database-technologies/express-edition/downloads/index.html|ici]] il faut la convertir en deb avec [[alien]] avant de l'installer. ([[http://tuhrig.de/3-ways-of-installing-oracle-xe-11g-on-ubuntu/|sources]]).
==== Avec apt-get ====
Ajouter le dépôt de paquet suivant (ligne à ajouter dans le fichier /etc/apt/sources.list) :
deb http://oss.oracle.com/debian unstable main non-free
Si vous avez un problème de clé lors de "apt-get update", il faut télécharger et importer la clé du dépôt Oracle :
wget http://oss.oracle.com/el4/RPM-GPG-KEY-oracle -O- | sudo apt-key add -
Mettez à jour la liste des paquets des dépôts et [[:tutoriel:comment_installer_un_paquet|installez les trois paquets]] suivants :
* **oracle-xe** - Oracle Database 10g Express Western European Edition
* **oracle-xe-client** - Oracle Client 10g Express Edition
* **oracle-xe-universal** - Oracle Database 10g Express Universal Edition
Mise à jour des sources d'installation :
sudo apt-get update
Installation des paquets précédemment présentés :
sudo apt-get install oracle-xe
OU
sudo apt-get install oracle-xe-universal
ET
sudo apt-get install oracle-xe-client
=====Configuration=====
==== Swap insuffisant ====
Si lors de l'installation du paquet, un message du style :
> This system does not meet the minimum requirements for swap space
Lors de l'installation via Synaptic ou Adept un message d'erreur générique appairait, et non pas le message ci-avant.
Et qu'il vous est impossible de re-partitionner le swap, il est possible de créer un fichier de swap comme suit :
sudo dd if=/dev/zero of=/swapfile bs=1M count=100
Où « count » est le nombre de Mio à rajouter à votre swap existant pour arriver au 1006 Mio requis par Oracle XE.
Puis mise au format swap :
sudo mkswap /swapfile
Enfin activation :
sudo swapon /swapfile
Source : [[http://www.oracle.com/technology/tech/linux/install/xe-on-kubuntu.html|Oracle.com]]
=== insufficient diskspace ===
Si lors de l'installation du paquet, un message du style :
> You have insufficient diskspace in the destination directory (/usr/lib) to install
Oracle Database 10g Express Edition. The install requires at lease 1.5 GB
free on this disk
créer un lien symbolique dans le dossier d'installation /usr/lib dans un endroit ou il y'a de l'espace ex: /home/dossier_personnel
sudo ln -s /home/dossier_personnel/oracle oracle
==== Configuration ====
=== Paramétrage de l'installation ===
Pour la configuration, lancer ce script :
/etc/init.d/oracle-xe configure
Il vous demandera les mots de passes SYS et SYSTEM, les ports TCP de Oracle listener et de l'application serveur d'Oracle. Dans la plupart des cas, vous devez laisser libre les ports standards.
Maintenant pour créer users / schema / ... Vous avez une jolie interface http pour cela :
http://localhost:8080/apex/
Si vous installez la base de données Oracle sur une machine sans un serveur X, vous devez utiliser un port d'envoi SSH:
ssh -L 8080:localhost:8080 utilisateur@ADRESSE_IP_DE_VOTRE_SERVEUR
Toutes les modifications faites, il faut démarrer Oracle
/etc/init.d/oracle-xe start
=== Les variables d'environnement ORACLE_HOME et ORACLE_SID ===
Ce qui suit est facultatif mais pratique.
Les variables d'environnement ne sont pas définies par le package.
Si vous désirez utiliser les commande **imp** et **exp** ou éviter de taper le chemin complet de la commande **sqlplus** il faudra déclarer:
export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
export ORACLE_SID=XE
Vous pouvez renseigner les variables d'environnement ORACLE_HOME et ORACLE_SID dans le fichier ~/.bashrc de telle façon à pouvoir les valoriser à chaque fois que vous ouvrirez votre terminal.
Placez le code suivant à la fin du fichier ~/.bashrc :
export PATH=$PATH:/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin
ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
export ORACLE_HOME
export ORACLE_SID=XE
**Notes importantes :**
* Pas de slash à la fin du chemin absolu du dossier oracle ! Ceci vous évitera l'erreur :
> ERROR:
> ORA-01034: ORACLE not available
> ORA-27101: shared memory realm does not exist
> Linux Error: 2: No such file or directory
Exemple :
ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server (CORRECT)
ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/ (INCORRECT)
* le SID pour Oracle XE s'écrit en majuscule "ORACLE_SID=XE"
=== Les variables d'environnement "local" ===
Il est intéressant d'ajouter les variables d'environnement "local". Pour ce faire, [[:tutoriel:comment_modifier_un_fichier|ouvrez le fichier]] suivant :
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/oracle_env.sh
Nous allons modifier ou ajouter de la manière suivante :
ORACLE_SID=XE;
export ORACLE_SID
ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server;
export ORACLE_HOME
PATH=$ORACLE_HOME/bin:$PATH;
export PATH
NLS_LANG=AMERICAN_AMERICA.AL32UTF8;
export NLS_LANG
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH;
export LD_LIBRARY_PATH
===== Voir aussi =====
* (fr) [[https://www.system-linux.eu/index.php?post/2009/01/14/Installation-et-configuration-dOracle-sur-Ubuntu-et-Debian|Autre tutoriel complémentaire]]
* (en)[[http://www.makina-corpus.org/blog/howto-install-oracle-11g-ubuntu-linux-1204-precise-pangolin-64bits|Howto install Oracle 11g 64bits on Ubuntu 12.04 Pangolin]]
----
//Contributeurs principaux : [[utilisateurs:bud78]], [[utilisateurs:youp]], [[utilisateurs:fatahou]].//