Créez votre PDF

No pages found in Basket

Installation Oracle sous Ubuntu - Debian

Sommaire[Masquer]

 

Dans ce mode opératoire, la base de données ORACLE a été installée préalablement sur un serveur pouvant être différent de celui où sera faite cette installation.

 

1. Installation du Client Oracle

La première étape consiste à installer le client Instantclient d'Oracle puis de générer l'extension OCI8.SO nécessaire au PHP pour se connecter sur la base de donnnées Oracle.

Pour cela, suivre les étapes suivantes : 

1.1. Téléchargement des modules d'Oracle : Instantclient - SDK - SQLPlus

Le téléchargement de l'Instantclient dépend de votre version d'Oracle et de votre distribution Linux. Dans ce tutorial, nous prendrons l'exemple sur un Oracle 11.2 et un Linux Ubuntu.

La page suivante du site Oracle permet de télécharger le module correspondant à votre configuration : http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

Téléchargez les 3 modules suivants : 

  • Instant client
  • SDK
  • SQLPLUS

Décompressez les 3 modules dans un même répertoire /var/instantclient_11_2 par exemple et se placer dans ce répertoire

 


 cd /var/instantclient_11_2

 echo /var/instantclient_11_2 >> /etc/ld.so.conf

 ldconfig

 ln -s libclntsh.so.11.1 libclntsh.so

 ln -s libocci.so.11.1 libocci.so

 

Installation du paquet phpize par :


aptitude install phpize

un autre paquet également requis : 


aptitude install libaio1

 

Téléchargement du paquet OCI8 :  

  • A disposition sur le site PECL (vailder le module à télécharger en focntion de la version de PHP)
  • Module OCI8 pour PHP 5.2 et ultérieur (mais pas pour PHP7). Cliquez ici

 


tar -xzf oci8-2.0.5.tgz

cd oci8-2.0.5

phpize

./configure --with-oci8=instantclient,/var/instantclient

make install


Configuration du PHP.INI. Copie de l'extension oci8.so dans le répertoire des extensions de PHP

cp



Dans le PHP.INI ajout de la ligne :

extension=oci8.so

1.2. Paramétrage des fichiers de configuration d'Oracle


Paramétrage des fichiers de configuration d'Oracle : tnsnames.ora et sqlnet.ora :
(Pour rappel : Le listener.ora est uniquement présent sur le serveur pour répondre et rediriger les requêtes faites par les clients). Les 2 fichiers .ora n'existant pas, il faut les créer dans le répertoire du client Oracle : /var/instantclient_11_2.
Ci-dessous des exemples de ces 2 fichers :

sqlnet.ora :


# This file is actually generated by netca. But if customers choose to
# install "Software Only", this file wont exist and without the native
# authentication, they will not be able to connect to the database on NT.
NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)
SQLNET.AUTHENTICATION_SERVICES = (NTS)



tnsnames.ora :


QALITEL =
(DESCRIPTION =
   (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.117)(PORT = 1521))
   (CONNECT_DATA =
   (SID=XE)
   )
)


Attention : Le SID, le Host et le Port doivent correspondre à ceux du Listener.ora du serveur. Le Nom "QALITEL" dans notre exemple sera celui utilisé dans le nom de la base de données demandé par le programme d'installation.



Configuration des variables d'environnement d'Apache :

nano /etc/apache2/envvars

Placer ensuite les variables d'environnement d'Oracle dans ce fichier :


export TNS_ADMIN=/var/instantclient_11_2
export NLS_LANG=FRENCH_FRANCE.WE8MSWIN1252
#Attention : ne pas oublier l'espace pour la séparation des milliers
export NLS_NUMERIC_CHARACTERS='. '

 

Une fois ces paramétages réalisés, redémarrer apache pour leur prise en comtpe : 


/etc/init.d/apache2 restart

Lancez ensuite le phpinfo() pour valider les paramétages. L'extension OCI8 doit être présente dans la liste des extensions. Dans la rubrique "Environment, vous devez y retrouver les variables Oracle (Uniquement dans cette rubrique) comme montré ci-dessous : 

Install oracle linux

 

Pour tester la connexion à la base Oracle avec sqlplus : 

Ajouter le chemin dans le PATH avec la commande : 


export PATH=$PATH:/var/instantclient_11_2

Connexion avec sqlplus : 


sqlplus login_du_serveur_distant/mot_de_passe_du_serveur_distant@QALITEL