Oracle 10g sur CentOS 64 bits
De wikiGite
PRE-REQUIS : *** Autoriser l'affichage X11 en local sur le poste.
le plus simple :
ssh -Y root@192.168.1.10 #(X11 forwarding par ssh, pas besoin de "xhost +")
Sommaire
Vérifications des pré-requis
# cat /etc/redhat-release CentOS release 5.4 (Final)
# uname -a Linux dtc-s0002b 2.6.18-164.el5 #1 SMP Thu Sep 3 03:28:30 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
# cat /proc/version Linux version 2.6.18-164.el5 (mockbuild@builder10.centos.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-46)) #1 SMP Thu Sep 3 03:28:30 EDT 2009
# grep "model name" /proc/cpuinfo model name : Intel(R) Xeon(R) CPU E5530 @ 2.40GHz model name : Intel(R) Xeon(R) CPU E5530 @ 2.40GHz model name : Intel(R) Xeon(R) CPU E5530 @ 2.40GHz model name : Intel(R) Xeon(R) CPU E5530 @ 2.40GHz model name : Intel(R) Xeon(R) CPU E5530 @ 2.40GHz model name : Intel(R) Xeon(R) CPU E5530 @ 2.40GHz model name : Intel(R) Xeon(R) CPU E5530 @ 2.40GHz model name : Intel(R) Xeon(R) CPU E5530 @ 2.40GHz
# grep MemTotal /proc/meminfo MemTotal: 18477588 kB
# grep SwapTotal /proc/meminfo SwapTotal: 18874360 kB
# df -k Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/vg00-lvol01 15236080 2539764 11909884 18% / /dev/mapper/vg00-lvol03 4062912 238216 3614984 7% /var /dev/mapper/vg00-lvol04 4062912 220680 3632520 6% /tmp /dev/mapper/vg00-lvol02 4062912 139500 3713700 4% /home /dev/cciss/c0d0p1 101086 19585 76282 21% /boot tmpfs 9238792 0 9238792 0% /dev/shm /dev/mapper/vg00-lvol05 103212320 4159408 93810032 5% /work /dev/mapper/vg00-lvol06 10321208 154236 9642684 2% /oracle
# ls /oracle lost+found
Packages requis et versions minimum :
binutils-2.15.92.0.2-10.EL4 compat-db-4.1.25-9 control-center-2.8.0-12 gcc-3.4.3-9.EL4 gcc-c++-3.4.3-9.EL4 glibc-2.3.4-2 glibc-common-2.3.4-2 gnome-libs-1.4.1.2.90-44.1 libstdc++-3.4.3-9.EL4 libstdc++-devel-3.4.3-9.EL4 make-3.80-5 pdksh-5.2.14-30 sysstat-5.0.5-1 xscreensaver-4.18-5.rhel4.2 (?????)
Packages installés par défaut (vérification par "rpm -q <nom du paquet>"):
binutils-2.17.50.0.6-12.el5 control-center-2.16.0-16.el5 # --> vraiment utile ?? glibc-2.5-42.el5_4.3 glibc-common-2.5-42.el5_4.3 libstdc++-4.1.2-46.el5_4.2 make-3.81-3.el5
NOTE : on peut formater la sortie de rpm -q par « rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} %{ARCH}\n' <liste de packages> »
Packages Manquants (installés individuellement par "yum install <nom du paquet>", tous disponibles dans les sources CentOS):
compat-db gcc gcc-c++ gnome-libs # --> vraiment utile ?? libstdc++-devel pdksh sysstat
Pour une install x86_64, installer aussi les version 32bits de glibc, glibc-devel, libstdc++ et libstdc++-devel. Exemple :
yum install glibc-devel.i386
Création de l'environnement
Création user Oracle (HOME DIR "/oracle", ne pas oublier de vérifier les droits sur ce répertoire) et groupes :
groupadd oinstall groupadd dba useradd -g oinstall -G dba oracle -d /oracle passwd oracle
- l'utilisateur nobody doit exister :
# id nobody uid=99(nobody) gid=99(nobody) groups=99(nobody)
Vérifications système :
KERNEL valeurs minimum préconisées par Oracle : kernel.sem = 250 32000 100 128 kernel.shmmni = 4096 kernel.shmall = 2097152 kernel.shmmax = 2147483648 fs.file-max = 65536 net.ipv4.ip_local_port_range = 1024 65000 net.core.rmem_default = 262144 net.core.rmem_max = 262144 net.core.wmem_default = 262144 net.core.wmem_max = 262144
valeurs par défaut CentOS (par "sysctl -a | grep <parametre_a_afficher>") :
kernel.sem = 250 32000 32 128 kernel.shmmni = 4096 kernel.shmall = 4294967296 kernel.shmmax = 68719476736 fs.file-max = 1801081 net.ipv4.ip_local_port_range = 32768 61000 net.core.rmem_default = 129024 net.core.rmem_max = 131071 net.core.wmem_default = 129024 net.core.wmem_max = 131071
Modification /etc/sysctl.conf, ajout à la fin :
# Added for Oracle kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 1024 65000 net.core.rmem_default = 262144 net.core.rmem_max = 262144 net.core.wmem_default = 262144 net.core.wmem_max = 262144
Charger les nouveaux réglages par "sysctl -p"
Ajout à la fin de /etc/security/limits.conf :
oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536
Création de /etc/profile.d/oracle.sh :
if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi
Sans oublier :
# chmod 755 /etc/profile.d/oracle.sh
Sur CentOS, modifier le fichier /etc/redhat-release pour correspondre à ce qu'Oracle attend
cp /etc/redhat-release /etc/redhat-release.old vi /etc/redhat-release
Et remplacer la ligne par
redhat-4
Déconnecter la session SSH et se reconnecter avec "oracle" (le X11 forwarding ne fonctionne plus si on change simplement d'utilisateur par "su")
Lancement de l'installation
Décompresser l'archive. S'il s'agit d'un cpio :
gunzip 10201_database_linux_x86_64.cpio.gz cpio -idvm < 10201_database_linux_x86_64.cpio
Ou s'il s'agit d'un simple zip :
gunzip 10201_database_linux_x86_64.zip
Puis lancer l'installateur (une session X doit être ouverte entre les deux machines si on fait l'installation à distance):
cd database ./runInstaller
En cas d'erreur :
Error in CreateOUIProcess(): 13 : Permission denied
Modifier /etc/fstab pour autoriser l'exécution de script dans /tmp (sur la ligne correspondant à la partition /tmp, supprimer "noexec".
Note : Remettre ce paramètre à la fin de l'installation d'Oracle ! C'est une sécurité importante si le serveur est visible d'internet, par exemple.
Laisser le chemin "inventory" par défaut, puis choisir Enterprise ou Standard Edition.
Régler les éventuels problèmes relevés par la vérification des pré-requis.
Choisir si on ne veut installer que les exécutables ou si on veut aussi créer une base tout de suite.
Valider le résumé.
En cas d'erreur :
Error in invoking target 'agent nmo nmb' of makefile ......
Passer en cliquant sur « Continue ». A la fin de l'installation on peut re-linker les exécutables. Vérifier le fichier log indiqué dans le message d'erreur, régler le problème, et relancer le link :
- paramétrer ORACLE_BASE et ORACLE_HOME dans l'environnement d'oracle (.bash_profile)
- aller dans $ORACLE_HOME/bin
- lancer « ./relink all > relink.log 2>&1 »
- Vérifier dans relink.log si les erreurs subsistent. On peut éventuellement linker individuellement chaque partie :
% relink oracle % relink network % relink client % relink client_sharedlib % relink interMedia % relink ctx % relink precomp % relink utilities % relink ldap
A la fin de l'installation, lancer les scripts "root" dans un terminal comme indiqué.
Après avoir exécuté les scripts en « root », cliquer OK.
Installation du patch 10.2.0.4
- Si ça n'a pas été fait, paramétrer ORACLE_BASE et ORACLE_HOME dans l'environnement d'oracle (.bash_profile) et se reconnecter.
- Dézipper le patch, aller dans Disk1 et lancer runInstaller.
- S'assurer que le Oracle_Home indiqué pointe bien vers le bon répertoire.
- Laisser tous les autres écrans par défaut.
Si erreur sur ins_rdbms.mk, vérifier le log indiqué. Ici gcc cherchait une librairie en version « .so.5 » alors que le système avait une « .so.6 ». Un lien symbolique créé dans un autre terminal suffit :
# ln -s /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.5
Finir en lançant le script "root" indiqué.