Outils pour utilisateurs

Outils du site


environnements:oracle

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
environnements:oracle [2017/09/14 14:13]
magim >
environnements:oracle [2023/11/16 10:54] (Version actuelle)
magim
Ligne 1: Ligne 1:
 ====== Le serveur de base de données Oracle ====== ====== Le serveur de base de données Oracle ======
  
 +Suite à des changements sur notre infrastructure pour des raisons de sécurité, et de performance un nouveau serveur Oracle (19C) à été déployé, les modalités de connexion à la base Oracle restent similaires : 
  
-Les TP Oracle ​sont centralisés sur le serveur ​''​im2ag-oracle.e.ujf-grenoble.fr''​ , ce serveur ​est dédié à cet usage.+  * **<color #​ed1c24>​Le mot de passe Oracle ​n'​est ​pas celui de votre compte universitaire.</​color>​**
  
-Le nom de l'​instance (SID) qui héberge l'​ensemble des schémas est : ufrima 
  
-===== Accès aux bases =====+Voir le chapitre "​[[https://​im2ag-wiki.univ-grenoble-alpes.fr/​doku.php?​id=environnements:​oracle#​connexion_oracle|connexion à Oracle]]"​ ci-dessous pour plus de détails sur les modalités de connexion.
  
-Il existe plusieurs façons de se connecter à ''​im2ag-oracle'',​ selon +===== Les différentes instances ​ =====
-les accès dont on dispose et les programmes auxquels on a accès.+
  
-==== Connexion depuis un terminal ouvert sur le serveur  ​====+Le serveur ​Oracle héberge plusieurs instances : afin de cloisonner les TP, à la fois par rapport aux manipulations sensibles de certains d'​entre eux, mais aussi dans le but de mieux répartir les ressources du système. 
 +   
 +Par défaut (si on ne change pas d'​instance),​ c'est l'​instance **IM2AG** qui est configurée dans l'​environnement.
  
-Il est possible de changer dinstance Oracle. +Les instances accessible à tous sont:
-Pour cela, entrez la commande:+
  
-   ​source /​oracle/<​nom-instance>/​.cshrc +  ​* **IM2AG** : sur cette instance, ​les utilisateurs peuvent créer leur propre base de données, elle est donc particulièrement adaptée aux TP plus avancés où les étudiants doivent faire de telles manipulations.
-   ​ +
-Par defaut (si on ne change pas d'instance)c'est l'​instance UFRIMA qui est configuré 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ées. 
 + 
 +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. Voici une liste des instances existantes ​: 
 + 
 +  * **UFRIMA** 
 +  * **IM2AG** 
 +  * **M1MIAGE** 
 +  * **TPTOMCAT** 
 + 
 + 
 +===== Connexion Oracle ===== 
 + 
 +Il faut vous connecter en ssh sur le serveur **im2ag-oracle.univ-grenoble-alpes.fr** avec vos login et mot de passe universitaires : 
 + 
 +<​code=bash>​ 
 +ssh login@im2ag-oracle.univ-grenoble-alpes.fr 
 +</​code>​ 
 + 
 +Ensuite, prenez connaissance de votre mot de passe pour les bases de données Oracle. Il se trouve dans un fichier texte à la racine de votre HOME : **~/​oracle.txt**. Votre HOME est monté sur le serveur Oracle, vous pouvez donc utiliser la commande suivante pour afficher votre mot de passe Oracle : 
 + 
 +<​code=bash>​ 
 +cat ~/​oracle.txt 
 +</​code>​ 
 + 
 +L'​instance par defaut est precisée à la connexion, il s'agit de **IM2AG**, pour changer d'​instance il faudra modifier l'​environement avec la commande source.  
 +Exemple pour l'​instance UFRIMA: 
 +<​code=bash>​ 
 +source /​oracle/​UFRIMA/​.cshrc 
 +</​code>​ 
 +Exemple pour l'​instance M1MIAGE: 
 +<​code=bash>​ 
 +source /​oracle/​M1MIAGE/​.cshrc 
 +</​code>​ 
 + 
 +Pour visualiser sur quelle instance vous êtes actuellement positionné vous pouvez utiliser la commande: 
 +<​code=bash>​ 
 +echo $ORACLE_SID 
 +</​code>​ 
 + 
 +Pour s'y connecter utilisez la commande : 
 + 
 +<​code=bash>​ 
 +sqlplus LOGIN 
 +</​code>​ 
 + 
 +En remplaçant **LOGIN** par votre login universitaire. 
 + 
 +Un prompt vous demandera de saisir le mot de passe qui se trouve dans le fichier ~/​oracle.txt. 
 + 
 +<​code=bash>​ 
 +[LOGIN@im2ag-oracle ~]$ sqlplus LOGIN 
 +SQL*Plus: Release 19.0.0.0.0 - Production on Thu Sep 15 09:42:00 2022 
 +Version 19.3.0.0.0 
 +Copyright (c) 1982, 2019, Oracle. All rights reserved. 
 +Enter password: 
 +</​code>​ 
 + 
 + 
 +<color #​ff7b0a>​**Remarque : **</​color>​ Il est possible d'​utiliser **gqlplus** à la place de **sqlplus** il s'agit d'une alternative qui permet d'​avoir un historique des commandes SQL une édition de ligne fonctionnelle et de l'​autocompletion. 
 + 
 +===== Changement de mot de passe Oracle ===== 
 + 
 +**Avertissement** : vous êtes l'​unique détenteur de votre mot de passe Oracle. 
 + 
 +Si vous le souhaitez, vous pouvez modifier le mot de passe qui se trouve dans le fichier oracle.txt. Prenez garde à choisir un mot de passe ayant au minimum 8 caractères et au maximum 16, et faites attention à ne pas laisser de caractères spéciaux dans le fichier (sauts de lignes, espaces, etc.). Une fois le fichier modifié, le mot de passe sera mis à jour **dans les 12h suivantes** sur toutes les instances. En attendant, l'​ancien mot de passe est toujours valide, attention donc à le conserver le temps de la mise à jour. 
 + 
 +<color #​ed1c24>​**Attention :​**</​color>​ si vous supprimez votre fichier oracle.txt, un nouveau mot de passe sera généré dans les 12h suivantes pour toutes les instances et le fichier sera recréé. 
 + 
 +===== 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.
  
-  * UFRIMA (Accessible en lecture uniquement) +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 :
-  * IM2AG (Accessible en lecture/​écriture)+
  
-Il y a aussi d'autres instances qui sont réservées à des TP spécifiquesles enseignants s'occupent de faire les demandes d'accès pour les étudiants concernés :+<​code=sql>​ 
 +    SELECT owner, table_name FROM all_tables 
 +    WHERE owner NOT IN ('SYS', 'SYSTEM', '​CTXSYS',​ '​MDSYS'​) 
 +    ORDER BY owner, table_name;​ 
 +</​code>​ 
 +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).
  
-  * M1MIAGE +La mise à disposition d'un schéma sur une ou des instances se fait à la demande des enseignants.
-  * TPTOMCAT +
-  * INF245 +
-  * M2CCI +
-  * TP_ADMIN_ORACLE_M2MIAGE +
-  * TP_ADMIN_ORACLE_M2PGI +
-  * HIB+
  
-Exemple; pour se connecter à l'​instance M1MIAGE+===== Les schémas personnels =====
  
-   > source /​oracle/​M1MIAGE/​.cshrc+Chaque étudiant ou enseignant possède sa propre base (schéma) sur Oracle, sur lequel il a les droits de lecture et d'​écriture.
  
-On utilise l'​outil ''​sqlplus''​ pour se connecter à la base de donnée. +Ce schéma est accessible ​de deux façons ​:
-Il faut ensuite lancer''​sqlplus''​ depuis la console, ce qui vous donne un +
-accès instantané à la base hébergée localement. Si tout fonctionne,​ +
-vous devriez obtenir le résultat suivant ​:+
  
-   ... sur im2ag-oracle.e ... +  * Soit en préfixant le nom des tables par votrelogin 
-  ​> sqlplus +  * Soit en changeant le schéma sur lequel ​on travaille avec la commande **ALTER SESSION SET CURRENT_SCHEMA = votrelogin**les tables sont ensuite accessible directement par leur nom sans aucun préfixe
-  SQL*Plus: Release 11.2.0.1.0 Production ​on Tue Oct 14 16:11:50 2014 +
-  Copyright (c) 19822009, Oracle. ​ All rights reserved. +
-  Enter user-name: ​+
  
-Si vous souhaitez vérifier sur quelle instance vous travaillez avant de lancer sqlplusvous pouvez utiliser la commande suivant :+Il est possible ​de créer des tablesdes vues, des triggers, etc.
  
- env+===== Se connecter à Oracle depuis une application =====
  
-Le contenu de la variable "​ORACLE_SID" ​vous indique sur quelle instance vous allez travailler.+Pour se connecter à Oracle depuis une application, ​vous aurez en général besoin des informations suivantes :
  
-==== En cas d'accès interdits depuis l'​extérieur ====+**Nom d'hote :** im2ag-oracle.univ-grenoble-alpes.fr
  
-Si vous essayez de vous connecter de chez vous, ou depuis le VPN, et +**Port :** 1521
-que vos tentatives de connexion sont bloquées, vous pouvez utiliser +
-une technique de tunnel SSH pour travailler envers et contre tout +
-obstacle.+
  
-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 se faire, entrez ​la commande suivante : +**Instance/​Servicename ​:** le nom de l'instance sur laquelle vous travaillez (voir la liste des instances en haut de cette page)
  
-  ssh -NL 21521:localhost:1521 im2ag-oracle.e.ujf-grenoble.fr+Pour se connecter depuis une application PHP hébergée sur Goedel (ou autre), vous avez un exemple de code ici https://im2ag-wiki.univ-grenoble-alpes.fr/​doku.php?​id=environnements:​php#​procedure_pour_se_connecter_a_une_base_oracle
  
-Cette commande ouvre le port 21521 sur votre machine et le lie au port +À noter que si vous essayez d'​accéder ​au port 1521 en dehors des réseaux ​de l'UGAvous devez utiliser le **VPN** \\ 
-1521 (le fameux port Oracle) ​de "​localhost de im2ag-oracle.e"​c'est à +<color #​ff7b0a>​Fonctionnement et installation du VPN</​color>:​ [[ https://​nomadisme.grenet.fr/​ ]].
-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 ===== ===== Mise en garde =====
environnements/oracle.1505391202.txt.gz · Dernière modification: 2017/09/14 14:13 par magim