Architecture et configuration

rappel : un serveur peut accueillir PLUSIEURS serveurs de données Oracle

Base locale

La base est située sur le serveur, et est accédée directement sans passer par un protocole réseau (même en loopback)

Le logiciel (SGBD) et le serveur de données Oracle (BD) sont identifiés au niveau de l'environnement systeme.
2 variables fondamentales :

ORACLE_HOME : racine d'installation du logiciel en version N

ORACLE_SID : l'identifiant LOCAL de la base

1 optionnelle : PATH ( $ORACLE_HOME/bin)

$ export ORACLE_SID=TEST
$ export ORACLE_HOME=/oracle/ora92

ou sous XP voir le contenu de la base de registre pour une 9.2

pour se connecter : connect user/password

Base distante

la base est située sur un serveur distant, et est accédée via une couche réseau spécifique ORACLE Net qui s'appuie sur un protocole standard (en général TCP/IP).

On est soit en architecture 2 tier ou 3 tier comme sur le schéma suivant :

Les conditions minimales :

pour se connecter : connect user/password@base_distante

base_distante peut éventuellement être omise si on spécifie sa valeur par défaut dans la variable d'environnement TWO_TASK (unix) ou LOCAL (windows)

Configuration Oracle net

configuration du client

- variables indispensables :

- un outil graphique de configuration : Net manager pour faire la config du client (Sous windows Démarrer Programme / Oracle / Configuration and Migration tools / Net manager

- 1 ou 2 fichiers dans le répertoire de config : sqlnet.ora et optionnellement tnsname.ora

on peut se passer de fichier de configuration client en utilisant soit l'identification explicite (8i et 9i) ou en utilisant
EZConnect (10g) : user/password@nom_serveur:no_port/nom_service

configuration du serveur

1 fichier listener.ora de paramétrage du listener OracleNet, dans $ORACLE_HOME/network/admin/ ou $TNS_ADMIN, qui spécifie les bases accessibles sur le serveur et leur mode d'accès.

Apache doit être démarré en 'connaissant' l'environnement Oracle minimum (ORACLE_HOME, PATH Oracle). on peut pour ce faire modifier le ficheir 'profile' du user apache qui lance le démon httpd.

En cas de problème ?

Serveur de données OK ? : tester l'acces à Oracle en local sur le serveur ($ORACLE_HOME/bin/sqlplus SCOTT/TIGER)
sinon démarrer la base

Listener OK ? : vérifier que le daemon TNSListener ou le service tourne, tester l'acces client / serveur en Loopback sur le serveur ($ORACLE_HOME/bin/sqlplus SCOTT/TIGER@ma_base) sinon démarrer le listener

liaison client / serveur OK ? : tester connexion EZconnect ou explicite : $ORACLE_HOME/bin/sqlplus SCOTT/TIGER@mon_serveur_distant:1521/ma_base_distante

vérifier la résolution de nom : l'environnement Oracle (ORACLE_HOME et / ou TNS_ADMIN) et la méthode utilisée, si locale le tnsnames.ora du client