Se connecter à Oracle depuis ArcGIS

Pour vous connecter à Oracle depuis des clients ArcGIS, installez un client Oracle sur la machine cliente ArcGIS, définissez des variables d’environnement qui référencent le client Oracle, puis établissez une connexion à la base de données à partir de ArcGIS.

Pour publier les services Web ArcGIS Server qui référencent les données de votre base de données Oracle, inscrivez le fichier de connexion à une base de données auprès de vos sites ArcGIS Server.

Installer le logiciel client Oracle

Le logiciel client Oracle doit être installé sur tous les ordinateurs clients ArcGIS qui se connecteront à la base de données. Si vous ne disposez pas des privilèges nécessaires pour installer des logiciels sur les ordinateurs exécutant les clients ArcGIS, demandez à votre service informatique d’installer et de configurer le client Oracle pour vous.

Installez une version de l’application cliente Oracle compatible avec la version de la base de données à laquelle vous souhaitez vous connecter.

Vous pouvez obtenir le client Oracle Instant, Runtime ou Administrator auprès de Oracle et l’installer sur l’ordinateur client, conformément aux instructions de la documentation Oracle.

Utilisez le tableau ci-dessous pour connaître la configuration de client Oracleadaptée :

Combinaisons d'installationConfiguration à utiliser

ArcGIS Server (site comportant un seul ordinateur) et Oracle sont installés sur le même serveur ; ArcGIS Pro est installé sur un ordinateur différent.

Installez un client Oracle 64 bits sur tous les ordinateurs ArcGIS Pro et définissez la variable PATH sur le répertoire d’accueil du client Oracle.

Il n’est pas nécessaire d’installer un client Oracle sur le serveur, car les fichiers de connexion sont installés avec le système de gestion de bases de données Oracle. Assurez-vous que la variable système LD_LIBRARY_PATH (Linux) ou PATH (Microsoft Windows) est définie sur le répertoire d’accueil Oracle.

Si vous définissez un nom TNS pour le client Oracle, vous devez utiliser le même nom sur les machines ArcGIS Server et ArcGIS Pro.

ArcGIS Server est installé sur une ou plusieurs machines distinctes du SGBD. ArcGIS Pro est installé sur des ordinateurs distincts de Oracle et de ArcGIS Server.

Installez un client Oracle 64 bits sur tous les ordinateurs ArcGIS Pro et définissez la variable PATH sur le répertoire d’accueil du client Oracle.

Installez le client Oracle 64 bits sur tous les ordinateurs ArcGIS Server et veillez à ce que la variable système PATH (Windows) ou LD_LIBRARY_PATH (Linux) est définie sur le répertoire d’accueil du client Oracle.

Si vous définissez un nom TNS pour le client Oracle, vous devez utiliser le même nom sur les machines ArcGIS Server et ArcGIS Pro.

ArcGIS Server et ArcGIS Pro sont installés sur le même serveur. Oracle est installé sur un serveur différent.

Installez le client Oracle 64 bits sur toutes les machines ArcGIS Server. ArcGIS Server et ArcGIS Pro utiliseront ce client.

Définissez la variable système PATH sur le répertoire d’accueil du client Oracle.

ArcGIS Server, ArcGIS Pro et Oracle sont installés sur une seule machine.

ArcGIS Server et ArcGIS Pro utiliseront les fichiers du client 64 bits installés avec le système de gestion de bases de données Oracle pour se connecter.

Définissez la variable PATH sur le répertoire d’accueil du client Oracle.

Si votre site ArcGIS Server comprend des serveurs supplémentaires, installez le client Oracle 64 bits sur chacun des serveurs du site et définissez la variable PATH sur le répertoire d’accueil du client Oracle.

Connexion à partir de ArcGIS Pro

Après avoir installé le client Oracle sur l’ordinateur ArcGIS Pro, définissez la variable d’environnement PATH sur l’emplacement du client Oracle, puis établissez une connexion à une base de données.

Définir la variable PATH

Définissez la variable d’environnement PATH sur la machine ArcGIS Pro pour qu’elle désigne le répertoire d’installation du client Oracle. Consultez la documentation Microsoft Windows pour savoir comment définir la variable d’environnement PATH.

Si ArcGIS Pro est ouvert sur la machine avant la définition de la variable PATH, redémarrez le programme pour appliquer le nouveau paramètre.

Connexion à la base de données

Ajoutez une connexion à la base de données à l’aide de la boîte de dialogue Database Connection (Connexion à la base de données) ou de l’outil de géotraitement Créer une connexion à la base de données.

La procédure suivante présente l’utilisation de la boîte de dialogue Database Connection (Connexion à la base de données) pour se connecter à Oracle.

  1. Ouvrez la fenêtre Catalog (Catalogue) dans ArcGIS Pro.
  2. Cliquez avec le bouton droit sur Databases (Bases de données) et sélectionnez New Database Connection (Nouvelle connexion à une base de données).
  3. Sélectionnez Oracle dans la liste déroulante Plateforme de la base de données.
  4. Indiquez le nom TNS Oracle dans la zone de texte Instance ou indiquez une des chaînes Easy Connect de Oracle suivantes :
    • Nom du serveur Oracle/nom ou ID du service Oracle

      Par exemple, si Oracle est installé sur myserver et que myosvc est le nom du service Oracle, saisissez la syntaxe suivante :

      myserver/myosvc

    • Nom du serveur Oracle : numéro de port Oracle/nom ou ID du service Oracle

      Dans cet exemple, Oracle est installé sur myserver, écoute sur le port 60000 et myoservice est le nom du service Oracle.

      myserver:60000/myoservice

    • Adresse URL du serveur Oracle

      L'URL de l'instance illustrée dans le dernier exemple serait la suivante :

      //myserver:60000/myoservice

    • Nom du serveur Oracle (vous pouvez l’utiliser si le processus d’écoute Oracle sur le serveur est configuré pour pointer sur une instance par défaut.)
    • Adresse IP du serveur Oracle/nom ou ID du service Oracle

      Par exemple, si l’adresse du serveur est 10:10:10:10 et que le nom du service Oracle est orasvc, saisissez 10:10:10:10/orasvc.

      Placez les adresses IPV6 entre crochets, comme suit : [4000:ab5:0:0:f666:d191:77f5:e2bd]/orasvc.

    • Adresse IP du serveur Oracle : numéro de port Oracle/nom ou ID du service Oracle

      Dans cet exemple, l’adresse IP est 10:20:30:40, le port 59999 et le service Oracle myomy1 : 10:20:30:40:59999/myomy1.

      Une adresse IPV6 pour les mêmes port et service aurait l'aspect suivant : [6543:ef4:0:1:f587:l249:12f9:a3cd]:59999/myomy110:20:30:40:59999/myomy1.

    Vérifiez que votre instance Oracle est configurée de façon à autoriser Easy Connect. Si le client Oracle complet est installé, mais que vous souhaitez utiliser la syntaxe Easy Connect pour vous connecter, veillez à ce que le fichier sqlnet.ora sur le client soit configuré de façon à autoriser l’utilisation d’Easy Connect et à ce que le serveur Oracle soit configuré pour autoriser la syntaxe Easy Connect. Notez également que si votre instance Oracle n’écoute pas sur le numéro de port Oracle par défaut, vous devez utiliser la syntaxe de connexion incluant le numéro de port.

  5. Choisissez le type d'authentification à utiliser lorsque vous vous connectez à la base de données : Authentification de la base de données ou Authentification du système d’exploitation.
    • Si vous cliquez sur Operating system authentication (Authentification du système d’exploitation), vous n’avez pas besoin d’entrer un nom d’utilisateur et un mot de passe : la connexion est établie avec le nom de connexion et le mot de passe utilisés pour ouvrir une session dans le système d’exploitation. Si la connexion utilisée pour le système d’exploitation n’est pas une connexion de base de données valide, la connexion échoue. Vous ne pouvez pas utiliser l’authentification du système d’exploitation si vous utilisez Instant Client Oracle.
      Remarque :

      Lorsque vous utilisez l’authentification du système d’exploitation dans Oracle, l’identifiant de connexion au système d’exploitation est préfixé par une chaîne os_authent_prefix (par défaut, OPS$) et stocké dans la table USERNAME. Le nombre maximal de caractères autorisés pour le nom d’utilisateur lors de la connexion à la géodatabase est de 30. Dans ces cas précis, ArcGIS entoure votre nom d’utilisateur de guillemets pour le transmettre à la base de données. Ces guillemets sont compris dans le nombre total de 30 caractères.

    • Si vous choisissez Database authentication (Authentification de la base de données), vous devez fournir un nom d’utilisateur de base de données et un mot de passe valides dans les zones de texte User name (Nom d’utilisateur) et Password (Mot de passe). La longueur maximale des noms d’utilisateur est de 30 caractères.

      Décochez la case Enregistrer le nom d'utilisateur et le mot de passe si vous préférez ne pas enregistrer les informations de connexion avec la connexion. Cela peut vous aider à sécuriser la base de données. Toutefois, si vous procédez ainsi, vous serez invité à fournir un nom d’utilisateur et un mot de passe à chaque connexion.

    Remarque :

    L’option Save user name and password (Enregistrer le nom d’utilisateur et le mot de passe) doit être activée pour les fichiers de connexion offrant des services ArcGIS avec accès à la base de données, ou si vous souhaitez localiser dans ArcGIS Pro les données accessibles via ce fichier de connexion.

  6. Cliquez sur OK pour créer le fichier de connexion.

Une connexion à une base de données s’affiche sous Databases (Bases de données) dans la fenêtre Catalog (Catalogue) et un fichier de connexion (.sde) est créé dans le répertoire de projet ArcGIS Pro.

Vous pouvez renommer le fichier en saisissant un nouveau nom dans la fenêtre Catalog (Catalogue) et en appuyant sur Entrée.

Connexion à partir de ArcGIS Server

Après avoir installé un client Oracle 64 bits sur toutes les machines sur le site ArcGIS Server, définissez des variables, créez un fichier de connexion à une base de données, accordez des privilèges et inscrivez la base de données auprès de votre site ArcGIS Server.

Définissez la variable d’environnement PATH (Windows onlyuniquement)

Définissez la variable d’environnement PATH sur chaque serveur Windows de ArcGIS Server pour qu’elle désigne le répertoire d’installation du client Oracle. Consultez la documentation Microsoft Windows pour savoir comment définir la variable d’environnement PATH.

Si ArcGIS Server était en cours d’exécution avant la configuration du client Oracle et la définition de la variable PATH, vous devez redémarrer ArcGIS Server. Vous pouvez redémarrer ArcGIS Server à partir de l’interface des Services Windows.

Définir la variable d’environnement LD_LIBRARY_PATH (client Administrator, Developer ou Runtime Linux et Oracle uniquement)

Si vous avez installé le client Administrator, Developer ou Runtime Oracle, définissez la variable système LD_LIBRARY_PATH sur le répertoire d’accueil du client Oracle.

Si vous avez installé le client Instant Oracle, définissez la variable LD_LIBRARY_PATH dans le script init_user_param.sh.

Modifiez le script init_user_param.sh (Linux uniquement).

Après avoir installé les fichiers de clients de bases de données, modifiez le script init_user_param.sh installé avec ArcGIS Server pour référencer les fichiers de clients. Vous pouvez accéder à ce script dans le répertoire <ArcGIS Server installation directory>/arcgis/server/usr.

Vous devez mettre à jour le init_user_param.sh sur chaque machine du site ArcGIS Server.

Remarque :

Si votre profil utilisateur référence le client Oracle et si les informations sur le client ne sont pas identiques dans le profil utilisateur et dans init_user_param.sh, ArcGIS Server risque d’avoir des difficultés à se connecter à la base de données. Pour éviter les problèmes de connexion, supprimez les informations de référence de votre profil utilisateur et référencez à nouveau vos bibliothèques de client de base de données en procédant comme suit :

  1. Vérifiez que le propriétaire de l’installation ArcGIS Server sur chaque machine dispose au moins des autorisations de lecture et d’exécution sur les bibliothèques du client de la base de données.
  2. Ouvrez le script init_user_param.sh dans un éditeur de texte.
  3. Supprimez les marques de commentaire (#) des lignes qui commencent par export.

    Si vous avez installé le client Oracle Administrator, Developer ou Runtime, supprimez les marques de commentaire de toutes les lignes Oracle commençant par export.

    #
    # For connection with Oracle Runtime or Administrator Client
    #
    export ORACLE_BASE=<Oracle_Installdir>/app
    export ORACLE_HOME=$ORACLE_BASE/<Oracle_release>/product/<Oracle_version>/<client_version>
    export ORACLE_SID=<set when applicable>
    export TNS_ADMIN=<set when applicable. e.g.$ORACLE_HOME/network/admin>
    export PATH=$ORACLE_HOME/bin:$PATH
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH

    Si vous utilisez les bibliothèques Database Instant Client Oracle, vous devez uniquement annuler les marques de commentaire et définir $LD_LIBRARY_PATH ; par exemple :

    #
    # For connection with Oracle Instant Client
    #
    export LD_LIBRARY_PATH=<Location_to_instantclient_11_2>:$LD_LIBRARY_PATH

  4. Définissez les valeurs des variables d'exportation.
    • Pour les clients Oracle Administrator, Developer ou Runtime, supprimez les marques de commentaire et définissez les variables suivantes en fonction des informations spécifiques à votre implémentation.
      • ORACLE_BASE=<Oracle_Installdir>

        <Oracle_Installdir> correspond au nom et au chemin d’accès au répertoire de niveau supérieur dans lequel le client Oracle est installé.

      • ORACLE_HOME=$ORACLE_BASE/<Oracle_Release>/product/<Oracle_Version>/client_1

        Il s’agit du chemin d’accès aux fichiers de la bibliothèque du client Oracle. Définissez ORACLE_HOME sur le répertoire qui contient ces fichiers. Par défaut, le nom du répertoire est client_1, mais il peut varier selon les installations.

      • Si vous utilisez l’ID du système Oracle (SID) pour vous connecter, définissez ORACLE_SID= sur l’ID du système Oracle de votre base de données. Si vous devez utiliser une chaîne Easy Connect pour vous connecter, mettez cette ligne en commentaire.
      • Définissez TNS_ADMIN= sur l’emplacement des fichiers d’administration TNS du client Oracle. Si vous devez utiliser une chaîne Easy Connect pour vous connecter, aucune valeur n'est attendue et vous pouvez mettre cette ligne en commentaire.
    • Pour les clients Oracle Instant, supprimez les marques de commentaire et définissez uniquement la variable LD_LIBRARY_PATH, en remplaçant <Location_to_instantclient> par le nom et le chemin d’accès au répertoire qui contient les fichiers de Oracle Instant Client.
    • Si ArcGIS Server et Oracle sont installés sur le même serveur, supprimez les marques de commentaire et définissez les variables suivantes :
      • ORACLE_BASE=<Oracle_Installdir>

        <Oracle_Installdir> correspond au nom et au chemin d’accès au répertoire de niveau supérieur dans lequel est installé Oracle.

      • ORACLE_HOME=$ORACLE_BASE/<Oracle_Release>/product/<Oracle_Version>/client_1

        Il s’agit du chemin d’accès aux fichiers de la bibliothèque Oracle. Définissez ORACLE_HOME sur le répertoire qui contient ces fichiers. Par défaut, le nom du répertoire est db_<n>, mais il peut varier selon les installations.

      • Si vous utilisez l’ID du système Oracle (SID) pour vous connecter, définissez ORACLE_SID= sur l’ID du système Oracle de votre base de données. Si vous devez utiliser une chaîne Easy Connect pour vous connecter, mettez cette ligne en commentaire.
      • Définissez TNS_ADMIN= sur l’emplacement des fichiers d’administration TNS du client Oracle. Si vous devez utiliser une chaîne Easy Connect pour vous connecter, aucune valeur n'est attendue et vous pouvez mettre cette ligne en commentaire.
  5. Enregistrez et fermez le script.
  6. Pour que les modifications apportées dans le fichier init_user_param.sh prennent effet, vous devez redémarrer ArcGIS Server.

    Pour ce faire, exécutez le script stopserver.sh, puis le script startserver.sh sur chaque machine du site ArcGIS Server.

    ./stopserver.sh

    ./startserver.sh

Créer un fichier de connexion à une base de données

Créez un fichier de connexion à une boîte de données à l’aide de la boîte de dialogue Database Connection (Connexion à une base de données) d’ArcGIS Pro, comme décrit ci-dessus.

Une autre possibilité consiste à exécuter l’outil Créer une connexion à une base de données dans ArcGIS Pro ou à utiliser Python pour exécuter la commande Créer une connexion à une base de données à partir d’une machine ArcGIS Server pour créer un fichier de connexion à une base de données (.sde) qui se connecte à une base de données.

Les informations suivantes concernent la création d’un fichier de connexion à une base de données à utiliser avec ArcGIS Server :

  • Vous devez enregistrer les informations d’utilisateur dans le fichier de connexion.
  • Si vous faites appel à l’authentification du système d’exploitation, utilisez un compte de domaine pour le compte ArcGIS Server et ajoutez ce compte de domaine à la base de données Oracle.

Accorder des privilèges

L’utilisateur de base de données, le rôle ou le compte ArcGIS Server (si vous utilisez l’authentification du système d’exploitation) avec lequel vous vous connectez à la base de données doit disposer de privilèges sur la base de données pour accéder aux données à publier. Les privilèges, ainsi que les circonstances dans lesquelles vous devez les accorder, sont les suivants :

PrivilègeMotif

CREATE SESSION

Requis pour se connecter à la base de données.

CREATE TABLE

Les jeux de sélection génèrent une table de fichiers journaux dans la géodatabase. Si un utilisateur n’a pas ce privilège, les tables de fichiers journaux sont créées dans la structure de l’utilisateur sde.

Privilèges SELECT sur les jeux de données à publier

Accordez au moins à l'utilisateur ou au compte ArcGIS des privilèges SELECT sur les jeux de données à publier.

Privilèges INSERT, UPDATE et/ou DELETE sur les données publiées dans des services d'entités modifiables

Pour mettre les données à jour via un service d'entités, vous devez accorder des privilèges de mise à jour sur les jeux de données.

L’administrateur de la base de données doit accorder les deux premiers privilèges indiqués ci-dessus. Si les données sont stockées dans une géodatabase, le propriétaire des données doit accorder les privilèges requis aux jeux de données. Si les données sont stockées dans une base de données, le propriétaire des données peut accorder des privilèges aux jeux de données à partir de ArcGIS. L’administrateur de la base de données peut également utiliser les outils de la base de données pour accorder les privilèges requis.

Si vous prévoyez d’inscrire la géodatabase en tant que base de données gérée pour un site ArcGIS Server autonome ou fédéré, le compte avec lequel vous vous connectez doit disposer des privilèges suffisants pour créer des données dans la géodatabase.

Pour plus d’informations, consultez les rubriques Privilèges pour les géodatabases dans Oracle ou Privilèges pour l’utilisation de ArcGIS avec une base de données Oracle.

Inscrire la base de données

Pour autoriser le site ArcGIS Server à accéder aux données, utilisez le fichier de connexion à une base de données que vous avez créé afin d’ajouter un data store inscrit dans ArcGIS Pro ou d’ajouter un élément de data store dans le portail.