Las geodatabases corporativas utilizan tablas de archivo de registro para mantener listas de registros seleccionados. Los registros se introducen en las tablas de archivos de registro para que la aplicación los utilice posteriormente en las situaciones siguientes:
- Un cliente crea un conjunto de selección de un tamaño determinado (100 registros en ArcMap; 1.000 registros en ArcGIS Pro, 1.000 registros si se solicitan ObjectIDs desde un servicio de entidades).
- Puede conciliarlos o publicarlos en una geodatabase versionada.
- Una aplicación cliente revisa los datos para realizar la edición sin conexión.
Existen tres opciones de archivos de registro: compartidos, basados en sesión y grupos de archivos de registro basados en sesión. Cada opción se describe en una sección individual dentro de este tema.
Las geodatabases en PostgreSQL usan archivos de registro compartidos de forma predeterminada, pero puede cambiar la configuración de las tablas de archivos de registro con la herramienta de geoprocesamiento Configurar tablas de archivos de registro en la geodatabase.
Archivos de registro compartidos
Todas las sesiones que se conectan como el mismo usuario comparten los archivos de registro compartidos. Si tiene varios usuarios conectados con la misma cuenta, todas esas sesiones insertan y eliminan registros en y de la misma tabla de datos de archivo de registro.
Cuándo utilizar archivos de registro compartidos
Utilice archivos de registro compartidos cuando cada cliente y usuario se conecte con una cuenta de usuario de base de datos diferente.
Cuándo no es aconsejable utilizar archivos de registro compartidos
Puede que no desee utilizar archivos de registro compartidos si dispone de numerosas conexiones con el mismo nombre de usuario, como cuando publica servicios de entidades en ArcGIS Server, lo que genera varias conexiones con el mismo nombre de usuario. Si varios de los usuarios van a realizar consultas de atributos en el mismo servicio de entidades, se pueden producir retenciones y tiempos de espera más largos en la tabla SDE_LOGFILE_DATA. En estos casos, es recomendable utilizar archivos de registro basados en la sesión
Tablas creadas para archivos de registro compartidos
Las tablas de archivo de registro utilizadas para esta opción son SDE_LOGFILES y SDE_LOGFILE_DATA. Se crean en el esquema del usuario que se conecta la primera vez que este realiza una selección que sobrepasa el umbral de selección.
SDE_LOGFILES almacena información sobre cada conjunto de selección (archivo de registro) que se crea. Las columnas logfile_name y logfile_id de esta tabla identifican de manera exclusiva el nombre del archivo de registro, y la columna logfile_id vincula el registro del archivo de registro a la tabla SDE_LOGFILE_DATA. La tabla SDE_LOGFILE_DATA contiene logfile_data_id y el identificador de entidad para los registros seleccionados.
Todos los registros se eliminan en cuanto se borra el conjunto de selección para evitar que la tabla SDE_LOGFILE_DATA crezca demasiado. La tabla SDE_LOGFILES se trunca cuando termina la sesión. SDE_LOGFILE_DATA y SDE_LOGFILES permanecen en el esquema del usuario.
Permisos para utilizar archivos de registro compartidos
Como las tablas de archivos de registro son propiedad del usuario que se conecta, ese usuario debe tener un esquema en el que pueda crear tablas. En las geodatabases, el nombre del esquema debe ser el mismo que el nombre de usuario. Si el usuario no tiene un esquema de geocodificación en el que se puedan crear tablas, se generará un mensaje de error cuando el usuario realice una acción que requiera tablas de archivos de registro, como iniciar una sesión de edición o crear un conjunto de selección que supere el tamaño de umbral de esa aplicación cliente particular.
Los siguientes permisos son necesarios para utilizar tablas de archivos de registro compartido en PostgreSQL:
- CONNECT
- USAGE en el propio esquema del usuario
- CREATE en el propio esquema del usuario
Tenga en cuenta que la concesión del privilegio AUTHORIZATION sobre el esquema otorga automáticamente los privilegios USAGE y CREATE. Sin embargo, si no desea que los usuarios creen tablas, puede no otorgar AUTHORIZATION. En su lugar, otorgue a cada usuario los permisos USAGE y CREATE sobre sus esquemas de modo que puedan revocar los permisos CREATE después de crearse las tablas de archivos de registro compartidos. Se debe mantener el privilegio USAGE para que los usuarios puedan escribir en las tablas de archivos de registro en el futuro.
Por ejemplo, Ian es un urbanista que solo selecciona datos de la geodatabase para realizar análisis relacionados con su trabajo. Por esto, se lo consideraría un usuario de sólo lectura. Sin embargo, para crear las tablas SDE_LOGFILES y SDE_LOGFILE_DATA necesarias para almacenar conjuntos de selección, Ian necesita autoridad sobre su propio esquema.
En lugar de concederle a Ian permisos para crear tablas de manera indefinida, el usuario sde crea un esquema para él y le concede los privilegios CREATE y USAGE temporalmente en el esquema. En ese momento, el usuario sde pide a Ian que inicie sesión en la geodatabase desde ArcMap y realice una selección de 101 o más entidades. De esta forma, se crean las tablas necesarias en el esquema. Una vez creadas las tablas, el usuario sde revoca el privilegio CREATE de Ian.
Control de almacenamiento opcional de índices y tablas de archivos de registro compartidos
Hay varios parámetros bajo la palabra clave LOGFILE_DEFAULTS de la tabla DBTUNE que controlan cómo y dónde se almacenan las tablas de archivos de registro en la base de datos. No es necesario que configure estos parámetros para utilizar archivos de registro compartidos, pero puede hacerlo si desea modificar el modo en que las tablas SDE_LOGFILES y SDE_LOGFILE_DATA e índices se almacenan en la base de datos.
En PostgreSQL se utilizan los siguientes parámetros:
- LD_INDEX_ALL
- LD_STORAGE
- LF_INDEX_ID
- LF_INDEX_NAME
- LF_STORAGE
Consulte Parámetros de configuración de PostgreSQL para obtener más detalles.
Archivos de registro basados en la sesión
Las tablas de datos de archivos de registro basados en sesiones están dedicadas a una sola sesión y pueden contener varios conjuntos de selección (archivos de registro). Cada sesión que se inicia requiere un conjunto de tablas para las selecciones.
Cuándo utilizar archivos de registro basados en la sesión
Puede utilizar archivos de registro basados en sesión si tiene gran cantidad de sesiones simultáneas que se realizan con el mismo nombre de usuario a la geodatabase. Por ejemplo, si existen varios servicios que hacen referencia a los datos de la geodatabase, podría utilizar archivos de registro basados en sesión.
Cuándo no es aconsejable utilizar archivos de registro basados en la sesión
Si tiene usuarios de solo lectura que se conectan a la base de datos, no puede utilizar archivos de registro basados en sesión.
La tabla de sesión se elimina del esquema del usuario cuando finaliza la sesión. Esto significa que se tiene que volver a generar cuando sea necesario; por consiguiente, es necesario que los usuarios tengan permiso para crear tablas con el fin de poder utilizar las tablas de archivos de registro basados en sesión.
Tablas creadas para archivos de registro basados en la sesión
Se crean tres tablas: SDE_LOGFILES, SDE_LOGFILE_DATA y SDE_SESSION<SDE_ID>. En realidad, la tabla SDE_LOGFILE_DATA no se utiliza en este caso, pero se crea automáticamente. La tabla SDE_LOGFILES almacena información acerca de la selección configurada más una etiqueta de sesión <SDE_ID> que se incorpora al nombre de la tabla SDE_SESSION. La tabla SDE_SESSION almacena el identificador de entidad de la Id. del conjunto seleccionado y el archivo de registro.
Las tablas SDE_LOGFILES y SDE_LOGFILE_DATA permanecen en la geodatabase. La tabla SDE_LOGFILES se trunca cuando la aplicación de conexión se desconecta. La tabla SDE_SESSION<SDE_ID> se trunca cuando la sesión de aplicación de conexión borra los archivos de registro, y las tablas se eliminan cuando la sesión se desconecta.
Permisos para utilizar archivos de registro basados en sesión
Los archivos de registro basados en la sesión son propiedad del usuario que inició la sesión de conexión. Esto significa que los usuarios necesitan privilegios para crear los objetos de base de datos requeridos,
Los permisos siguientes son necesarios para todos los usuarios con el fin de utilizar archivos de registro basados en la sesión en PostgreSQL:
- CONECTAR
- AUTHORIZATION sobre el propio esquema del usuario (AUTHORIZATION concede automáticamente los privilegios USAGE y CREATE)
Control de almacenamiento opcional de índices y tablas de archivos de registro basados en sesión
Hay varios parámetros en la palabra clave LOGFILE_DEFAULTS de la tabla sde_dbtune que controlan cómo y dónde se almacenan las tablas de archivos de registro en la base de datos. No es necesario establecerlos para utilizar archivos de registro basados en la sesión, pero puede hacerlo si desea modificar cómo las tablas e índices SDE_LOGFILES, SDE_LOGFILE_DATA y SDE_SESSION se almacenan en la base de datos.
En PostgreSQL se utilizan los siguientes parámetros:
- LD_INDEX_ALL
- LD_STORAGE
- LF_INDEX_ID
- LF_INDEX_NAME
- LF_STORAGE
- SESSION_INDEX
- SESSION_STORAGE
Consulte la explicación de estos parámetros en Parámetros de configuración de PostgreSQL.
Grupos de archivos de registro que son propiedad del usuario sde
El administrador de la geodatabase puede crear un grupo de archivos de registro basados en sesión que otros usuarios pueden revisar y utilizar. No se pueden revisar archivos de registro compartidos desde un grupo de archivos de registro.
El uso de un grupo de archivos de registro evita la necesidad de conceder los permisos de usuarios necesarios para crear objetos en la base de datos.
Cuándo utilizar grupos de archivos de registro
Si no se puede proporcionar a los usuarios la capacidad de crear tablas de archivos de registro en sus propios esquemas se deberá utilizar un grupo de archivos de registro. No obstante, los usuarios todavía necesitarán tener permisos para crear una sesión o conectar con la base de datos.
Cuándo no es aconsejable utilizar grupos de archivos de registro compartidos
En general, utilizar grupos de archivos de registro requiere un poco más de mantenimiento debido a que se debe estimar el número necesario de tablas de archivos de registro, y es posible que tenga que ajustar el tamaño del grupo o el número de grupos utilizados. Recuerde que un grupo grande de archivos de registro o una gran cantidad de grupos de archivos de registro pueden tener un impacto negativo sobre el rendimiento.
Tablas creadas para grupos de archivos de registro
Especifique el número de tablas SDE_LOGPOOL_<table_ID> que la herramienta Configurar tablas de archivos de registro en la geodatabase crea en el esquema de usuario sde. Por ejemplo, si especifica cinco tablas, se crearán las siguientes en el esquema sde:
- SDE_LOGPOOL_1
- SDE_LOGPOOL_2
- SDE_LOGPOOL_3
- SDE_LOGPOOL_4
- SDE_LOGPOOL_5
Una tabla adicional en el esquema sde, SDE_LOGFILE_POOL, registra SDE_ID de la sesión y un Id. de tabla. <table_ID> en el nombre de la tabla SDE_LOGPOOL corresponde al valor de la columna table_ID de la tabla SDE_LOGFILE_POOL.
Cada sesión que necesita una tabla de archivos de registro agrega un registro a la tabla SDE_LOGFILE_POOL y la sesión se asigna a una de las tablas SDE_LOGPOOL_<table_ID> Si se crean archivos de registro adicionales con la misma sesión, por ejemplo, si un segundo conjunto de selección de 300 registros se crea en una sesión de ArcMap, los nuevos archivos de registro (conjunto de selección) se agregan a la misma tabla SDE_LOGPOOL.
Cuando se borran archivos de registro, se trunca la tabla SDE_LOGPOOL que se verifica en la sesión. Por ejemplo, si se borra el segundo conjunto de selección en la sesión de ArcMap, los 300 registros se eliminan de la tabla SDE_LOGPOOL pero permanecen los registros para el primer conjunto de selección. Cuando se borra la primera selección, estos registros se quitan de la tabla SDE_LOGPOOL.
Si se borra un archivo de registro (un conjunto de selección), se trunca la correspondiente tabla SDE_LOGPOOL.
Permisos necesarios para grupos de archivos de registro
Para utilizar las tablas de archivos de registro del grupo, los usuarios solo necesitan tener la posibilidad de conectarse a la base de datos y usar los objetos del esquema de usuario sde. En concreto, se necesitan los siguientes permisos:
- CONNECT
- USAGE en el propio esquema del usuario
Control de almacenamiento opcional de los grupos de archivos de registro
Sólo hay unos pocos parámetros bajo la palabra clave LOGFILE_DEFAULTS de la tabla sde_dbtune que controlen cómo se almacenan las tablas SDE_LOGPOOL<SDE_ID> y sus índices.
Las geodatabases corporativas en PostgreSQL utilizan los parámetros LD_STORAGE y LD_INDEX_ALL de la tabla sde_dbtune para establecer el almacenamiento de las tablas SDE_LOGPOOL<SDE_ID> y los índices correspondientes. Estos dos parámetros controlan también el almacenamiento de la tabla e índice SDE_LOGFILE_DATA. Consulte la explicación de estos parámetros en Parámetros de configuración de PostgreSQL.
No es necesario que configure estos parámetros para utilizar grupos de tablas de archivos de registro, pero puede hacerlo si desea modificar el modo en que las tablas SDE_LOGPOOL<SDE_ID> e índices se almacenan en la base de datos.