Outils personnels

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 :

  1. 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.