Skip to content

Installation du SGBD Oracle10g sous Linux avec une Debian woody

Cet article va vous guider dans l'installation d'Oracle sur Linux, en particulier Debian dans notre cas, mais cela peut très bien être utilisé sur d'autres distributions.

Pré-Installation

Oracle recommande 512Mo et 1Go de swap pour installer la base de données 10g.
Pour ma part, je l'ai installé sur une machine avec 256Mo de RAM et 1Go de swap.

Vérification du swap

grep SwapTotal /proc/meminfo Si vous avez moins d'1Go, il faut en ajouter ;-)
Pour cela, on va créer un fichier temporaire de swap comme cela : su - root
dd if=/dev/zero of=tmpswap bs=1k count=900000
chmod 600 tmpswap
mkswap tmpswap
swapon tmpswap

Vérification de l'espace disponible dans /tmp

L'installateur d'Oracle demande 400Mo de disponible dans /tmp.
Pour vérifier la place disponible, utilisez la commande : df -h /tmp Si vous n'avez pas assez d'espace, il faut créer un répertoire le temps de l'installation. su - root
mkdir /espace/tmp
chown root.root /espace/tmp
chmod 1777 /espace/tmp
export TEMP=/espace # utilise par Oracle
export TMPDIR=/espace # utilise par les programme linux comme "ld"
Une fois l'installation terminée, vous pourrez supprimer cette espace, après avoir arrêter Oracle. su - root
rmdir /espace/tmp
unset TEMP
unset TMPDIR

Vérification des logiciels requis

Vous devez avoir les paquets suivants :

  • gcc 2.95.4-14
  • make 3.79.1-14
  • binutils 2.12.90.0.1-4
  • libc6 2.2.5-11.5
  • libstdc++2.10-glibc 2.95.4-11woody1
  • libstdc++2.10-dev 2.95.4-11woody1
  • libmotif 2.1.30-5
  • rpm 4.0.3-4
  • awk
Il faut ajouter deux petits liens à tout ça : ln -s /usr/bin/awk /bin/awk
ln -s /usr/bin/rpm /bin/rpm

Le caméléon

Maintenant, on va faire croire à l'installateur d'Oracle, qu'il est en train de s'exécuter sur une RedHat ;-)
su - root
cat > /etc/redhat-release << EOF
Red Hat Enterprise Linux AS release 3 (Taroon)
EOF

On peut lancer aussi l'installateur avec une option pour qu'il ne teste rien au niveau du système (runInstaller -ignoreSysPrereqs).

Les paramètres noyau

Pour voir l'ensemble des paramètres du noyau : su - root
sysctl -a

Oracle a besoin des valeurs suivantes : shmmax = 2147483648 (Pour vérifier, exécuter: cat /proc/sys/kernel/shmmax)
shmmni = 4096 (Pour vérifier, exécuter: cat /proc/sys/kernel/shmmni)
shmall = 2097152 (Pour vérifier, exécuter: cat /proc/sys/kernel/shmall)
shmmin = 1 (Pour vérifier, exécuter: ipcs -lm |grep "min seg size")
shmseg = 10

semmsl = 250 (Pour vérifier, exécuter: cat /proc/sys/kernel/sem | awk '{print $1}')
semmns = 32000 (Pour vérifier, exécuter: cat /proc/sys/kernel/sem | awk '{print $2}')
semopm = 100 (Pour vérifier, exécuter: cat /proc/sys/kernel/sem | awk '{print $3}')
semmni = 128 (Pour vérifier, exécuter: cat /proc/sys/kernel/sem | awk '{print $4}')

file-max = 65536 (Pour vérifier, exécuter: cat /proc/sys/fs/file-max)

Si les valeurs du noyau sont plus basses, il faut les augmenter à la valeur voulue par Oracle.
Pour ce faire, il faut modifier le fichier /etc/sysctl.conf. Par exemple : kernel.shmmax=2147483648
kernel.sem=250 32000 100 128
fs.file-max=65536
Pour prendre en compte ces nouvelles valeurs, il suffit de lancer la commande : sysctl -p

La place disque

L'installation en "General Purpose Database" demande environ 1.2Go pour le logiciel et un peu plus de 700Mo pour la base de données préconfigurée.

Création de l'utilisateur Oracle

Oracle a besoin d'un login pour pouvoir s'exécuter.
On peut aussi vouloir séparer le groupe (Unix) qui détient les droits sur les logiciels installés et sur les bases de données. Dans ce cas, on créera deux groupes distincts : oinstall et dba.
su - root
groupadd dba
groupadd oinstall
useradd -c "Oracle software owner" -g oinstall -G dba oracle
passwd oracle

Modification des limites pour l'utilisateur oracle

Chaque utilisateur a des limites au sein du système.
Les limites par défaut peuvent être visualisées avec ulimit -a
Si vous installez une base de test, les limites par défaut devraient être suffisantes.
Pour des bases plus importantes, il convient de les modifier.
Les limites se définissent dans le fichier /etc/security/limits.conf oracle soft nofile 4096
oracle hard nofile 63536
oracle soft nproc 2047
oracle hard nproc 16384
Pour que ce fichier soit utiliser lors du login, il faut aller modifier les fichiers de configuration de pam.
Ils se trouvent dans /etc/pam.d.
Suivant le type de "login" réalisé avec l'utilisateur oracle, il faudra modifier les fichiers :

  • su : pour la prise en compte lors d'un su,
  • login : pour la prise en compte lors d'un login
  • ssh : si on veut que les limites s'applique lros d'une session ssh
La modification consiste à décommenter la ligne : session required pam_limits.so

Les répertoires Oracle

On n'a besoin de créer uniquement le répertoire qui sera le $ORACLE_BASE.
su - root
mkdir -p /u01/app/oracle
chown -R oracle.oinstall /u01
Vous pouvez choisir le répertoire que vous voulez, mais Oracle a "publié" un guide bonne conduite (Optimal Flexible Architecture - OFA). Je ne le décrierais pas ici.
Si vous voulez que les fichiers de base de données se trouvent ailleurs que sous $ORACLE_BASE, vous devez créer un autre répertoire : su - root
mkdir -p /u02/oradata/test
chown -R oracle.oinstall /u02
Dans ce cas, la base de donnée se nommera test, et cela sera aussi le nom de l'instance.

L'environnement de l'utilisateur Oracle

L'installation étant lancé par l'utilisateur oracle, on a besoin de deux variables d'environnement : export ORACLE_BASE=/u01/app/oracle
export ORACLE_SID=test
L'ORACLE_SID correspond au nom de l'instance de la base que l'on veut créée.

Les variables suivantes ne doivent pas être présentes : unset ORACLE_HOME
unset TNS_ADMIN

Installation

Après ses amuses-bouches, on va pouvoir attaquer l'installation ;-)

Démarrer Oracle Universal Installer

Monter le CD où se trouve Oracle ou télécharger la version à partir du site d'Oracle.
Il faut lancer l'installation en étant oracle su - oracle
oracle$ /path/to/oracle/runInstaller
Vérifier bien avant de lancer runinstaller que la variable DISPLAY est bien positionnée et que vous avez les droits d'affichage (xhost).

Utilisation Oracle Universal Installer

Une fois l'installateur lancé, vous n'avez plus qu'à vous laissez guider at à répondre aux questions.
Pendant la phase de link, il y aura deux erreurs de compilation, cliquez sur "continue", cela n'empêche pas la base de fonctionner.
A la fin de l'installation, il faut lancer un script sous l'utilisateur root. Ce script étant prévu pour RedHat, il va se planter sur la création d'un lien dans le répertoire d'init. Le processus lancé n'est pas obligatoire, mais si vous le voulez, vous pouvez lancer al commande suivante pour réaliser ce lien. ln -s /etc/init.d/init.cssd /etc/rc2.d/S96init.cssd

Post-Installation

L'environement pour utiliser cette base

Il faut ajouter à l'utilisateur qui veut utiliser cette base les variables suivantes : export ORACLE_HOME=$ORACLE_BASE/product/10.1.0/db_1
export PATH=$PATH:$ORACLE_HOME/bin

Les processus supplémentaires

Lors d'une installation d'une base pré-configurée, Oracle lance quelques processus supplémentaires à la base de données.
Voici les différentes manipulations si vous voulez les arrêtez :

  • isqlplus
  • su - oracle
    isqlplusctl stop
  • Oracle Management Agent
  • su - oracle
    emctl stop agent
  • listener
  • su - oracle
    lsnrctl stop
  • Oracle CSS daemon
  • su - root
    /etc/rc.d/init.d/init.cssd stop

Et voila, vous avez un noyau Oracle opérationnel. Bon test.

Rétroliens

Pas de rétroliens

Commentaires

Afficher les commentaires en Vue non groupée | Vue groupée

Pas de commentaires

Ajouter un commentaire

Marquer un texte en gras: *mot*, souligner un texte: _mot_.
Les smilies standard comme :-) et ;-) sont convertis en images.
Les adresses Email ne sont pas affichées, et sont seulement utilisées pour la communication.

Pour éviter le spam par des robits automatisés (spambots), merci d'entrer les caractères que vous voyez dans l'image ci-dessous dans le champ de fomulaire prévu à cet effet. Assurez-vous que votre navigateur gère et accepte les cookies, sinon votre commentaire ne pourra pas être enregistré.
CAPTCHA

Form options
tweetbackcheck