Oracle 10g sur CentOS 64 bits
De wikiGite
REQUIS : *** Autoriser l'affichage X11 en local sur le poste le + simple : ssh -Y root@172.23.49.87 (X11 forwarding par ssh, pas besoin de xhost)
# 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 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")
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 :
cd database ./runInstaller
Laisser Si erreurs de ce type :
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
Fin de l'installation :
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 indiqué :
ERREURS
- 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.