3 -Installation

3.1 - Environnement système Oracle

Environnement système minimal

Au minimum et ce quel que soit le système d’exploitation, on doit positionner le répertoire de référence d’Oracle : ORACLE HOME DIRECTORY et le nom ou l’identificateur de l’instance sur laquelle on veut travailler : SID ORACLE.
Ceci est donné par 2 variables d’environnement : ORACLE_HOME et ORACLE_SID

note : L’installation du logiciel se fait par défaut dans un répertoire normalisé compatible avec l’architecture flexible d’Oracle (ORACLE FLEXIBLE ARCHITECTURE ou OFA)
sous windows : disque:Oracleproduct<no_version>db_n

Variables d’environnement système Unix / Linux Oracle

Pour vérifier les variables positionnées dans l’environnement courant :

$> env|grep ORA

Pour positionner les variables d’environnement utiles :

$> export ORACLE_HOME = /oracle
$> export ORACLE_SID = TEST
$> $ORACLE_HOME/bin/sqlplus scott/tiger

rem : EXPORT est obligatoire si l’on veut que ces variables soient aussi accessibles aux process fils du process courant, ce qui peut être utile quand on lance une commande SHELL comme ’sqlplus’ puisque cela déclenche…un process fils !

Variables d’environnement système  Windows / Oracle

Lors de l’installation d’Oracle 10g ou 11g, la base de registre  Windows est normalement mise à jour et permet de se connecter à la base par défaut sans préciser de variables d’environnement.

Les variables de configuration d’Oracle sont visibles par ‘regedit’ dans la clé  :

HKEY_LOCAL_MACHINE / SOFTWARE / ORACLE / KEY_<ORACLE_HOME>

On peut éventuellement positionner des variables le temps d’une session :

<ORACLE_HOME> ayant la valeur de la home directory d’Oracle choisie lors de l’install…
C:>SET ORACLE_HOME = /oracle
C:> SET export ORACLE_SID = TEST
C:> $ORACLE_HOME/bin/sqlplus scott/tiger

note : la base de registre  est normalement mise à jour à l’installation d’Oracle 10g et permet de se connecter à la base par défaut sans préciser ces variables d’environnement.

Attention ! certains outils Oracle comme ‘emctl’ par exemple ont parfois besoin d’avoir le ORACLE_SID défini dans l’environnement en plus d’^tre défini dans le registre dans la sous clé ‘Oracle’

Rappel sur les variables d’environnement WINDOWS :

Il y a les variables ‘User’ connues uniquement du user courant, et les variables ’systeme’ connues de tous les utilisateurs.

Les variables USER sont initialisées ou consultées

  • automatiquement au démarrage de ) Windows (windows récupère les valeurs définies dans la base de registre dans la clé : HKEY_CURRENT_USER / Environment
  • manuellement en utilisant les ‘propriétés’ du poste de travail (clic droit sur poste de travail / Propriétés /Avancées / Variables d’environnement

Les variables système peuvent être initialisées (ou consultées) de différentes manières :

  • automatiquement au démarrage de ) Windows (windows récupère les valeurs définies dans la base de registre dans la clé : HKEY_LOCAL_MACHINE / SYSTEM / CurrentControlSet / Control / SessionManager / Environment
  • lors de l’installation de logiciels qui utilisent alors les fonctions de l’API Windows
  • manuellement en utilisant les ‘propriétés’ du poste de travail (clic droit sur poste de travail / Propriétés /Avancées / Variables d’environnement

Que ce soit à travers la base de registe ou via les propriétés du poste de travail, les modifications sont pérennes ( ie après un reboot)

Par contre les variables qui seraient définies dans une fenêtre de commande par une commande SET (SET ORACLE_HOME=c: oracle ,  par exemple ) ne durent pas au dela de la session.

Autres variables utiles

* le chemin d’exécution (PATH)
Pour plus de confort, on étendra la variable PATH courante pour accéder directement aux exécutables d’Oracle, qui se trouvent dans le sous répertoire BIN de la HOME DIRECTORY d’Oracle, sans spécifier de chemin absolu.
Sous Unix : $> export PATH=$PATH:$ORACLE_HOME/bin
Sous Windows : C:> PATH = %PATH%;%ORACLE_HOME%BIN
*l’identificateur de terminal X (DISPLAY)
Sous Unix / Linux, cette variable est nécessaire pour pouvoir utiliser des outils graphiques.
L’installeur d’Oracle ou la console d’administration en sont des exemples vitaux!
$> export DISPLAY = @IP_terminal:0.0
Note : en cas de problème vérifier / positionner  les autorisations d’accès au serveur X (commande xhost) et pour les distributions récentes de Linux, vérifier que le serveur X est en mode ‘listen’ !!

Fichier d’environnement Unix / Linux

Sous Unix, le script $ORACLE_HOME/bin/oranenv permet de positionner l’environnement de manière semi-automatique. Il suffit de renseigner la variable ORACLE_SID et le reste est mis en place par le script.

Par défaut une valeur de ORACLE_SID est demandée par le script, même  si une valeur courante est déjà définie, sauf la la variable ‘ORAENV_ASK’ est positionnée à ‘NO’.
Autres fichiers / exécutables utiles

nom nom unix nom windows fonction
SQL+ sqlplus sqlplusw.exe
sqlplus.exe
Interpréteur SQL/PL standard
noyau oracle oracle oracle.exe le sgbd lui même
oradim oradim.exe création d’instance
Oracle Net lsnrctl LSNRCTL.EXE le gestionnaire de serveur Oracle Net
export exp exp.exe export de données de base a base
import imp imp.exe import de données de base a base
loader sqlldr sqlldr.exe import de fichiers texte
tnsping tnsping tnsping.exe test de configuration Oracle Net
oraenv oraenv affectation de l’environnement
orapwd orapwd orapwd.exe gestionnaire de fichier d’authentification
ora error oerr description des messages d’erreurs
startup dbstart démarrage de la base
shutdown dbshut arrêt de la base
assistant creation dbca dbca.bat utilitaire de création semi- automatique

3.2 - Avant d’installer Oracle

Toutes les documentations officielles concernant Oracle 10g sont disponibles sur Oracle Technical Netwoirk (OTN) ici : http://www.oracle.com/pls/db102/homepage

L’essentiel de l’installation d’Oracle 10g pour Windows XP est disponible ici dans le Oracle 10g Quick installation guide for windows (format PDF)

L’essentiel de l’installation d’Oracle 10g pour Linux est disponible ici dans le Oracle 10g Quick installation guide for windows (format PDF)

Une Installation réussie d’Oracle tient en 1 phrase:

- Vérifier et respecter strictement les pré-requis matériels (disque temporaire, disque d’installation, place pour la base à créer) et logiciels (compatibilié de l’OS, , librairies dynamiques et packages obligatoires).

Il est donc très important par exemple de vérifier la matrice de compatibilité fournie par Oracle, pour votre Linux et la 10g.

A priori la version recommandée est un ‘advanced Application Server’ de Redhat. Installer sous debian, Mandrake ou FEDORA est en pratique possible mais peut s’avérer délicat et nécessite une bonne maîtrise de Linux.

3.3 - Exemple d’installation Oracle 11g-

Pour une info complète voir la doc 11gR1 ‘Installation Guide’ et ‘Quick Installation Guide’.

rem : la 11gR1 sur ubuntu…n’est pas supportée par Oracle ;-)

télécharger une 11gR1 sur otn.oracle.com

Verifier que le réseau marche correctement
et est  stable. Pas de WIFI AVEC une connexion filaire Ethernet pour éviter les mélanges…

check memory  and Swap

$> free -m
ram >1 GO
si ram < 2 GO swap > 1,5*ram sinon swap= ram

check disk

$> df -m
software > 3,5 GO
BD > 2 GO
/tmp > 200 MO

Faire un upgrade du systeme

avec le gestionnaire de mise a jour ou
$> sudo apt-get dist-upgrade

install packages

sudo apt-get install unzip build-essential x11-utils rpm ksh lsb-rpm libaio1

config  parametrage kernel

editer /etc/sysctl.conf
$> sudo gedit /etc/sysctl.conf
Ajouter

fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576

faire un restart ou appliquer les modifs
$>sudo  sysctl -p

Ajouter qq liens symboliques

- changer le shell par defaut en bash (c’est dash par def.)
sudo ln -sf /bin/bash /bin/sh
sudo ln -s /usr/bin/awk /bin/awk
sudo ln -s /usr/bin/rpm /bin/rpm
sudo ln -s /usr/bin/basename /bin/basename
sudo ln -s /usr/lib/libstdc++.so.6.0.13 /usr/lib/libstdc++.so.5

Ajouter user, groupes et directories

(sudo)
addgroup oinstall
addgroup dba
useradd -g oinstall -G dba -p vot_modpass -d /home/oracle -s /bin/bash oracle
mkdir /home/oracle
chown -R oracle:dba /home/oracle
mkdir /oracle
mkdir /oracle/11gr1
chown -R oracle:dba /oracle
et eventuellement pour la base
(sudo)
mkdir /oradata
chown oracle:dba /oradata

se connecter oracle !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

TMP=/tmp
TMPDIR=/tmp
export TMP TMPDIR

tester la config X

xterm&
si HS
export DISPLAY=:0.0
sudo xhost + si nécessaire a faire en tant que root pour oracle…

Nettoyer les reliquats Oracle précédents éventuels

/etc/ora*
orainventory
ss rep de /home/oracle et /oracle/11gR1 le cas echeant…
usr/bin/?ora*
Copier et dézipper le fichier 11gR1…zip téléchargé
…dans un rep ou il y a de la place…
Lancer l’Installeur

cd rep_install/database
./runInstaller -ignoreSysPrereqs &
(option obligatoire pour ignorer les prérequis qui ne sont pas satisfaites)