Parámetros de almacenamiento DBTUNE de Oracle Spatial

Debido a que los parámetros de almacenamiento de Oracle Spatial son diferentes que otras bases de datos de Oracle utilizadas con ArcSDE, las descripciones y ejemplos de cómo se utilizan los parámetros de almacenamiento con Oracle Spatial se proporcionan aquí.

Crear nuevas tablas de negocios

ArcSDE utiliza los parámetros de almacenamiento B_STORAGE, B_INDEX_ROWID y B_INDEX_USER para almacenar la tabla de negocios y los índices no espaciales en la tabla de negocios.

Crear metadatos de Oracle Spatial para nuevas clases de entidad

La vista de base de datos USER_SDO_GEOM_METADATA forma parte de Oracle Spatial, no de ArcSDE. Contiene metadatos sobre columnas SDO_GEOMETRY en tablas existentes que pertenecen al usuario. Cada usuario tiene su propia vista USER_SDO_GEOM_METADATA. Para indexarla y consultarla, el propietario de la tabla debe registrar metadatos para cada columna SDO_GEOMETRY en USER_SDO_GEOM_METADATA. Los clientes de ArcSDE que crean una clase de entidad eligen los metadatos para la clase de entidad. A menudo, estos clientes aceptan una palabra clave de configuración correspondiente a un grupo de parámetros en la tabla DBTUNE.

Los parámetros de almacenamiento que controlan los metadatos para nuevas clases de entidad de Oracle Spatial son los siguientes:

SDO_DIMNAME_<n> SDO_LB_<n> SDO_UB_<n> SDO_TOLERANCE_<n> SDO_SRID

Si la palabra clave de configuración especificada durante la creación de la clase de entidad contiene el parámetro SDO_SRID configurado con un sistema de referencia de coordenadas válido, se utiliza el valor de SDO_SRID y se escribe en la vista USER_SDO_GEOM_METADATA, incluso si es diferente al sistema de referencia de coordenadas que proporciona el cliente.

Oracle Spatial permite geometrías de entidad de dos, tres o cuatro dimensiones en las combinaciones x/y, x/y/z, x/y/m (medida) o x/y/z/m. A través de estos parámetros de almacenamiento, ArcSDE permite especificar metadatos para cada dimensión. La <n> en algunos nombres de parámetros deben reemplazarse por uno de los dígitos (1, 2, 3 ó 4) correspondiente al número de dimensión. Si no suministra estos parámetros de almacenamiento, la aplicación cliente de ArcSDE que crea la clase de entidad determina el nombre, el límite superior e inferior (extensión) y la tolerancia de cada dimensión.

NotaNota:

Oracle Spatial también permite geometrías de entidad de x/y/m/z; sin embargo, no las utilice con ArcSDE.

Crear un índice espacial

El parámetro SDO_INDEX_SHAPE DBTUNE determina cómo Oracle Spatial crea el índice espacial. ArcSDE incorpora el contenido de este parámetro (la cadena de texto de configuración) a la instrucción CREATE INDEX antes de enviarla a Oracle. La cadena de texto de configuración se inserta en la instrucción SQL después de la palabra clave PARAMETERS. Por ejemplo:

CREATE INDEX MY_SP_INDEX ON MY_SP_TABLE(SHAPE) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARAMETERS ( <configuration string is inserted here> );

La cadena de texto de configuración es una cadena con comillas que contiene una lista de elementos de parámetro = valor. Puede especificar muchos parámetros en la cadena de texto de configuración. Para comprender los parámetros de índice de Oracle Spatial y cómo interactúan, lea las secciones correspondientes de la Referencia y guía del usuario de Oracle Spatial.

Observe las diferencias entre los parámetros de almacenamiento físico en la cadena de texto de configuración de índices espaciales y en una cadena de texto de configuración de tablas de negocios (como se especifica en B_STORAGE). Una diferencia se debe a la forma en que Oracle espera que aparezcan estos parámetros en las instrucciones SQL. Las instrucciones de Oracle tienen un formato diferente, por lo tanto las cadenas de texto de configuración también tienen un formato diferente. Además, no todos los parámetros de almacenamiento físico utilizados para crear tablas están disponibles para la creación de índices espaciales.

B_STORAGE	"TABLESPACE ORSPBIZ PCTFREE 10 INITRANS 4 STORAGE(INITIAL 512000)" SDO_INDEX_SHAPE	"tablespace=ORSPIDX initial=512000"

Grupos de parámetros DBTUNE de muestra para clases de entidad de Oracle Spatial

En esta sección se presentan los grupos de parámetros DBTUNE que se aplican a varias situaciones comunes. (Recuerde, los parámetros se agrupan por palabras clave de configuración). Estas muestras enfatizan los parámetros de almacenamiento para clases de entidad de Oracle Spatial.

Oracle y ESRI recomiendan utilizar índices espaciales de árbol R con almacenamiento SDO_GEOMETRY. En algunos de los siguientes ejemplos, se puede ver el parámetro sdo_indx_dims=2, que especifica la cantidad de dimensiones que se deben indexar con un índice espacial de árbol R. Con Oracle 9.2, el valor predeterminado es 2, que significa las primeras dos dimensiones (x e y). Para versiones anteriores de Oracle, el valor predeterminado era el número de dimensiones registrado en USER_SDO_GEOM_METADATA. Surgieron varios problemas al crear índices espaciales de árbol R en dimensiones que no son ni x ni y. Por ejemplo, Oracle no admite índices de árbol R en la dimensión de medida. Si está creando índices espaciales de árbol R y utilizando una versión de Oracle anterior a la versión 9.2, se recomienda que siempre incluya este parámetro.

Si no está utilizando Oracle Spatial por defecto, puede crear un grupo de parámetros simple para crear clases de entidad de Oracle Spatial principalmente con una configuración predeterminada. Las tablas y los índices se crean en el espacio de tabla predeterminado del usuario mediante parámetros de almacenamiento físico predeterminados, a menos que se especifique lo contrario en el grupo de parámetros DEFAULTS. El índice espacial es un árbol R de dos dimensiones.

##SDO_GEOMETRY GEOMETRY_STORAGE		"SDO_GEOMETRY" SDO_INDEX_SHAPE	"sdo_indx_dims=2" UI_TEXT	"Oracle Spatial: default settings" END

Con Oracle Spatial, si los datos a menudo se cargan mediante un identificador de referencia espacial específico (SRID), como el SRID 8307 geodésico (latitud/longitud WGS84), puede crear una versión expandida del grupo de parámetros anterior. No es necesario que especifique la tolerancia y los límites superiores e inferiores, pero puede hacerlo si desea que todas las clases de entidad tengan los mismos metadatos para las dimensiones x e y. Esto es útil si desea utilizar las clases de entidad en el mismo dataset de entidades. Además, este caso especifica que cualquier límite del polígono con rotación invertida se vuelve a ordenar antes de enviarse a los clientes de ArcSDE.

NotaNota:

Con datos geodésicos de Oracle9i, las extensiones se especifican en grados decimales y las tolerancias se especifican en metros.

##SDO_GEOMETRY_8307 GEOMETRY_STORAGE		"SDO_GEOMETRY" SDO_INDEX_SHAPE	"sdo_indx_dims=2" SDO_SRID	8307 SDO_DIMNAME_1	"Lon" SDO_LB_1	-180.000000 SDO_UB_1	180.000000 SDO_TOLERANCE_1	0.05 SDO_DIMNAME_2	"Lat" SDO_LB_2	-90.000000 SDO_UB_2	90.000000 SDO_TOLERANCE_2	0.05 UI_TEXT	"Oracle Spatial: WGS84" END

El siguiente ejemplo se puede utilizar para cargar una clase de entidad con un índice espacial de árbol R en el espacio de tabla ORSPBIZ. El índice espacial de árbol R se crea en el espacio de tabla ORSPIDX. El cliente de ArcSDE que está cargando los datos decide los valores para los metadatos.

##SDO_GEOMETRY_ORSPBIZ GEOMETRY_STORAGE		"SDO_GEOMETRY" B_STORAGE	"TABLESPACE ORSPBIZ" SDO_INDEX_SHAPE	"tablespace=ORSPIDX sdo_indx_dims=2" UI_TEXT	"Tablespace ORSPBIZ / ORSPIDX" END

El siguiente ejemplo se puede utilizar para cargar una clase de entidad con un índice espacial de árbol cuádruple con un nivel de teselas (nivel de teselación) de tamaño fijo de 6. El índice espacial se crea en el espacio de tabla ORSPIDX.

El intervalo de confirmación es importante para los índices de árbol cuádruple pero es omitido para los índices espaciales de árbol R. Indica la cantidad de registros de tablas de negocios que se procesan antes de confirmar los datos de índice. Sin el intervalo, se procesan todos los registros de la tabla de negocios antes de confirmar los datos de índice. Esto genera problemas al indexar tablas con muchos registros.

NotaNota:

El parámetro sdo_commit_interval es tan importante que ArcSDE lo incluye automáticamente en instrucciones de indexación SQL para tablas de Oracle Spatial, incluso si usted no lo especifica como parte del parámetro SDO_INDEX_SHAPE. Se establece en 1000.

##SDO_GEOMETRY_QT_6 GEOMETRY_STORAGE		"SDO_GEOMETRY" SDO_INDEX_SHAPE	"tablespace=ORSPIDX sdo_level=6 sdo_commit_interval=1000" END

Al diseñar sus propios grupos de parámetros, puede necesitar agregar parámetros para admitir la creación de otras geodatabases como terrenos o redes geométricas. También podría cumplir con estos requisitos configurando parámetros en el grupo de parámetros DEFAULTS.

Por ejemplo, si el parámetro GEOMETRY_STORAGE de la palabra clave DEFAULTS se configura en SDO_GEOMETRY al crear topologías, redes o terrenos, se utilizan las palabras clave compuestas predeterminadas para estos. Dado que las palabras clave compuestas predeterminadas no especifican GEOMETRY_STORAGE, se utiliza DEFAULTS GEOMETRY_STORAGE; en este caso, eso es SDO_GEOMETRY.

Si en lugar de eso la palabra clave DEFAULTS GEOMETRY_STORAGE se establece en otra cosa que no sea SDO_GEOMETRY pero desea crear, por ejemplo, un terreno que utilice el almacenamiento SDO_GEOMETRY, debe crear un nuevo conjunto de palabras clave de terreno diseñado para almacenar terrenos con el almacenamiento SDO_GEOMETRY. El siguiente es un ejemplo de cómo esto aparecería en el archivo dbtune.sde:

##TERRAIN_SDO UI_TERRAIN_TEXT    "The terrain default configuration"  GEOMETRY_STORAGE  "SDO_GEOMETRY"  B_STORAGE           "PCTFREE 0 INITRANS 4 TABLESPACE ter_tblspc"                      B_INDEX_ROWID       "PCTFREE 0 INITRANS 4 TABLESPACE ter_tblspc NOLOGGING"  B_INDEX_SHAPE       "PCTFREE 0 INITRANS 4 TABLESPACE ter_tblspc NOLOGGING"  B_INDEX_USER        "PCTFREE 0 INITRANS 4 TABLESPACE ter_tblspc NOLOGGING"  END  ##TERRAIN_SDO::EMBEDDED GEOMETRY_STORAGE  "SDO_GEOMETRY"  B_STORAGE           "PCTFREE 0 INITRANS 4 TABLESPACE ter_tblspc"  B_INDEX_ROWID       "PCTFREE 0 INITRANS 4 TABLESPACE ter_tblspc NOLOGGING"  B_INDEX_SHAPE       "PCTFREE 0 INITRANS 4 TABLESPACE ter_tblspc NOLOGGING"  B_INDEX_USER        "PCTFREE 0 INITRANS 4 TABLESPACE ter_tblspc NOLOGGING"  END


3/6/2012