Outils pour utilisateurs

Outils du site


Panneau latéral

environnements:oracle

Ceci est une ancienne révision du document !


Le serveur de base de données Oracle

Les TP Oracle sont centralisés sur le serveur im2ag-oracle.e.ujf-grenoble.fr , ce serveur est dédié à cet usage.

Ce serveur est accessible en ssh depuis tous les réseaux IM2AG.

Les différentes instances

Le serveur Oracle héberge plusieurs instances : cela a pour but de cloisonner les TP, à la fois par rapport aux manipulations sensibles de certains d'entre eux, mais cela a aussi pour but de mieux répartir les ressources du système.

Par défaut (si on ne change pas d'instance), c'est l'instance UFRIMA qui est configurée dans l'environnement.

Les instances accessible à tous sont:

  • UFRIMA : cette instance est la plus utilisée, elle est dédiée aux TP qui font des requêtes d'interrogation des schémas publics (camions, repas, etc.). Attention, sur cette instance, il est impossible pour les utilisateurs de créer leur propre base de donnée.
  • IM2AG : sur cette instance, les utilisateurs peuvent créer leur propre base de donnée, elle est donc particulièrement adaptée aux TP plus avancés où les étudiants doivent faire de telles manipulations.

Il y a aussi d'autres instances qui sont réservées à des TP spécifiques, les enseignants s'occupent de faire les demandes d'accès au service info pour les étudiants concernés :

  • M1MIAGE
  • TPTOMCAT
  • INF245
  • M2CCI
  • TP_ADMIN_ORACLE_M2MIAGE
  • TP_ADMIN_ORACLE_M2PGI
  • HIB

Si l'on souhaite changer d'instance, il faut utiliser la commande suivante :

 source /oracle/M1MIAGE/.cshrc

Si vous souhaitez vérifier sur quelle instance vous travaillez avant de lancer sqlplus, vous pouvez utiliser la commande suivante :

 env

Le contenu de la variable “ORACLE_SID” vous indique sur quelle instance vous allez travailler.

Les schémas publics

Pour les besoins des TP, certaines instances hébergent des schémas publics : tous les utilisateurs peuvent faire des requêtes d'interrogation sur ces derniers.

Lorsque l'on se trouve sur une instance, la requête SQL suivante permet de lister l'ensemble des schémas et tables publics qui nous sont accessibles :

  SELECT owner, table_name FROM all_tables
  WHERE owner NOT IN ('SYS', 'SYSTEM', 'CTXSYS', 'MDSYS')
  ORDER BY owner, table_name;

La colonne owner correspond au nom des schémas, et la colonne table_name contient le nom des tables. Attention, cette requête liste également les schémas des éventuels utilisateurs qui ont défini un accès public sur leurs tables (et peut être certaines tables système dont il ne faut pas tenir compte).

En cas d'accès interdits depuis l'extérieur

Si vous essayez de vous connecter de chez vous, ou depuis le VPN, et que vos tentatives de connexion sont bloquées, vous pouvez utiliser un tunnel SSH pour contourner les filtrages réseau.

Le principe est le suivant : plutôt que d'accèder directement au port Oracle sur le serveur, on peut feinter en passant par le port SSH qui, lui, est toujours ouvert, et en se connectant au port Oracle “de l'intérieur”. Pour ce faire, entrez la commande suivante :

ssh -NL 21521:localhost:1521 im2ag-oracle.e.ujf-grenoble.fr

Cette commande ouvre le port 21521 sur votre machine et le lie au port 1521 (le fameux port Oracle) de “localhost de im2ag-oracle.e”, c'est à dire au port 1521 comme vu de im2ag-oracle lui-même.

Ensuite, tous vos accès à la base Oracle peuvent se faire sur localhost:21521, qui sera automatiquement forwardé à im2ag-oracle.e:1521

Mise en garde

Faites attention à bien fermer votre session (ou si vous écrivez des scripts, à bien fermer la connexion à la base après avoir effectué vos requêtes). Dans le cas contraire, les connexions mortes ainsi créées attendent le timeout du serveur pour se fermer, ce qui entretemps peut vous empêcher d'en ouvrir de nouvelles.

environnements/oracle.1506497188.txt.gz · Dernière modification: 2017/09/27 09:26 par magim