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
Une fois l'installation terminée, vous pourrez supprimer cette espace, après avoir arrêter Oracle.
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"
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
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
Pour prendre en compte ces nouvelles valeurs, il suffit de lancer la commande :
kernel.sem=250 32000 100 128
fs.file-max=65536
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
Pour que ce fichier soit utiliser lors du login, il faut aller modifier les fichiers de configuration de pam.
oracle hard nofile 63536
oracle soft nproc 2047
oracle hard nproc 16384
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
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
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.
mkdir -p /u01/app/oracle
chown -R oracle.oinstall /u01
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
Dans ce cas, la base de donnée se nommera test, et cela sera aussi le nom de l'instance.
mkdir -p /u02/oradata/test
chown -R oracle.oinstall /u02
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
L'ORACLE_SID correspond au nom de l'instance de la base que l'on veut créée.
export ORACLE_SID=test
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
Vérifier bien avant de lancer runinstaller que la variable DISPLAY est bien positionnée et que vous avez les droits d'affichage (xhost).
oracle$ /path/to/oracle/runInstaller
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
- Oracle Management Agent
- listener
- Oracle CSS daemon
su - oracle
isqlplusctl stop
su - oracle
emctl stop agent
su - oracle
lsnrctl stop
su - root
/etc/rc.d/init.d/init.cssd stop
Et voila, vous avez un noyau Oracle opérationnel. Bon test.
Commentaires
Afficher les commentaires en Vue non groupée | Vue groupée