Installation d’Oracle 11gR2 sur Centos 5

Il est possible d’installer une base Oracle 11g a des fins de test.
L’OTN Developer License Terms spécifie :

We grant you a nonexclusive, nontransferable limited license to use the programs only for the purpose of developing, testing, prototyping and demonstrating your application.

Il faut donc télécharger les deux fichiers LinuxX86 présents sur la page des téléchargements et les décompresser dans le répertoire /tmp

Préparation du système d’exploitation :

Le système (CentOS 5) doit être à jour.

Nous allons suivre les recommandations d’oracle concernant le nommage des répertoires d’installation.
Nous allons donc modifier le fichier /etc/profile et y ajouter :

export ORACLE_BASE="/opt/oracle"
export ORACLE_HOME="$ORACLE_BASE/product/11.2.0/db_1"
export ORACLE_HOSTNAME="mamachine.be-root.com"
export ORACLE_SID="beroot"

Nous pouvons ensuite faire un source /etc/profile afin d’avoir les variables positionnées précédemment actives sous la session courante.
Nous allons ensuite installer les dépendances ;

yum install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers libaio libaio-devel libgomp libstdc++ libstdc++-devel make numactl sysstat unixODBC-devel pdksh

Il faut maintenant créer l’utilisateur « oracle » ainsi que les groupes rattachés :

/usr/sbin/groupadd oinstall
/usr/sbin/groupadd dba
/usr/sbin/groupadd asmadmin
/usr/sbin/groupadd asmdba
/usr/sbin/useradd -g oinstall -G dba,asmdba,asmadmin oracle

Et positionner un mot de passe pour l’utilisateur oracle :

passwd oracle

Modifions ensuite le fichier /etc/security/limits.conf :

oracle              soft    nproc   2047
oracle              hard    nproc   16384
oracle              soft    nofile  1024
oracle              hard    nofile  65536
oracle              soft    stack   10240

Ces limites sont fixées dans la documentation officielle d’oracle :

Nous allons ensuite créer la structure des répertoires :

mkdir -p $ORACLE_BASE/oradata
mkdir -p  $ORACLE_BASE/recovery_area
chown -R oracle:oinstall $ORACLE_BASE
chmod -R 775 $ORACLE_BASE
mkdir -p /opt/oraInventory
chmod 775 /opt/oraInventory
chown oracle:oinstall  /opt/oraInventory

La documentation officielle d’oracle donne les paramètres du noyau à modifier ainsi que le fichier concerné :

Ainsi, pour vérifier le paramètre shmmni, il suffit de faire un cat /proc/sys/kernel/shmmni

Pour fixer les valeurs , nous allons modifier le fichier /etc/sysctl.conf :

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 2123476992
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586

On applique les valeur à l’aide d’un petit sysctl -p

Pour lancer l’installation, il faut un environnement graphique correctement configuré. Soit on se loggue sous le compte oracle directement, soit on fait un su – oracle en ayant fait au préalable un xhost +. J’ai choisi cette dernière solution :

xhost +
su - oracle
/tmp/database/runInstaller

Tout d’abord, on choisit de créer une base de données :

… en classe serveur :

… en mono-instance :

… une installation standard :

Il suffit ensuite de définir le mot de passe d’administration ainsi que de mettre le nom de la base de donnée à la même valeur que la variable ORACLE_SID :

A la fin de l’installation, il suffit juste d’exécuter sous l’identité root depuis un terminal le ou les scripts stipulés dans la dernière fenêtre d’installation :

Directement après installation, Oracle Enterprise Manager est accessible depuis un navigateur web à l’adresse https://127.0.0.1:1158/em/

Il est possible de se connecter en SYS/SYSDBA à l’aide du mot de passe rentré lors de l’installation.

Arret du serveur Oracle en ligne de commande :

En tant qu’utilisateur oracle :

Démarrage du serveur Oracle en ligne de commande :

Le démarrage de l’instance se fait en plusieurs étape. Tout d’abord le listener qui gère la partie réseau puis ensuite le démarrage de la base à proprement parler. Toutes ces étapes se font sous l’identité oracle :

Démarrage du listener

Démarrage de la base

Ensuite, on peut éventuellement redémarrer Oracle Enterprise Manager pour administrer la base depuis l’interface web vue précédemment :

9 thoughts on “Installation d’Oracle 11gR2 sur Centos 5”

  1. Bonjour Cyril.

    Merci pour l’excellent guide d’installation. Je ne l’ai pas encore testé, mais il a l’air bien fait et en plus en Français.

    En fait, nous travaillons sur Oracle 10g (OAS 10 G et Daabase 10G) mais sur Windows. Actuellement je veux basculer sur Linux. Je cherchais justement un guide d’installation pour la base de données sur Linux simplifié (et non pas la doc d’Oracle qui est assez consistante) et votre document me semble parfait, je le testerais très vite et vous tiendrais au courant.

    Je voudrais savoir, par hasard, si vous n’avez pas aussi un guide d’installation d’Oracle Application Server 10G ou si vous pouvez en faire un. Vous me rendrez un énorme Service. Ou sinon, auriez vous des liens en français si possible, reprenons l’installation pas à pas sur linux (comme votre guide pour la base de données).

    Merci pour votre aide et bonne conitnuation.

    Coridalement,

    Mourad

  2. Bonjour,

    Nous n’avons malheureusement pas de guide détaillant l’installation d’Oracle Application Server 10G.

    Cordialement

  3. Bonjour,

    Merci ça marche, je ne sais pas si c’est uniquement pour moi mais j’ai du placer des chmod 777 sur « runInstaller » dans le répertoire database et sur « .oui » et « unzip » dans le répertoire install avant de pouvoir lancer le programme d’installation.

    Merci pour le tuto.

  4. salut a tous,
    j’ai un souci au niveau de l’installation de Oracle 11gR2 sous centOS. le problème est au niveau de l’assistant de configuration de la base de données.
    le message est le suivant :
    Echec de la configuartion Tnterprise Manager en raison de l’erreur suivante
    Echec de l’allocation de ports dans les plages indiqués pour les processus suivants : IMS,RMI,Dtabase Control, EM Agent

  5. Bonjour,

    Vérifiez que les plages de ports utilisées par les différents modules de l’enterprise manager ne sont déjà pas utilisés par une autre application.

  6. Bonjour Cyrill,
    Merci pour le guide d’installation. c’est super.
    Je viens de le tester et ça marche bien.
    cdlt,

  7. Bonjour,
    j’ai un problème de démarrage de la base Oracle après le redémarrage de mon serveur.

    le résultat de la commande « startup’ me retourne cet erreur :

    Database mounted.
    ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1],
    [58], [1828], [1829], [], [], [], [], [], [], []

  8. Bonjour,
    Le problème vient d’un fichier redolog corrompu, probablement suite à un redemarrage sans avoir fait un shutdown de la basE.

    Pour le résoudre, il faut monter la base avec la commande startup.
    Ensuite, trouver quel fichier pose problème à l’aide de la commande :

    select a.member,a.group#,b.status from v$logfile a ,v$log b where a.group#=b.group# and b.status=’CURRENT’;

    Il faut ensuite lancer un recover à l’aide de la commande :
    recover database using backup controlfile until cancel;

    Lorsque Oracle demandera le nom du fichier redolog, entrer celui retourné par la commande select (mettre le chemin complet vers le fichier .log).

    terminer avec la commande :
    alter database open resetlogs;

  9. Je viens de réinstaller Oracle avec une autre nouvelle base de donnée.
    la cause de mon problème etait un redémarrage non planifié de mon serveur.
    Merci pour tous

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.