45 votes

Comment installer Oracle 11gR2 sur Ubuntu 14.04 ?

Veuillez me fournir les instructions pour installer Oracle 11gr2 sur Ubuntu 14.04.

78voto

Saikat Kundu Points 971

1. Téléchargez Oracle Database Express Edition.

2. Instructions avant d'installer la base de données Oracle

  1. Copiez le fichier téléchargé et collez-le dans le répertoire principal.

  2. Décompressez en utilisant le fichier .zip téléchargé :

     unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip 
  3. Installez les packages nécessaires :

     sudo apt-get install alien libaio1 unixodbc # toujours valable en 22.04
  4. Changez de répertoire vers le répertoire Disk1 :

     cd Disk1/
  5. Convertissez le format de package .rpm en format de package .deb (utilisé par Ubuntu) :

     sudo alien --scripts -d oracle-xe-11.2.0-1.0.x86_64.rpm
  6. Créez le script  requis :

     sudo nano /sbin/chkconfig

    L'éditeur de texte nano est démarré et les commandes sont affichées en bas de l'écran. Copiez et collez maintenant ce qui suit dans le fichier et enregistrez :

     #!/bin/bash
     # Oracle 11gR2 XE installer chkconfig hack for Ubuntu
     file=/etc/init.d/oracle-xe
     if [[ ! `tail -n1 $file | grep INIT` ]]; then
         echo >> $file
         echo '### BEGIN INIT INFO' >> $file
         echo '# Provides: OracleXE' >> $file
         echo '# Required-Start: $remote_fs $syslog' >> $file
         echo '# Required-Stop: $remote_fs $syslog' >> $file
         echo '# Default-Start: 2 3 4 5' >> $file
         echo '# Default-Stop: 0 1 6' >> $file
         echo '# Short-Description: Oracle 11g Express Edition' >> $file
         echo '### END INIT INFO' >> $file
     fi
     update-rc.d oracle-xe defaults 80 01
  7. Changez les permissions du fichier chkconfig :

     sudo chmod 755 /sbin/chkconfig  
  8. Configurez les paramètres du noyau. Oracle 11gR2 XE nécessite des paramètres de noyau supplémentaires que vous devez définir à l'aide de la commande :

     sudo nano /etc/sysctl.d/60-oracle.conf
  9. Copiez ce qui suit dans le fichier et enregistrez :

     # Oracle 11g XE kernel parameters 
     fs.file-max=6815744  
     net.ipv4.ip_local_port_range=9000 65000  
     kernel.sem=250 32000 100 128 
     kernel.shmmax=536870912 
  10. Vérifiez les modifications :

    sudo cat /etc/sysctl.d/60-oracle.conf 
  11. Vous devriez voir ce que vous avez saisi précédemment. Maintenant, chargez les paramètres du noyau :

    sudo service procps start # Si cela ne fonctionne pas, essayez sudo systemctl start procps 
  12. Vérifiez que les nouveaux paramètres sont chargés :

    sudo sysctl -q fs.file-max

Vous devriez voir la valeur file-max que vous avez saisie précédemment.

  1. Configurez le point de montage /dev/shm pour Oracle. Créez le fichier suivant :

    sudo nano /etc/rc2.d/S01shm_load
  2. Collez ce qui suit dans le fichier et enregistrez.

    #!/bin/sh
    case "$1" in
    start)
        mkdir /var/lock/subsys 2>/dev/null
        touch /var/lock/subsys/listener
        rm /dev/shm 2>/dev/null
        mkdir /dev/shm 2>/dev/null
    *)
        echo error
        exit 1
        ;;
    
    esac 
  3. Changez les permissions du fichier :

    sudo chmod 755 /etc/rc2.d/S01shm_load
  4. Exécutez les commandes suivantes :

    sudo ln -s /usr/bin/awk /bin/awk 
    sudo mkdir /var/lock/subsys 
    sudo touch /var/lock/subsys/listener
    sudo reboot

3. Installez la base de données Oracle

  1. Installez Oracle DBMS :

    sudo dpkg --install oracle-xe_11.2.0-2_amd64.deb
  2. Configurez Oracle :

    sudo /etc/init.d/oracle-xe configure 
  3. Configurez les variables d'environnement en éditant votre fichier .bashrc :

    nano ~/.bashrc
  4. Ajoutez les lignes suivantes à la fin du fichier :

     export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
     export ORACLE_SID=XE
     export NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`
     export ORACLE_BASE=/u01/app/oracle
     export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
     export PATH=$ORACLE_HOME/bin:$PATH
  5. Chargez les modifications en exécutant votre profil :

    . ~/.bashrc
  6. Démarrez Oracle 11gR2 XE :

     sudo service oracle-xe start
  7. Ajoutez l'utilisateur VOTRENOMUTILISATEUR au groupe dba en utilisant la commande :

    sudo usermod -a -G dba VOTRENOMUTILISATEUR

4. Utilisation de l'interface en ligne de commande d'Oracle XE

  1. Démarrez le serveur Oracle XE 11gR2 :

    sudo service oracle-xe start
  2. Démarrez l'interface en ligne de commande en tant qu'administrateur système :

    sqlplus sys as sysdba

    Entrez le mot de passe que vous avez donné lors de la configuration d'Oracle précédemment. Vous serez maintenant placé dans un environnement SQL qui comprend uniquement des commandes SQL.

  3. Créez un compte utilisateur régulier dans Oracle en utilisant la commande SQL :

    create user NOMUTILISATEUR identified by MOTDEPASSE;

    Remplacez NOMUTILISATEUR et MOTDEPASSE par le nom d'utilisateur et le mot de passe de votre choix. Veuillez vous souvenir de ce nom d'utilisateur et de ce mot de passe. Si vous avez une erreur en exécutant ce qui précède avec un message sur resetlogs, exécutez alors la commande SQL suivante et réessayez :

    alter database open resetlogs;
  4. Accordez des privilèges au compte utilisateur en utilisant la commande SQL :

    grant connect, resource to NOMUTILISATEUR;

    Remplacez NOMUTILISATEUR et MOTDEPASSE par le nom d'utilisateur et le mot de passe de votre choix. Veuillez vous souvenir de ce nom d'utilisateur et de ce mot de passe.

  5. Quittez l'interface d'administration système en utilisant la commande SQL :

    exit;
  6. Démarrez l'interface en ligne de commande en tant qu'utilisateur régulier en utilisant la commande :

    sqlplus

Vous pouvez maintenant exécuter des commandes SQL.

1voto

MPH Points 16

Cela a bien fonctionné, cependant j'ai rencontré l'erreur suivante :

sudo /etc/init.d/oracle-xe start
[....] Démarrage de oracle-xe (via systemctl) : oracle-xe.serviceJob for oracle-xe.service failed because the control process exited with error code. See "systemctl status oracle-xe.service" and "journalctl -xe" for details.
 failed!

En examinant cela :

systemctl status oracle-xe.service
Jan 27 10:01:05  su[29699]: No passwd entry for user 'oracle'

J'ai résolu le problème en ajoutant simplement un utilisateur :

sudo adduser oracle

En espérant que cela aide quelqu'un.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X