Comment installer Oracle 11gR2 sur Ubuntu 14.04?

Réponses:

72

Étape 1: Téléchargez Oracle Database Express Edition.

Étape 2: Instructions avant d'installer Oracle

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

  2. Décompressez à l'aide de la commande:

    unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip 
    
  3. Installez les packages requis à l'aide de la commande:

    sudo apt-get install alien libaio1 unixodbc
    
  4. Entrez dans le dossier Disk1 en utilisant la commande:

    cd Disk1/
    
  5. Convertissez le format du package RPM au format du package DEB (utilisé par Ubuntu) à l’aide de la commande suivante:

    sudo alien --scripts -d oracle-xe-11.2.0-1.0.x86_64.rpm
    
  6. Créez le script chkconfig requis à l'aide de la commande suivante:

    sudo pico /sbin/chkconfig
    

    L'éditeur de texte pico est lancé et les commandes sont affichées en bas de l'écran. Maintenant, copiez et collez 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 la permission du fichier chkconfig en utilisant la commande:

    sudo chmod 755 /sbin/chkconfig  
    
  8. Définissez 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 pico /etc/sysctl.d/60-oracle.conf
    
  9. Copiez le fichier suivant 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 le changement à l'aide de la commande:

    sudo cat /etc/sysctl.d/60-oracle.conf 
    
  11. Vous devriez voir ce que vous avez entré plus tôt. Maintenant, chargez les paramètres du noyau:

    sudo service procps start
    
  12. Vérifiez que les nouveaux paramètres sont chargés en utilisant:

    sudo sysctl -q fs.file-max
    

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

  13. Configurez le point de montage / dev / shm pour Oracle. Créez le fichier suivant à l'aide de la commande:

    sudo pico /etc/rc2.d/S01shm_load
    
  14. Copiez le texte suivant dans le fichier et enregistrez-le.

    #!/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 
    
  15. Changez les permissions du fichier en utilisant la commande:

    sudo chmod 755 /etc/rc2.d/S01shm_load
    
  16. Maintenant, exécutez les commandes suivantes:

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

    Maintenant, redémarrez votre système

Étape 3: Installez Oracle

  1. Installez le SGBD oracle à l’aide de la commande suivante:

    sudo dpkg --install oracle-xe_11.2.0-2_amd64.deb
    
  2. Configurez Oracle à l'aide de la commande:

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

    pico ~/.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 YOURUSERNAME au groupe dba à l’aide de la commande suivante:

    sudo usermod -a -G dba YOURUSERNAME
    

Étape 4: Utilisation de l'environnement de commande Oracle XE

  1. Démarrez le serveur Oracle XE 11gR2 à l’aide de la commande suivante:

    sudo service oracle-xe start
    
  2. Démarrez le shell de ligne de commande en tant qu'administrateur système à l'aide de la commande suivante:

    sqlplus sys as sysdba
    

    Entrez le mot de passe que vous avez donné lors de la configuration d'Oracle précédemment. Vous allez maintenant être placé dans un environnement SQL ne comprenant que les commandes SQL.

  3. Créez un compte utilisateur normal dans Oracle à l'aide de la commande SQL:

    create user USERNAME identified by PASSWORD;
    

    Remplacez USERNAME et PASSWORD par le nom d'utilisateur et le mot de passe de votre choix. S'il vous plaît rappelez-vous ce nom d'utilisateur et mot de passe. Si vous rencontrez une erreur lors de l’exécution de ce qui précède avec un message sur resetlogs, exécutez la commande SQL suivante et réessayez:

    alter database open resetlogs;
    
  4. Accordez des privilèges au compte d'utilisateur à l'aide de la commande SQL:

    grant connect, resource to USERNAME;
    

    Remplacez USERNAME et PASSWORD par le nom d'utilisateur et le mot de passe de votre choix. S'il vous plaît rappelez-vous ce nom d'utilisateur et mot de passe.

  5. Quittez le shell admin sys à l’aide de la commande SQL:

    exit;
    
  6. Démarrez le shell en ligne de commande en tant qu'utilisateur régulier à l'aide de la commande:

    sqlplus
    

    Maintenant, vous pouvez exécuter des commandes SQL ...

Saikat Kundu
la source
A l'étape 6, je reçoisStarting Oracle Net Listener...touch: cannot touch '/var/lock/subsys/listener': No such file or directory Done Configuring database... Database Configuration failed. Look into /u01/app/oracle/product/11.2.0/xe/config/log for details
Skynet
2
@ Skynet. J'ai eu la même erreur. Bien que je ne sois pas capable de comprendre ces commandes , j'ai essayé et capable de configurer Oracle XE ou Linux Mint.
Jeet
@ Skynet. Et aussi essayé ce lien . Contenu de la recherche Référence dans le commentaire suivant: pour que cela fonctionne, il fallait ajouter les lignes suivantes au début du fichier "/etc/init.d/oracle-xe"...entre les étapes 6 (i) et 6 (ii) si [-L / dev / shm]; puis rm-rf / dev / shm mkdir / dev / shm monte -t ​​tmpfs shmfs -o taille = 2048m / dev / shm fi si [! -d / var / lock / subsys]; alors mkdir / var / lock / subsys touch / var / lock / subsys / auditeur fi
Jeet
1
/etc/rc2.d/S01shm_loadsemble manquer, ;;indiquant la fin d'une alternative à la ligne 7.
user3523935
2
A dû utiliser sudo service procps restartau lieu desudo service procps start
ossbuntu
0

Merci pour le tutoriel détaillé mais j'obtiens une erreur

touch: cannot touch '/var/lock/subsys/listener' .. 

dans le pas sudo /etc/init.d/oracle-xe configure. Donc, comme suggéré sur http://meandmyubuntulinux.blogspot.in/2012/05/installing-oracle-11g-r2-express.html, j'ai ajouté les lignes suivantes dans/etc/init.d/oracle-xe

if [ -L /dev/shm ]; then
    rm -rf /dev/shm
    mkdir /dev/shm
    mount -t tmpfs shmfs -o size=2048m /dev/shm
fi

if [ ! -d /var/lock/subsys ]; then
 mkdir /var/lock/subsys
 touch /var/lock/subsys/listener
fi

... et ça marche bien pour moi

drichirich
la source
Vous obtenez l'erreur parce qu'il y a une erreur dans le script /etc/rc2.d/S01shm_loaddans la réponse de Saikat. Ce problème serait une solution plus propre. Je vais éditer la réponse avec le script correct.
Forage le
Oubliez ça, les réviseurs sont des idiots. Après que les première et deuxième tentatives de correction du script aient échoué, je renonce. Apparemment, il est plus important de voter sans réfléchir pour marquer des points que d'essayer de comprendre ce qui se fait.
Forage
0

Cela a bien fonctionné, mais j'ai eu l'erreur suivante:

sudo /etc/init.d/oracle-xe start
[....] Starting 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 regardant dedans:

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

Je l'ai résolu en ajoutant simplement un utilisateur:

sudo adduser oracle

J'espère que ça aide quelqu'un.

utilisateur2750563
la source