Skip to main content

Se connecter à Oracle depuis ArcGIS

Pour publier des services Web ArcGIS Server qui référencent les données dans une base de données Oracle, procédez comme suit :

Installer le logiciel client Oracle

Le logiciel client Oracle doit être installé sur toutes les machines du site ArcGIS Server utilisé à des fins de publication. 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 devez vous connecter.

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

Utilisez les informations du tableau ci-dessous pour connaître la configuration cliente Oracle adaptée :

Combinaisons d'installation

Configuration à utiliser

ArcGIS Server (site comportant une seule machine) et Oracle sont installés sur le même serveur ; ArcGIS Pro est installé sur différentes machines.

Installez un client Oracle 64 bits sur toutes les machines Oracle 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) soit définie sur le répertoire d’accueil Oracle.

Si vous définissez un nom tnsname 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 machines distinctes à la fois d’Oracle et d’ArcGIS Server.

Installez un client Oracle 64 bits sur toutes les machines Oracle et définissez la variable PATH sir le répertoire d’accueil du client Oracle.

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

Si vous définissez un nom tnsname 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 autre serveur.

Installez le client Oracle 64 bits sur toutes les machines ArcGIS Server. ArcGIS Server et ArcGIS Pro utiliseront tous deux 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 clients 64 bits installés avec le système de gestion de base 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.

Définir la variable d’environnement LD_LIBRARY_PATH (client Administrator, Developer ou Runtime 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 Oracle Instant, définissez la variable LD_LIBRARY_PATH dans le script init_user_param.sh.

Modifier le script init_user_param.sh

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 script 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 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 Oracle Database Instant Client, 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 du 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 du client Oracle Instant.

    • 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 du répertoire de niveau supérieur dans lequel 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 Oracle. Définissez ORACLE_HOME sur le répertoire qui contient ces fichiers. Par défaut, le nom du répertoire est db_, 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

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

Définissez la variable d’environnement PATH sur chaque serveur Windows ArcGIS Server pour qu’elle désigne l’emplacement d’installation du client Oracle. Reportez-vous à la documentation Microsoft Windows pour savoir comment définir la variable d’environnement PATH.

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

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

Vous devez disposer d’une connexion à la base de données (fichier .sde) qui authentifie la connexion à la base de données.

Vous pouvez appeler la fonction ArcPy CreateDatabaseConnection depuis l’une des machines du site ArcGIS Server qui doit se connecter à la base de données. Consultez la rubrique Créer une connexion à une base de données dans l’aide d’ArcGIS Pro pour obtenir des informations sur l’exécution de cette fonction.

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.

  • Si vous utilisez une connexion TNS, assurez-vous d’utiliser le nom de service réseau du fichier tnsnames.ora sur toutes les machines du site ArcGIS Server et les clients ArcGIS Pro à partir desquels vous publiez.

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ège

Motif

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.

SELECT sur les jeux de données à publier

Accordez au moins à l’utilisateur ou au compte ArcGIS le privilège SELECT sur les jeux de données à publier.

Privilèges INSERT, UPDATE 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 d’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.

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

Inscrire le fichier de connexion

Pour autoriser les sites 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 afin d’ajouter un élément de data store dans le portail.