Les géodatabases d'enterprise utilisent des tables de fichiers journaux pour maintenir des listes d'enregistrements sélectionnés. Les enregistrements sont écrits dans les tables de fichiers journaux pour que l'application puisse les utiliser ultérieurement dans les situations suivantes :
- Vous (ou un outil ou un autre processus que vous exécutez) créez un ensemble de sélection d’une taille donnée : plus de 100 enregistrements dans ArcMap, plus de 1 000 enregistrements dans ArcGIS Pro et plus de 1 000 enregistrements lorsque les ID d’objets sont demandés par un service d’entités.
- Vous effectuez une réconciliation ou une réinjection dans une géodatabase versionnée.
- Une application client extrait les données pour une mise à jour en mode déconnecté.
Les tables de fichiers journaux stockent les identifiants des entités sélectionnées pour qu'ils puissent être réaffichés. Cela permet une analyse et un traitement plus rapides des informations.
Le fichier journal comporte trois options différentes : partagé, de session et groupes de fichiers journaux de session. Chacune est décrite dans sa propre section dans cette rubrique.
Dans Informix, les géodatabases utilisent par défaut des fichiers journaux partagés. Dans la plupart des cas, cette option devrait suffire, mais vous pouvez modifier les paramètres des tables de fichiers journaux à l'aide de l'outil de géotraitement Configurer des tables de fichiers journaux de géodatabase.
Fichiers journaux partagés
Les fichiers journaux partagés sont communs à l'ensemble des sessions ouvertes avec un même nom d'utilisateur. Si plusieurs utilisateurs se connectent avec le même compte utilisateur, toutes leurs sessions effectuent des ajouts et des suppressions d'enregistrements dans la même table de données de fichiers journaux.
Quand utiliser des fichiers journaux partagés
Utilisez des fichiers journaux partagés si chaque client ou chaque utilisateur se connecte avec un compte utilisateur de base de données différent.
Quand ne pas utiliser de fichiers journaux partagés
Vous avez la possibilité de ne pas utiliser de fichiers journaux partagés si plusieurs connexions sont établies avec le même nom d'utilisateur, par exemple, si vous publiez des services d'entités générant plusieurs connexions avec le même nom d'utilisateur. Si plusieurs utilisateurs comptent exécuter des requêtes attributaires sur le même service d'entités, cela peut entraîner des conflits et des temps d'attente rallongés pour la table SDE_LOGFILE_DATA. Dans ces cas, vous pouvez utiliser des fichiers journaux de session.
Tables créées pour les fichiers journaux partagés
Les tables de fichiers journaux utilisées pour cette option sont SDE_LOGFILES et SDE_LOGFILE_DATA. Elles sont créées dans la structure de l'utilisateur connecté la première fois que ce dernier effectue une sélection dépassant la limite de sélection.
La table SDE_LOGFILES stocke des informations sur chaque ensemble de sélection (fichier journal) créé. Les colonnes logfile_name et logfile_id de cette table identifient de manière unique le nom du fichier journal et la colonne logfile_id relie l'enregistrement de fichier journal à la table SDE_LOGFILE_DATA. La table SDE_LOGFILE_DATA contient la colonne logfile_data_id et l'identifiant d'entité des enregistrements sélectionnés.
Tous les enregistrements sont supprimés dès que l'ensemble de sélection est effacé, afin d'empêcher la table SDE_LOGFILE_DATA de devenir trop importante. La table SDE_LOGFILES est tronquée à la fin de la session. Les deux tables SDE_LOGFILE_DATA et SDE_LOGFILES restent dans la structure de l'utilisateur.
Autorisations requises pour les fichiers journaux partagés
Les tables de fichiers journaux étant la propriété de l'utilisateur connecté, les utilisateurs doivent disposer de privilèges leur permettant de créer les objets de données requis, tels que les tables. Ceci est nécessaire même si l'utilisateur dispose d'un droit d'accès en lecture seule à la géodatabase. Si ces privilèges ne sont pas accordés, les utilisateurs reçoivent un message d'erreur la première fois qu'ils créent un ensemble de sélection dont la taille dépasse la limite applicable à cette application cliente particulière. Cependant, une fois les tables SDE_LOGFILES et SDE_LOGFILE_DATA créées pour un utilisateur, l’administrateur de base de données peut révoquer les privilèges.
A titre d'exemple, Ian est un urbaniste qui ne sélectionnerait dans la géodatabase que les données lui permettant d'exécuter des analyses en rapport avec son travail. Il serait donc considéré comme un utilisateur en lecture seule. Toutefois, pour pouvoir créer les tables SDE_LOGFILES et SDE_LOGFILE_DATA dans la géodatabase d'entreprise de la ville, il doit être en mesure de créer des tables dans la géodatabase.
Au lieu d’accorder à Ian l’autorisation de créer des tables définitivement, l’administrateur de base de données lui accorde le privilège de manière temporaire, lui demande de se connecter à la géodatabase et d’effectuer une sélection qui dépasse la limite définie. L’administrateur de base de données révoque ensuite le privilège d’Ian de créer des tables.
Dans Informix, accordez aux utilisateurs les autorisations d'accès RESOURCE aux tables de fichier journal partagées.
Contrôle du stockage facultatif des fichiers journaux partagés
Il existe plusieurs paramètres sous le mot-clé LOGFILE_DEFAULTS de la table DBTUNE qui permettent de contrôler le mode ou l'emplacement de stockage des tables de fichiers journaux dans la base de données. Il n'est pas nécessaire de configurer ces paramètres pour pouvoir utiliser des fichiers journaux partagés, mais vous pouvez les définir si vous souhaitez modifier le mode de stockage des index et des tables SDE_LOGFILES et SDE_LOGFILE_DATA dans la base de données.
Pour Informix, les paramètres suivants contrôlent le stockage des index et des tables de fichiers journaux partagés :
- LD_INDEX_DATA_ID
- LD_INDEX_ROW_ID
- LD _STORAGE
- LF_INDEXES
- LF_STORAGE
Reportez-vous à la rubrique Paramètres de configuration d'Informix pour obtenir des informations sur ces paramètres.
Fichiers journaux de session
Les tables de données de fichiers journaux de session sont consacrées à une seule session et peuvent contenir plusieurs ensembles de sélection (fichiers journaux). Chaque session connectée nécessite un ensemble de tables pour les sélections.
Quand utiliser des fichiers journaux de session
Vous pouvez utiliser des fichiers journaux de session si plusieurs connexions sont effectuées simultanément à la géodatabase avec le même nom d'utilisateur. Par exemple, vous pouvez les utiliser si plusieurs services font référence aux données de votre géodatabase.
Pour ne pas utiliser de fichiers journaux de session
Si des utilisateurs en lecture seule sont connectés à la base de données, vous ne pouvez pas utiliser de fichiers journaux de session.
La table de session est supprimée de la structure de l'utilisateur lorsque la session est terminée. Elle doit donc être créée de nouveau, si nécessaire. Par conséquent, les utilisateurs doivent disposer des autorisations nécessaires pour créer des tables, afin de pouvoir utiliser des tables de fichiers journaux de session.
Création de tables pour des fichiers journaux de session
Trois tables sont créées : SDE_LOGFILES, SDE_LOGFILE_DATA et SDE_SESSION<ID_SDE>. La table SDE_LOGFILE_DATA n'est pas utilisée dans ce cas mais elle est créée automatiquement. La table SDE_LOGFILES stocke des informations relatives à l'ensemble de sélection, ainsi qu'une balise de session <ID_SDE> ajoutée au nom de la table SDE_SESSION. La table SDE_SESSION stocke l'identifiant d'entité pour l'ensemble sélectionné et l'ID de fichier journal.
Les deux tables SDE_LOGFILES et SDE_LOGFILE_DATA restent dans la géodatabase. La table SDE_LOGFILES est tronquée lors de la déconnexion de l'application de connexion. La table SDE_SESSION<ID_SDE> est tronquée lorsque l'application de connexion supprime les fichiers journaux et elle est supprimée à la fin de la session.
Autorisations requises pour les fichiers journaux de session
Les fichiers journaux basés sur session sont possédés par l'utilisateur qui a démarré la session de connexion. Cela signifie que les utilisateurs doivent disposer de droits de création des objets de base de données nécessaires.
Tous les utilisateurs doivent disposer des autorisations RESOURCE suivantes pour utiliser des tables de fichiers journaux de session dans Informix :
Contrôle du stockage facultatif des fichiers journaux de session
Il existe plusieurs paramètres sous le mot-clé LOGFILE_DEFAULTS de la table DBTUNE qui permettent de contrôler le mode ou l'emplacement de stockage des tables de fichiers journaux dans la base de données. Il n'est pas nécessaire de configurer ces paramètres pour pouvoir utiliser des fichiers journaux de session, mais vous pouvez les définir si vous souhaitez modifier le mode de stockage des index et des tables SDE_LOGFILES, SDE_LOGFILE_DATA et SDE_SESSION dans la base de données.
Pour Informix, les paramètres suivants contrôlent le stockage des index et des tables de fichiers journaux de session :
- LD_INDEX_DATA_ID
- LD_INDEX_ROW_ID
- LD_STORAGE
- LF_INDEXES
- LF_STORAGE
- SESSION_INDEX
- SESSION_STORAGE
Reportez-vous à la rubrique Paramètres de configuration d'Informix pour obtenir des explications concernant ces paramètres.
Groupes de fichiers journaux appartenant à l'utilisateur sde
L'administrateur de géodatabase peut créer un groupe de fichiers journaux de session qui peuvent être extraits et utilisés par d'autres utilisateurs. Les fichiers journaux partagés ne peuvent pas être extraits d'un groupe de fichiers journaux.
Si vous utilisez un groupe de fichiers journaux, il n'est pas nécessaire d'accorder aux utilisateurs les autorisations requises pour créer des objets dans la base de données.
Quand utiliser des groupes de fichiers journaux
Utilisez un groupe de fichiers journaux si vous ne pouvez pas autoriser les utilisateurs à créer leurs propres tables de fichiers journaux.
Quand ne pas utiliser de groupes de fichiers journaux
Dans l'ensemble, l'utilisation de groupes de fichiers journaux implique un peu plus de maintenance, car vous devez estimer le nombre de tables de fichiers journaux nécessaires et éventuellement ajuster la taille du groupe ou le nombre de groupes utilisés. N'oubliez pas qu'un groupe de fichiers journaux volumineux ou qu'un nombre élevé de groupes de fichiers journaux peut nuire aux performances.
Tables créées pour des groupes de fichiers journaux
Spécifiez le nombre de tables SDE_LOGPOOL_<table_ID> que l'outil Configurer des tables de fichiers journaux de géodatabase doit créer. Par exemple, si vous spécifiez 5 tables, l'outil crée les tables suivantes appartenant à l'utilisateur sde :
- SDE_LOGPOOL_1
- SDE_LOGPOOL_2
- SDE_LOGPOOL_3
- SDE_LOGPOOL_4
- SDE_LOGPOOL_5
Une table supplémentaire, appartenant à l'utilisateur sde, SDE_LOGFILE_POOL, enregistre le paramètre SDE_ID pour la session et un ID de table. L'identifiant <ID_table> du nom de la table SDE_LOGPOOL correspond à la valeur de la colonne table_ID de la table SDE_LOGFILE_POOL.
Chaque session requérant une table de fichiers journaux ajoute un enregistrement à la table SDE_LOGFILE_POOL et la session est attribuée à l'une des tables SDE_LOGPOOL_<ID_table>. Si vous créez des fichiers journaux supplémentaires lors de la même session, par exemple si un deuxième ensemble de sélection de 300 enregistrements est créé dans une session ArcMap, les nouveaux fichiers journaux (ensemble de sélection) sont ajoutés à la même table SDE_LOGPOOL.
Lorsque les fichiers journaux sont effacés, la table SDE_LOGPOOL extraite de la session est tronquée. Par exemple, si le deuxième ensemble de sélection de la session ArcMap est effacé, les 300 enregistrements sont supprimés de la table SDE_LOGPOOL, mais ceux du premier ensemble de sélection sont conservés. Quand le premier ensemble de sélection est effacé, ces enregistrements sont supprimés de la table SDE_LOGPOOL.
Lors de l'effacement d'un fichier journal (ensemble de sélection), la table SDE_LOGPOOL correspondante est tronquée.
Autorisations requises pour les groupes de fichiers journaux
Pour utiliser les tables de fichiers journaux du groupe, les utilisateurs doivent seulement pouvoir se connecter à la base de données et consigner des données dans les tables SDE_LOGPOOL_<table_ID>.
Contrôle du stockage facultatif des groupes de fichiers journaux
Seuls quelques paramètres sous le mot-clé LOGFILE_DEFAULTS permettent de déterminer le mode de stockage des tables SDE_LOGPOOL<ID_SDE> et de leurs index.
Dans les géodatabases Informix, les paramètres LD_STORAGE, LD_INDEX_ROWID et LD_INDEX_DATA_ID DBTUNE permettent de définir le stockage des tables SDE_LOGPOOL<SDE_ID> et de leurs index. Ces trois paramètres contrôlent également le stockage des index et de la table SDE_LOGFILE_DATA. Reportez-vous à la rubrique Paramètres de configuration d'Informix pour obtenir des explications concernant ces paramètres.
Il n'est pas nécessaire de configurer ces paramètres pour pouvoir utiliser des groupes de tables de fichiers journaux, mais vous pouvez les définir si vous souhaitez modifier le mode de stockage des index et des tables SDE_LOGPOOL<ID_SDE> dans la base de données.