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 les informations du tableau ci-dessous pour connaître la configuration cliente Oracle adaptée :
Combinaisons d'installation | Configuration à 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.
- Ouvrez la fenêtre Catalog (Catalogue) dans ArcGIS Pro.
- Cliquez avec le bouton droit sur Databases (Bases de données) et sélectionnez New Database Connection (Nouvelle connexion à une base de données).
- Sélectionnez Oracle dans la liste déroulante Plateforme de la base de données.
- Sélectionnez l’une des options de connexion suivantes dans le menu déroulant Connection Type (Type de connexion) :
- Basic (Basic) : sélectionnez cette option pour vous connecter à l’aide de chaînes Oracle Easy Connect.
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.
- TNS (TNS) : sélectionnez cette option si vous avez configuré le client Oracle de sorte qu’il utilise des connexions TNS sur chaque machine client ArcGIS.
Dans le champ Net Service Name (Nom de service réseau), saisissez le nom de service réseau que vous avez défini dans le fichier tnsnames.ora.
Dans l’exemple suivant, le nom de service réseau myoratnsname a été défini dans le fichier tnsnames.ora :
- Basic (Basic) : sélectionnez cette option pour vous connecter à l’aide de chaînes Oracle Easy Connect.
- Si vous utilisez le type de connexion Basic (Basic), spécifiez les informations suivantes :
- Si l’instance Oracle n’écoute pas sur le numéro de port Oracle par défaut, saisissez le numéro de port autre que le numéro de port par défaut dans le champ Port (Port).
- Saisissez l’une des options suivantes dans la zone de texte Hostname (Nom d’hôte) :
- Le nom du serveur Oracle (par exemple, myserver).
- L’adresse IP su serveur Oracle (par exemple, 10:10:10:10). Placez les adresses IPV6 entre crochets, comme suit : [4000:ab5:0:0:f666:d191:77f5:e2bd].
- Une URL contenant le nom du serveur Oracle (par exemple, //myserver).
- Saisissez l’ID ou le nom de service Oracle dans le champ Database (Base de données).
Dans l’exemple ci-après, le nom du serveur Oracle est myserver, le nom de service Oracle est myoracledb et les communications utilisent le port 60000.
- 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.
- 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.
- Saisissez un nom pour le fichier de connexion dans le champ Connection File Name (Nom du fichier de connexion).
Lorsque vous indiquez les informations de connexion, un nom par défaut est créé. Vous pouvez utiliser ce nom par défaut ou saisir un nom de fichier plus descriptif.
Il s’agit du nom qui apparaîtra dans la fenêtre et dans la vue Catalog (Catalogue) et du nom du fichier .sde stocké sur le disque.
- Cliquez sur Validate (Valider) pour confirmer que les informations de connexion sont valides et que la base de données est accessible.
Si la base de données contient une géodatabase et que la connexion est valide, l’onglet Geodatabase Properties (Propriétés de la géodatabase) est désormais actif. Le cas échéant, vous pouvez modifier les propriétés de connexion à la géodatabase pour établir une connexion à une version traditionnelle autre que la version par défaut, configurer la connexion en tant que connexion à une version de branche ou établir une connexion à un moment historique.
- 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.
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é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.
Modifier 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 :
- 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.
- Ouvrez le script init_user_param.sh dans un éditeur de texte.
- 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
- 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 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 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_<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.
- ORACLE_BASE=<Oracle_Installdir>
- 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.
- Enregistrez et fermez le script.
- 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.
- 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. |
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 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 d’ajouter un élément de data store dans le portail.
Vous avez un commentaire à formuler concernant cette rubrique ?