Ceci est une ancienne révision du document !


Connexion aux bases de données pédagogiques Oracle

Informations de connexion

Identifiants de connexion

  • Etudiants: Si vous avez besoin d'accéder à la base Oracle pour un TP, l'équipe enseignante vous fournira un identifiant de connexion (login) et un mot de passe1). Votre identifiant sera parfois indiqué dans tomuss.
  • Enseignants: Demander un compte à Emmanuel Coquery ou Nicolas Lumineau.

Serveur

Le serveur Oracle fonctionne sur oracle710.univ-lyon1.fr, le numéro de port pour les requêtes SQL est le 1521. Il y a 3 bases de données2) qui fonctionnent sur ce serveur: orapeda1, orapeda2 et orapeda3. Le nom d'une base est appelé SID dans le vocabulaire Oracle.

Comment se connecter à la base

Via SQLDeveloper

Créer une nouvelle connexion en utilisant le bouton “+” vert. Le nom de connexion est libre; le nom d'utilisateur est votre identifiant de connexion Oracle; le nom d'hôte est oracle710.univ-lyon1.fr3); SID est le nom de la base (ex: orapeda1):

Configuration SQLDeveloper

Une fois la connexion créée il suffit de double-cliquer dessus pour ouvrir un éditeur qui permettra d'exécuter les requêtes.

Via SQLPlus

Dans les salles de TP, l'application SQLPlus est préconfigurée. Il suffit de préciser le login, le mot de passe et le nom de la base de données.

Via JDBC dans un programme Java

Pour pouvoir se connecter, votre projet doit inclure le pilote JDBC Oracle (ojdbc14.jar, ojdbc5.jar ou ojdbc6.jar). Exemple de code de connexion:

        OracleDataSource ods = new OracleDataSource();
 
        // type de pilote oracle
        ods.setDriverType("thin"); 
 
        // nom de la machine sur laquelle se trouve la base
        ods.setServerName("oracle710.univ-lyon1.fr"); 
 
        // numero du port pour se connecter à la base
        ods.setPortNumber(1521);
 
        // nom de la base
        ods.setDatabaseName("orapeda1");
 
        // Pour ouvrir une session (représentée par l'objet connect
        Connection connect = ods.getConnection("votrelogin","votremotdepasse");
 
        // Travail sur la base
        // Ici, on écrira du code pour, par exemple, interroger la base
 
        // Ne pas oublier de fermer la session quand on a fini de manipuler la base
        connect.close();

On peut également utiliser un fichier de propriétés Java. Le code devient alors:

        OracleDataSource ods = new OracleDataSource();
 
        // type de pilote oracle
        ods.setDriverType("thin"); 
 
        // Chargement des paramètres de connexion depuis le fichier
        Properties cp = new Properties();
        cp.load(new FileReader("/mon/chemin/mon_fichier.properties"));
        ods.setConnectionProperties(cp);
 
        // Pour ouvrir une session (représentée par l'objet connect
        Connection connect = ods.getConnection();
 
        // Travail sur la base
        // Ici, on écrira du code pour, par exemple, interroger la base
 
        // Ne pas oublier de fermer la session quand on a fini de manipuler la base
        connect.close();

Le fichier /mon/chemin/mon_fichier.properties ressemblant à:

user=votrelogin
password=votremotdepasse
server=oracle710.univ-lyon1.fr:1521:orapeda1

Accès depuis l'extérieur de l'université

L'accès direct au serveur Oracle depuis l'extérieur du réseau de l'UCBL est impossible. Pour se connecter depuis l'extérieur il est nécessaire d'utiliser un tunnel SSH.

Sous un système de type UNIX (Linux, Mac OS X, etc ...)

Il suffit d'ouvrir une session SSH sur pedagolinux710.univ-lyon1.fr avec un transfert de port:

ssh xxx@pedagolinux710.univ-lyon1.fr -L1521:oracle710.univ-lyon1.fr:1521

où xxx est votre login UCBL4). L'option -L1521:oracle710.univ-lyon1.fr:1521 signifie de transmettre les informations du port 1521 sur localhost (i.e. votre machine), vers le port 1521 sur oracle710.univ-lyon1.fr5).

La reconfiguration du client est expliquée à la fin de la page.

Fichier de configuration

Il est possible de stocker le fichier ~/.ssh/config les informations de connexion. Voici un fichier de base (il faut juste remplacer xxx par votre login).

Host oraclessh Hostname pedagolinux710.univ-lyon1.fr User xxx LocalForward 1521 oracle710.univ-lyon1.fr:1521

Il suffit ensuite taper ssh oraclessh pour se connecter à oracle710.univ-lyon1.fr avec les 2 tunnels.

Sous Windows

La première étape consiste à installer PuTTY. Lancer ensuite PuTTY et éditer Host Name en indiquant pedagolinux710.univ-lyon1.fr:

Putty: Host Name

Dans l'option Data indiquer votre login (ci-dessous xxx) dans Auto-login username:

Putty: Auto-login username

Dans l'option Tunnels, indiquer 1521 dans Source port et oracle710.univ-lyon1.fr:1521 dans Destination, puis cliquer sur Add.

Putty: Tunnel

Pour finir, revenir dans l'option Session, et indiquer dans Saved Session un nom pour la configuration, par exemple oraclessh, puis cliquer sur Save.

Putty: sauver la configuration

Pour lancer la connexion, il suffit à présent de cliquer sur oraclessh (ou le nom que vous avez choisi) puis sur Open. Entrer le mot de passe UCBL. La connexion est établie.

Reconfiguration

Il suffit de remplacer oracle710.univ-lyon1.fr par localhost dans la configuration du client. Si vous utilisez SQLPlus6), il peut être nécessaire de changer le fichier TNSNAMES.ORA.

Problèmes de connexion

  1. Vérifier que vous utilisez votre login unix/UCBL dans Putty et votre login Oracle (e.g. fourni dans tomuss) dans SQLDeveloper.

<note warning>Si vous avez installé Oracle eXpress Edition, le TNSListener (Service Windows: OracleXETNSListener) occupe le port 1521 sur votre machine, il faut l'arrêter avant de lancer Putty.</note>

1)
en général, le mot de passe est l'identifiant sont identiques à la création
2)
en fait 3 instances
3)
sauf dans le cas d'un accès depuis l'extérieur de l'UCBL
4)
celui que vous utilisez pour le mail de l'université et pour vous connecter sur les machines de TP
5)
le port 1521 est celui utilisé par SQLPlus et SQLDeveloper pour se connecter à la base
6)
non recommandé sur une machine personnelle