CÓMO

Convertir el almacenamiento de una red geométrica de Oracle LONG RAW en LOB

Last Published: April 25, 2020

Resumen

Las instrucciones proporcionadas son para convertir el almacenamiento de una red geométrica de Oracle LONG RAW en LOB. Cuando trabaja con una red geométrica, la aplicación cliente debe recuperar las páginas topológicas de la red lógica. Las páginas almacenan propiedades de la red lógica, como por ejemplo conectividad, dirección de flujo, valores de peso, elementos de cruce de destino y origen.

Cuando la red geométrica está versionada para permitir que se edite la red, ArcSDE debe ejecutar consultas versionadas para recuperar la representación correcta de la versión de la página de la red lógica. La siguiente consulta es un ejemplo de una consulta de este tipo que recupera una página de red lógica para la tabla de cruces:

SELECT OID, PAGENUMBER, PAGEBLOB, V_#.UNION_ROWID, V_#.SDE_STATE_ID FROM (SELECT b.OID, b.PAGENUMBER, b.PAGEBLOB, b.rowid union_rowid, 0 SDE_STATE_ID FROM owner.N_#_JDesc b WHERE b.OID NOT IN (SELECT /*+ HASH_AJ INDEX(D# D#_PK) */SDE_DELETES_ROW_ID FROM owner.D# WHERE DELETED_AT IN(SELECT /*+ USE_HASH (l) INDEX(l LINEAGES_PK) */l.lineage_id FROM SDE.state_lineages l WHERE l.lineage_name = :lineage_name AND l.lineage_id <= :lineage_id)) UNION ALL SELECT /*+ INDEX(A#_PK) */ a.OID, a.PAGENUMBER, a.PAGEBLOB, a.rowid union_rowid, a.SDE_STATE_ID FROM owner.A# a, SDE.state_lineages SL WHERE (a.OID, a.SDE_STATE_ID) NOT IN(SELECT /*+ HASH_AJ INDEX(D# D#_PK)*/ SDE_DELETES_ROW_ID, SDE_STATE_ID FROM owner.D# WHERE DELETED_AT IN (SELECT /*+ USE_HASH (l) INDEX(l LINEAGES_PK) */ l.lineage_id FROM SDE.state_lineages l WHERE l.lineage_name = :lineage_name AND l.lineage_id <= :lineage_id)) AND a.SDE_STATE_ID = SL.lineage_id AND SL.lineage_name = :lineage_name AND SL.lineage_id <= :lineage_id) V_# where (PageNumber = 230)

Cuando Oracle ejecuta la declaración, la consulta debe recuperar la página LONG RAW de cada estado modificado para el linaje de la versión. El coste de obtener la página puede ser un paso costoso durante la ejecución de la consulta. Las páginas de la red lógica tienen un tamaño de 16K, por lo que cuantas más veces se deba recuperar la página durante la consulta, más tiempo se tarda en ejecutarse la consulta.

Para evitar la sobrecarga de rendimiento por la recuperación de la página de red lógica varias veces en el plan de ejecución de la declaración, Esri recomienda volver a crear la red geométrica y establecer el parámetro de palabra clave apropiado ATTRIBUTE_BINARY en SDEBLOB en dbtune.

Cuando la red lógica utiliza LOBs de Oracle y se ejecuta la declaración, la consulta solo recupera la última representación de la columna binaria, lo que reduce la e/s física durante la operación y mejora el rendimiento.

Procedimiento

Para realizar la conversión de LONG RAW a LOB, siga estos pasos:

  1. Para reconstruir la red geométrica, todas las versiones existentes que editaron clases de entidad que participan en la red geométrica se deben conciliar y publicar en la versión DEFAULT, y se deben eliminar. Realice este paso solo si es necesario conservar los cambios para cada versión. A continuación, comprima la geodatabase.
  2. Dé de baja como versionado el dataset de red geométrica. Si se le advierte que todavía hay ediciones pendientes para el dataset, verifique que todas las versiones se reconciliaron, publicaron y eliminaron.
  3. Actualice el dbtune de ArcSDE para utilizar LOBS como el tipo de almacenamiento binario de atributo. Consulte la documentación de ArcSDE para obtener los pasos exactos para cambiar los parámetros en dbtune.
  4. Vuelva a recrear la red geométrica.

Id. de artículo:000006219

Obtener ayuda de expertos en ArcGIS

Contactar con soporte técnico

Descargar la aplicación de soporte de Esri

Ir a las opciones de descarga

Descubrir más sobre este tema