splurf Rm -Rf / && oops :o | Code :
- 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.
|
Message édité par splurf le 20-04-2004 à 09:14:51
|