Installation d'Oracle et d'ArcSDE sur des serveurs distincts
Si vous installez le serveur d'applications ArcSDE sur un serveur différent de celui où Oracle est installé, vous devez effectuer des étapes supplémentaires pour configurer une géodatabase. Vous devrez notamment installer et configurer le client Oracle sur le serveur ArcSDE, copier les bibliothèques partagées du serveur ArcSDE sur le serveur Oracle, configurer EXTPROC pour rechercher les bibliothèques et définir la variable d'environnement TWO_TASK ou LOCAL sur le serveur ArcSDE.
- Assurez-vous qu'Oracle est installé et en cours d'exécution sur un serveur.
- Installez ArcSDE sur le serveur ArcSDE comme il est décrit dans les rubriques Installation d'ArcSDE pour Oracle sur Linux ou UNIX ou Installation d'ArcSDE pour Oracle sur Windows.
- Installez le logiciel client Oracle sur le serveur où ArcSDE est installé et configurez-le pour qu'il se connecte à la base de données Oracle.
- Assurez-vous que vous pouvez accéder à la base de données Oracle distante à l'aide de SQL à partir du serveur du client.
- Configurez la base de données Oracle, en ajoutant un utilisateur sde et en définissant des variables pour l'utilisateur du système d'exploitation sde sur Linux ou UNIX si nécessaire.
-
Copiez la bibliothèque partagée st_shape utilisée par EXTPROC sur le serveur Oracle. Si vous envisagez d'utiliser le type de stockage ST_Raster, copiez également la bibliothèque partagée libst_raster_ora sur le serveur Oracle. Les noms exacts de ces fichiers varient selon le système d'exploitation que vous utilisez. Les noms complets pour chaque système d'exploitation pris en charge sont indiqués dans le tableau 1.
Assurez-vous que les fichiers copiés sur le serveur Oracle sont conçus pour s'exécuter sur le système d'exploitation du serveur Oracle. Par exemple, si ArcSDE est installé sur un ordinateur Linux, alors qu'Oracle est installé sur un ordinateur Solaris, les fichiers de bibliothèque que vous copiez sur le serveur Oracle doivent être conçus pour Solaris. Pour obtenir les fichiers pour un autre système d'exploitation, installez les fichiers de logiciel du composant ArcSDE sur le serveur Oracle pour créer les fichiers SDEHOME et supprimez tout sauf les fichiers de bibliothèque requis.
Ou bien, si votre base de données Oracle est installée sur un serveur Windows, copiez les bibliothèques du répertoire bin d'ArcGIS Desktop. Assurez-vous simplement que la version d'ArcGIS Desktop est la même que la version d'ArcSDE que vous utilisez.
Tableau 1Nom de la bibliothèque
Noms de fichier dépendants du système d'exploitation ST_Shape
st_shapelib.dll (Windows), libst_shapelib.so (Solaris, Linux et HP-UX Itanium) ou libst_shapelib_64.so (IBM)
ST_Raster
Remarque :L'installation de ST_Raster est facultative. Reportez-vous à la rubrique Installation du type ST_Raster dans Oracle pour plus d'instructions si vous souhaitez utiliser ce type.
libst_raster_ora.dll (Windows), libst_raster_ora.so (Solaris, Linux et HP-UX Itanium) ou libst_raster_ora_64.so (IBM)
Ces fichiers se trouvent dans le répertoire bin (Windows) ou lib (UNIX/Linux) de SDEHOME une fois que vous avez installé ArcSDE. Vous pouvez copier ces fichiers dans le répertoire ORACLE_HOME\bin (Windows) ou ORACLE_HOME/bin (UNIX/Linux) sur le serveur Oracle, qui est l'emplacement par défaut dans lequel Oracle recherche les bibliothèques partagées. Ou bien, vous pouvez placer ces fichiers dans n'importe quel répertoire auquel l'utilisateur qui possède ORACLE_HOME peut accéder.
-
Créez les entrées de bibliothèque Oracle pour ces bibliothèques ArcSDE avec la commande SQL suivante en tant qu'administrateur ArcSDE (utilisateur sde).
Pour les serveurs Windows, remplacez <full_path> par le chemin d'accès aux bibliothèques et exécutez les commandes suivantes :
CREATE OR REPLACE LIBRARY st_shapelib AS '<full_path>\st_shapelib.dll' CREATE OR REPLACE LIBRARY libst_raster AS '<full_path>\libst_raster_ora.dll'
Pour les serveurs UNIX ou Linux, remplacez <full_path> par le chemin d'accès aux bibliothèques, fournissez les noms corrects des bibliothèques et exécutez les commandes suivantes :
CREATE OR REPLACE LIBRARY st_shapelib AS '<full_path>/libst_shapelib.so' CREATE OR REPLACE LIBRARY libst_raster AS '<full_path>/libst_raster_ora.so'
Remarque :Le nom exact de la bibliothèque sur les plates-formes UNIX varie. Consultez le tableau 1 pour connaître le nom correct de la bibliothèque pour le système d'exploitation que vous utilisez.
-
Configurez l'EXTPROC d'Oracle pour qu'il puisse trouver les bibliothèques st_shapelib et libst_raster_ora. Cette opération s'effectue dans le fichier de configuration du processus d'écoute, listener.ora, et dans le fichier tnsnames.ora sur le serveur de base de données.
-
Ajoutez l'entrée suivante dans le fichier tnsnames.ora sur le serveur de base de données distant :
EXTPROC_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC) (KEY = extproc) ) ) (CONNECT_DATA = (SID = PLSExtProc) (PRESENTATION = RO) ) )
-
Ajoutez l'entrée suivante à SID_LIST dans le fichier listener.ora sur le serveur de base de données distant :
Sur les serveurs Windows
SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME =<ORACLE_HOME_PATH>) (PROGRAM = extproc) (ENVS="EXTPROC_DLLS=<full_lib_path>\st_shapelib.dll;<full_lib_path>\libst_raster_ora.dll") ) )
Vous pouvez constater que les entrées pour les bibliothèques st_shapelib et libst_raster_ora sont séparées par un point-virgule.
Sur les serveurs UNIX ou Linux
SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME =<ORACLE_HOME_PATH>) (PROGRAM = extproc) (ENVS="EXTPROC_DLLS=<full_lib_path>/libst_shapelib.so:<full_lib_path>\libst_raster_ora.so,LD_LIBRARY_PATH=<full_lib_path>") ) )
Remarque :La variable de chemin d'accès (indiquée par LD_LIBRARY_PATH dans l'exemple) diffère selon votre système d'exploitation. Pour HP-UX Itanium, la variable est SHLIB_PATH. Pour IBM AIX, la variable est LIBPATH.
Et, comme il a été précédemment mentionné, les noms des bibliothèques varient selon le système d'exploitation. Veillez à utiliser le nom de bibliothèque correct.
-
Ajoutez l'entrée suivante dans le fichier tnsnames.ora sur le serveur de base de données distant :
- Redémarrez le processus d'écoute Oracle.
- Assurez-vous que l'utilisateur sde dispose des autorisations requises pour créer une géodatabase.
- Effectuez les étapes de post-installation d'ArcSDE comme il est indiqué dans les rubriques concernant chaque système d'exploitation. Pour les serveurs Windows, reportez-vous aux rubriques Création d'une géodatabase dans Oracle sous Windows et Autorisation de géodatabases ArcSDE dans Oracle sous Windows. Pour les serveurs Linux ou UNIX, reportez-vous aux rubriques Création d'une géodatabase dans Oracle sous Linux ou UNIX et Autorisation de géodatabases ArcSDE dans Oracle sous Linux ou UNIX.
-
Configurez un service ArcSDE, si vous avez l'intention d'en utiliser un pour vous connecter à la géodatabase. Selon le système d'exploitation sur lequel ArcSDE est installé, effectuez l'une des opérations suivantes :
- Sur les serveurs Windows, vous ne pouvez pas utiliser l'assistant Post-installation pour créer et démarrer le service. Pour créer un service distant, reportez-vous à la rubrique Création d'un service ArcSDE à partir d'un serveur Windows distant. Pour plus d'instructions sur le démarrage du service, reportez-vous à la rubrique Démarrage d'un service ArcSDE distant sous Windows.
- Sur les serveurs Linux ou UNIX, démarrez le service. Reportez-vous à la rubrique Démarrage d'un service ArcSDE distant sous Linux ou UNIX.
-
Pour que le client Oracle sur le serveur ArcSDE puisse se connecter à une instance distante, vous devez définir une variable d'environnement pour identifier l'instance distante d'Oracle à partir du nom du service réseau.
- Si le serveur ArcSDE est installé sur UNIX ou Linux, définissez la variable d'environnement TWO_TASK sur le nom du service réseau Oracle dans le fichier $SDEHOME/etc/dbinit.sde. La variable ORACLE_HOME doit être définie également.
- Si le serveur ArcSDE est installé sur Windows, définissez la variable d'environnement LOCAL sur le nom du service réseau Oracle dans le fichier %SDEHOME%\etc\dbinit.sde.
vous pouvez utiliser la variable TWO_TASK ou LOCAL pour spécifier le nom du service réseau d'une base de données Oracle locale. Toutefois, cela n'est pas recommandé dans la mesure où cela provoque une surcharge de traitement lors de l'établissement d'une connexion à la base de données. Pour les connexions locales, utilisez plutôt Oracle_SID.
- Définissez la variable TNS_ADMIN si le fichier tnsnames.ora ne se trouve pas à l'emplacement par défaut.
la modification de la définition du chemin d'accès à la bibliothèque invalide les corps de paquetage qui y font référence, par conséquent les corps de certains paquetages de procédures stockées ArcSDE doivent être recompilés à l'aide d'Oracle.