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; 1000 registros si se solicitan ObjectIDs desde un servicio de entidad).
- Si concilia o publica en una geodatabase versionada.
- Una aplicación cliente revisa los datos para realizar la edición sin conexión.
Las tablas de archivos de registro almacenan los ObjectID de las entidades seleccionadas para que se puedan volver a visualizar. Esto permite analizar y procesar la información con más rapidez.
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 Oracle usan tablas de archivos de registro compartidos de forma predeterminada. Esto debe ser suficiente en la mayoría de los casos, 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 entidad, se pueden producir retenciones y esperas 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 necesarios para archivos de registro compartidos
Para crear los objetos de datos requeridos, como las tablas, los usuarios deben contar con privilegios que se lo permitan, ya que las tablas de archivos de registro son propiedad del usuario que se conecta. Esto es necesario aunque el usuario tenga acceso de solo lectura a la geodatabase. Si estos privilegios no se conceden, los usuarios recibirán un mensaje de error la primera vez que creen un conjunto de selección que supere el tamaño de umbral de esa aplicación cliente particular. Sin embargo, una vez que las tablas SDE_LOGFILES y SDE_LOGFILE_DATA estén creadas para un usuario, el administrador de la geodatabase podrá revocar los privilegios.
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 solo lectura. Sin embargo, para crear las tablas SDE_LOGFILES y SDE_LOGFILE_DATA en la geodatabase corporativa de la ciudad, Ian necesita estar habilitado para crear tablas en la geodatabase.
En lugar de concederle el permiso para crear tablas de manera indefinida, el administrador de la geodatabase pide a Ian que inicie sesión en la geodatabase y realice una selección que exceda el umbral de selección. A continuación, el administrador de la geodatabase revoca los privilegios de Ian para crear tablas.
Los siguientes permisos son necesarios para utilizar tablas de archivos de registro compartido en Oracle:
- CREATE SESSION
- CREATE TABLE
- CREATE SEQUENCE
Control de almacenamiento opcional de los archivos de registro compartidos
Para Oracle, los siguientes parámetros controlan el almacenamiento de tablas e índices de archivos de registro compartido:
- LD_INDEX_DATA_ID
- LD_INDEX_ROW_ID
- LD _STORAGE
- LF_INDEXES
- LF_STORAGE
Consulte la explicación de estos parámetros en Parámetros de configuración de Oracle.
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 necesarios para archivos de registro basados en la 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,
Todos los usuarios requieren los siguientes permisos para poder utilizar las tablas de archivos de registro basados en la sesión en Oracle:
- CREATE SESSION
- CREATE TABLE
- CREATE SEQUENCE
Control de almacenamiento opcional de índices y tablas de archivos de registro basados en sesión
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 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.
Para Oracle, los siguientes parámetros controlan el almacenamiento de tablas e índices de archivos de registro basados en la sesión:
- LD_INDEX_DATA_ID
- LD_INDEX_ROW_ID
- LD_STORAGE
- LF_INDEXES
- LF_STORAGE
- SESSION_INDEX
- SESSION_STORAGE
Consulte la explicación de estos parámetros en Parámetros de configuración de Oracle.
Grupos de archivos de registro que son propiedad del administrador de la geodatabase
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 para configurar tablas de archivos de registro en la geodatabase crea en el esquema del administrador de la geodatabase. Por ejemplo, si especifica 5 tablas, las siguientes tablas se crean en el esquema del administrador de la geodatabase:
- SDE_LOGPOOL_1
- SDE_LOGPOOL_2
- SDE_LOGPOOL_3
- SDE_LOGPOOL_4
- SDE_LOGPOOL_5
Una tabla adicional en el esquema del administrador de la geodatabase, SDE_LOGFILE_POOL, registra el SDE_ID de la sesión y un Id. de tabla. El <table_ID> del 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 en el grupo, sólo es necesario que los usuarios puedan conectar con la base de datos y utilizar los objetos del esquema del administrador de la geodatabase. Por tanto, el único permiso necesario para utilizar los grupos de tablas de archivos de registros es el permiso CREATE SESSION.
El privilegio CREATE SESSION se otorga por defecto a todos los usuarios; por lo tanto, sólo debe otorgar este permiso de forma explícita si lo revocó de PUBLIC.
Control de almacenamiento opcional de los grupos de archivos de registro
Solo hay unos pocos parámetros bajo la palabra clave LOGFILE_DEFAULTS que controlen cómo se almacenan las tablas SDE_LOGPOOL<SDE_ID> y sus índices.
En las geodatabases en Oracle, los parámetros LD_STORAGE, LD_INDEX_ROWID y LD_INDEX_DATA_ID DBTUNE se utilizan para establecer el almacenamiento correspondiente a las tablas SDE_LOGPOOL<SDE_ID> y sus índices. Estos tres parámetros también controlan el almacenamiento de los índices y de la tabla SDE_LOGFILE_DATA. Consulte la explicación de estos parámetros en Parámetros de configuración de Oracle.
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.