Installation de Oracle 10G R2 sur Suse Entreprise 9

 

Sommaire

 

1. Introduction
2. Disque dur
3. Installation de Suse 9
4. Preparation du systeme
5. Suppression et verification des packages
6 . Paramétrage du kernel
7. Création des répertoires d’installation de oracle
8. Création d’utilisateur et groupes pour oracle
9. fichier .profile de l’utilisateur oracle
10 . Utilisateur , groupe et droits sur les RAW device
11 . Décompression et extraction de oracle 10g R2
12. Configuration de l’installeur oracle
13 . Installation de oracle 10g R2
14 . Création d’une base de donnée
15 . Tous fonctionnent ???
16 . Conclusion

 

1. Introduction

Ce tutorial explique l’installation de Oracle 10 g R2 avec ASM (Automatique Storage Management ) sur un disque dur configuré avec des partitions RAW devices .

le minimum de taille de la RAM est de 1024 Mo pour l’installation de cette version de Oracle .

2. Disque dur

La structuration du disque, dans cet exemple, est fait au moment de  l’installation de Suse 9
Elle est composée de :

  • 1 partition swap de 4 Go
  •  1 partition root en ReiserFS de 8 Go
  • 1 partition étendue dans lequel il y a
    • 1 partition en ReiserFS de 2 Go
    • 1 partition en ReiserFS de 2 Go
    • 1 partition en ReiserFS de 2,6 Go

     

    Disk /dev/hdb: 20.0 GB, 20020396032 bytes
    16 heads, 63 sectors/track, 38792 cylinders
    Units = cylinders of 1008 * 512 = 516096 bytes

       Device Boot      Start         End      Blocks   Id  System
    /dev/hdb1               1        8323     4194760+  82  Linux swap
    /dev/hdb2   *        8324       24968     8389080   83  Linux
    /dev/hdb3           24969       38792     6967296    f  W95 Ext'd (LBA)
    /dev/hdb5           24969       29130     2097616+  83  Linux
    /dev/hdb6           29131       33292     2097616+  83  Linux
    /dev/hdb7           33293       38792     2771968+  83  Linux

    Cliquez ici pour voir le partitionnement avec Yast

    le calcul de la partition de swap ce base sur la taille de la RAM minimal en théorie.
    Pour 1024 Mo a 2048 Mo de RAM , la partion de swap doit être a 1.5 supérieur a la taille de la RAM
    Pour 2049 Mo a 8192 Mo elle peut être égale a la taille de la RAM

    Pour exemple : avec 2Go de RAM il faut 3G0 de swap

    2000 Mo * 1.5 = 3000 Mo
    Mais ici , j’ai préféré prendre plus large pour ne pas bloquer l’installation de Oracle par erreur d’arrondie dans les calculs.

     

3. Installation de Suse 9

Je ne vous conseille pas de choisir l’installation des programmes par défaut ,

mais de sélectionner les groupes de programmes comprenant les packages de développement ainsi que openmotif

4. Preparation du systeme

Lorsque l’installation est terminé et que vous ouvrez votre première session avec l’utilisateur root , vérifiez les points de montage avec la commande mount .Si le partitions destinés au RAW device sont montés et affectés a des répertoires , ouvrez le fichier fstab situé dans le répertoire /etc et supprimez les

/dev/hdb5            /data1               auto       noauto,user           0 0
/dev/hdb6            /data2               auto       noauto,user           0 0
/dev/hdb7            /data3               auto       noauto,user           0 0

Supprimez également les repertoires affectés aux point de montage :

drwxr-xr-x   2 root root     48 Jan 13 09:33 data1
drwxr-xr-x   2 root root     48 Jan 13 09:33 data2
drwxr-xr-x   2 root root     48 Jan 13 09:33 data3

Ouvrez le fichier /etc/raw avec un editeur de texte et assignez les blocs RAW aux partitions du disque :

raw1:hdb5
raw2:hdb6
raw3:hdb7

positionnez vous dans le repertoire /etc/init.d

cd /etc/init.d

et lancer la commande suivante :

sh raw start

exemple :

pluton:/etc/init.d # sh raw start
bind /dev/raw/raw1 to /dev/hdb5...                                   done
bind /dev/raw/raw2 to /dev/hdb6...                                   done
bind /dev/raw/raw3 to /dev/hdb7...                                   done

maintenant mettez le service raw en mode de démarrage automatique avec la commande chkconfig:

chkconfig raw on

Exemple :

chkconfig --list|grep raw
raw                       0:off  1:off  2:off  3:off  4:off  5:off  6:off
pluton:/ # chkconfig raw on
pluton:/ # chkconfig --list|grep raw
raw                       0:off  1:off  2:on   3:on   4:off  5:on   6:off
pluton:/ #


dans le fichier /etc/hosts verifiez que l'adresse 127.0.0.1 a un commentaire et que le nom et l'adresse TCP/IP du serveur soit indiqué :

#
# hosts         This file describes a number of hostname-to-address
#               mappings for the TCP/IP subsystem.  It is mostly
#               used at boot time, when no name servers are running.
#               On small systems, this file can be used instead of a
#               "named" name server.
# Syntax:
#   
# IP-Address  Full-Qualified-Hostname  Short-Hostname
#

#127.0.0.1       localhost

# special IPv6 addresses
::1             localhost ipv6-localhost ipv6-loopback

fe00::0         ipv6-localnet

ff00::0         ipv6-mcastprefix
ff02::1         ipv6-allnodes
ff02::2         ipv6-allrouters
ff02::3         ipv6-allhosts
192.168.0.2     pluton.denisys pluton
#192.168.0.200   pluton.denisys


 

 

5. Suppression et verification des packages
verifiez la presence du JRE IBM avec la commande
rpm -qa|grep IBM

si ce package est installé , retirez le avec la commande suivant

rpm -e IBMJava2-JRE-1.4.2-0.51

Vérifiez la présence des packages pré requis pour l'installation de oracle :

libaio-0.3.98-18.3
libaio-devel-0.3.98-18
gcc-3.3.3-43.24
gcc-c++-3.3.3-43
make-3.80-184.1
glibc-2.3.3-98.28
gawk-3.1.3-210.1
binutils-2.15.90.0.1.1-32.5
openmotif-2.2.2-519.1
openmotif-libs-2.2.2-519.1

 

 

6 . Paramétrage du kernel

Avec un éditeur de texte dans le /etc/sysctl.conf  ajoutez le paramétrage suivant :

kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
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

si il n'existe pas créez le , puis lancez la commande suivante :

sysctl -p /etc/sysctl.conf

affin de charger les nouveau paramétrage dans le kernel
lancez la commande suivante pour préserver ces paramétrage lors du boot du systeme

chkconfig boot.sysctl on

Fixez les limites de sécurité de l’utilisateur oracle en éditant le fichier /etc/security/limits.conf . A joutez les lignes suivantes :

oracle           soft    nproc   2047
oracle           hard    nproc   16384
oracle           soft    nofile  1024
oracle           hard    nofile  65536

 


7. Création des répertoires d’installation de oracle

Créez deux répertoires
1 répertoire product dans lequel va s’installer le moteur oracle avec ces composants
1 répertoire oraInventory dans lequel oracle va notifier tous les composants installés.

Lancez dans une fenêtre de terminal :

mkdir -p /u01/app/oracle/product
mkdir -p /u01/app/oracle/oraInventory

mkdir avec l’option p (parent) permet de créer le répertoire cible ainsi que les répertoires racines.

Rendez ces deux répertoires accessible a toutes opérations (lecture ,écriture, exécution) avec la commande chmod

chmod 777 /u01/app/oracle/product
chmod 777 /u01/app/oracle/oraInventory

 

8. Création d’utilisateur et groupes pour oracle

Créez les groupes "dba" pour les droits sur "SYSDBA" pour gérer le SGBDR, "oper" pour les droits sur "SYSOPER" pour le démarrage et l'arrête du SGBDR et enfin "oinstall" pour les droits sur "oraInventory" pour accéder au répertoire de l'inventaire de l’installation d’oracle.

groupadd dba
groupadd oinstall
groupadd oper

Créez l’utilisateur "oracle". Cet utilisateur aura des droits limités mais suffisant pour installer, lancer, arrêter et gérer oracle 10gR2.

Donnez lui le répertoire /u01/app/oracle/product comme répertoire personnel et un shell de connexion bash :

useradd -d /u01/app/oracle/product -g oinstall -G dba,oper -s /bin/bash oracle

Donnez la propriété aux répertoires oracle, product et oraInventory a l’utilisateur oracle :

chown -R oracle.dba /u01/app/oracle
chown -R oracle.oinstall /u01/app/oracle/product
chown -R oracle.oinstall /u01/app/oracle/oraInventory

Attribuez un mot de passe a l’utilisateur oracle:

passwd oracle

 

9. fichier .profile de l’utilisateur oracle

Maintenant ouvrez avec un éditeur de texte ( vi , gedit etc …) le fichier .profile de l’utilisateur oracle situé dans le répertoire /u01/app/oracle/product et implantez les variables  d’environnement nécessaires au fonctionnement de oracle 10gR2 ainsi :

# Sample .profile for SuSE Linux
# rewritten by Christian Steinruecken <cstein@suse.de>
#
# This file is read each time a login shell is started.
# All other interactive shells will only read .bashrc; this is particularly
# important for language settings, see below.

test -z "$PROFILEREAD" && . /etc/profile

# Most applications support several languages for their output.
# To make use of this feature, simply uncomment one of the lines below or
# add your own one (see /usr/share/locale/locale.alias for more codes)
#
#export LANG=de_DE@euro     # uncomment this line for German output
#export LANG=fr_FR@euro     # uncomment this line for French output
#export LANG=es_ES@euro     # uncomment this line for Spanish output


# Some people don't like fortune. If you uncomment the following lines,
# you will have a fortune each time you log in ;-)

#if [ -x /usr/bin/fortune ] ; then
#    echo
#    /usr/bin/fortune
#    echo
#fi

umask 022
PATH=$PATH:$HOME/bin

export PATH
unset USERNAME



export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product
export ORACLE_SID=ORCL
export ORACLE_TERM=xterm
export PATH=/usr/sbin:$PATH
export PATH=/u01/app/oracle/product/bin:$PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

Après les modification du fichier .profile , assurez vous que celui-ci appartient toujours a l’utilisateur oracle et son groupe

puis rebootez la machine !!!

10 . Utilisateur , groupe et droits sur les RAW device

Maintenant que l'utilisateur oracle et ces groupes d'utilisateurs
sont crée, il faut  assigner les droits d'écriture sur les devices raw.
avec la commande raw affichez les blocs raw :

pluton:~ # raw -a
/dev/raw/raw1:  bound to major 3, minor 69
/dev/raw/raw2:  bound to major 3, minor 70
/dev/raw/raw3:  bound to major 3, minor 71

maintenant rendez propriétaire de ces blocs l’utilisateur oracle et le groupe dba

chown oracle:dba /dev/raw/raw1
chown oracle:dba /dev/raw/raw2
chown oracle:dba /dev/raw/raw3

puis affectez les propriétés en mode écriture

chmod 775 /dev/raw/raw1
chmod 775 /dev/raw/raw2
chmod 775 /dev/raw/raw3

 



11 . Décompression et extraction de oracle 10g R2

Après avoir téléchargé le fichier 10201_database_linux32.zip
En suivant le lien Oracle Database 10g Release 2 (10.2.0.1.0) for Linux x86
sur le site de oracle a l’adresse suivante
http://www.oracle.com/technology/software/index.html
vous décompressez l’archive avec la commande standard linux

unzip 10201_database_linux32.zip

Après décompression , vous retrouvez un répertoire nommé database dans lequel ce trouve  les composant d’installation de oracle

 

12. Configuration de l’installeur oracle

La seule difficulté que j’ai rencontrée lors de cette installation venait du fait que mon serveur avait 2 cartes réseaux. Ce qui génère une erreur pendant l’installation . Pour éviter cette erreur , ouvrez le fichier db_prereq.xml situé dans le repertoire database/stage/prereq/db
avec un éditeur de texte dans le bloc de tag commençant par

<PREREQUISITESET NAME="genericSystemTests"> 

Supprimez la ligne suivante :

<PREREQUISITEREF NAME="DetectIfDHCPAssignedIP" SEVERITY="Warning"/>

Puis supprimez le bloc entier suivant un peut plus bas dans le même fichier

<PREREQUISITE NAME="DetectIfDHCPAssignedIP"
                EXTERNALNAME="Check to see if  the IP is a DHCP assigned one or a static one "
                EXTERNALNAMEID="S_CHECK_DHCP_ASSIGNED_IP@oracle.install.prereqs.resources.PrereqRes"
                SEVERITY="Error">
        <DESCRIPTION TEXT="This is a prerequisite condition to test whether the IP address assigned to the m/c is a DHCP assiged one or a static one."
                TEXTID="S_CHECK_DHCP_ASSIGNED_IP_DESCRIPTION@oracle.install.prereqs.resources.PrereqRes"/>
        <RULESETREF NAME="StaticIPCheck" RULE="checkIfStaticIP" FILE="db/refhost.xml"
                RESULTS_FILE="install_rule_results.xml"/>
        <PROBLEM TEXT="The install has detected that the IP address assigned to the m/c is assgined by a DHCP server. Please ensure that the IP address should be  a  static one."
                TEXTID="S_CHECK_DHCP_ASSIGNED_IP_ERROR@oracle.install.prereqs.resources.PrereqRes">
        </PROBLEM>
        <RECOMMENDATION TEXT="Please make sure the primary network interface card is not DHCP enabled "
                TEXTID="S_CHECK_DHCP_ASSIGNED_IP_LINUX_ACTION@oracle.install.prereqs.resources.PrereqRes"/>
    </PREREQUISITE>

 

Téléchargez max44410.tar.gz
Contenant 2 scripts automatisant vos paramétrages

 

 

13 . Installation de oracle 10g R2
le répertoire /u01 appartient a l’utilisateur oracle et a son groupe , vous pouvez commencer l’installation en ouvrant une session gnome ou kde avec l’utilisateur oracle . Placez vous dans le répertoire database a partir d’une fenêtre de terminal
 Lancez la commande
./runInstaller -ignoreSysPrereqs

Etape 1 : runInstaller check le système et lance la première fenêtre
Cliquez ici pour voir l’image

Etape 2 : oracle vous souhaite la bienvenue
Cliquez ici pour voir l’image

Etape 3 : oracle vous propose de choisir un emplacement pour le répertoire oraInventory
Parce que vous l’avez créez précédemment continuez l’installation

Cliquez ici pour voir l’image

Etape 4 : choisissez le type d'installation
- Entreprise Edition
- Standard Edition
- Personalisé
je vous conseille Entreprise Edition

Cliquez ici pour voir l’image

Etape 5 : oracle vous propose de choisir un emplacement pour installer les composants.
Parce que vous l’avez créez précédemment continuez l’installation

Cliquez ici pour voir l’image

Etape 6 : une fenêtre apparais vous indiquant que le répertoire
dans lequel vous installez les composants n’est pas vide.
Cliquez sur oui et continuez
Cliquez ici pour voir l’image

Etape 7 : la fenêtre de vérification des prérquis
s’affiche

Cliquez ici pour voir l’image

Etape 8 : sélectionnez la configuration Automatic Storage Manager est donnez un mot de passe a l’administrateur SYS ASM
Cliquez ici pour voir l’image

Etape 9 : sélectionnez les blocs RAW que vous désirez assigner au groupe de disque
Cliquez ici pour voir l’image

Etape 10 : le résumé des composants a installer
Cliquez ici pour voir l’image

Etape 11 : l’installation débute
Cliquez ici pour voir l’image

Etape 12 : exécutez les scripts orainstRoo.sh et root.sh avec l’utilisateur root
Cliquez ici pour voir l’image

Etape 13 : les assistants de configuration oracle net , oracle database et ISQL sont lancés
Cliquez ici pour voir l’image

Etape 14 : Félicitation, l’installation est terminé et l’installateur oracle vous affiche dans une fenêtre  2 URL ISQL PLUS
Cliquez ici pour voir l’image

Etape 15 : Confirmez la fin de l’installation
Cliquez ici pour voir l’image

14 . Création d’une base de donnée

Maintenant, il faut créer une base de donnée que vous allez stocker sur les blocs RAW  et pour cela, toujours avec l’utilisateur oracle , lancez la commande dbca

Etape 16 : l’assistant de configuration de base de donnée ce lance , choisissez la création d’une base de donnée
Cliquez ici pour voir l’image

Etape 17 : choisissez le type de base de donnée que vous voulez créer
Cliquez ici pour voir l’image

Etape 18 : donnez un nom a votre base de donnée
Cliquez ici pour voir l’image

Etape 19 : choisissez l’option de configuration de la base avec Entreprise Manager affin de l’administrer avec un navigateur
Cliquez ici pour voir l’image

Etape 20 : indiquez le mode d’attribution des mots passe et saisissez votre mot de passe
Cliquez ici pour voir l’image

Etape 21 : Choisissez l’option de stockage de votre base de donnée en cochant le bouton Automatic Storage Management (ASM)
Cliquez ici pour voir l’image

Etape 22 : indiquez le mot de passe de l’administrateur SYS propre a ASM .
C’est le même mot de passe que vous avez indiqué lors de sa configuration pendant l’installation de Oracle 10gR2
Cliquez ici pour voir l’image

Etape 23 : indiquez le groupe de disque sur lequel doit être stocké votre base de donnée

Cliquez ici pour voir l’image

Etape 24 : choisissez l’option d’utilisation des fichier gérés par oracle
Cliquez ici pour voir l’image

Etape 25 : indiquez également les zones de récupérations rapide
Cliquez ici pour voir l’image

Etape 26 :  vous choisissez si vous désirez d’inclure un exemple de schéma
Cliquez ici pour voir l’image

Etape 27 :  option du SGA . En standard ou personnalisé
Cliquez ici pour voir l’image

Etape 28 :  le résumé de la création de la base de donnée
Cliquez ici pour voir l’image

Etape 29 :  vous avez la possibilité de choisir des options supplémentaires , tel que la génération des script de création de la base de donnée .
Cliquez ici pour voir l’image

Etape 30 : l’affichage des options de la base de données
Cliquez ici pour voir l’image

Etape 31 : la création de la base de donnée est lancé .
Cliquez ici pour voir l’image

Etape 32 : c’est terminé, vous avez encore la possibilité de changer les mots de passe si vous le désirez, sinon cliquez sur Quitter pour confirmer la fin de création de la base .
Cliquez ici pour voir l’image

Maintenant, il vous faut configurer le service avec la commande netca .

Si vous n’êtes pas familier avec netca , cliquez ici pour suivre les étapes de création d’un service oracle

Vérifiez avec Oracle Net Manager que le service est bien configuré ainsi que le listener , en lançant la commande netmgr , toujours avec l’utilisateur oracle
Cliquez ici pour voir l’image

15 . Tous fonctionnent ???

Ouvrez une fenêtre de terminal, loguez vous sur le compte de l’administrateur root et lancez la commande reboot
Après le reboot de la machine , avec l’utilisateur oracle , lancez la commande suivante

lsnrctl start

Maintenant il faut lancer en premier l’instance ASM ainsi

export ORACLE_SID=+ASM

puis en vous loguant a sqlplus

sqlplus "/ as sysdba"

vous montez l’instance

SQL> startup
ASM instance started

Total System Global Area   83886080 bytes
Fixed Size                  1217836 bytes
Variable Size              57502420 bytes
ASM Cache                  25165824 bytes

ASM diskgroups mounted

Vous quittez sqlplus

SQL>quit

Pour lancer l’instance de la base de donnée , vous exportez a nouveau le SID avec le nom de l’instance concerné .

export ORACLE_SID=DEN1

a nouveau vous vous reconnectez a sqlplus

sqlplus "/ as sysdba"

puis vous montez votre instance

SQL> startup
ORACLE instance started.

Total System Global Area  608174080 bytes
Fixed Size                  1220820 bytes
Variable Size             171970348 bytes
Database Buffers          427819008 bytes
Redo Buffers                7163904 bytes
Database mounted.
Database opened.

Et vous quittez sqlplus

SQL>quit

Pour une administration via un navigateur , lancez la commande :

emctl start dbconsole

 

16 . Conclusion

Il est impératif de lancer l’instance ASM avant de lancer l’instance d’une base de donnée.