『公告』 预祝您龙年大吉,万事如意, 过节期间, 大家如需数据服务,请拨打400 或直接添加客服微信,再祝大家龙年,心想事成。
关注我们 新浪 腾讯

ArcSDE 设置DBTUNE参数存储BLOB列

ArcSDE 设置DBTUNE参数存储BLOB列
DBTUNE表中的存储参数控制着在oracle中如何创建表和索引。其中一些存储参数定义在创建表的时候使用的数据类型。

       DBTUNE表中的存储参数控制着在oracle中如何创建表和索引。其中一些存储参数定义在创建表的时候使用的数据类型。

       ArcSDEDBTUNE存储参数,例如GEOMETRY_STORAGE, RASTER_STORAGE, and ATTRIBUTE_BINARY定义了在存储ArcSDE数据的时候使用的oracle数据类型。

       注意从ArcSDE 9.2开始RASTER_BINARY_TYPE参数被RASTER_STORAGE 替代。

       GEOMETRY_STORAGE 控制矢量数据(featureClass)的存储。RASTER_STORAGE 控制栅格数据(raster dataset, raster catalog, or raster attribute)的存储 。    ATTRIBUTE_BINARY 控制其他二进制数据的存储(非矢量和栅格数据)。

       在ArcSDE中使用BLOB列存储数据,DBTUNE关键字设置如下:

       GEOMETRY_STORAGE SDELOB

       RASTER_STORAGE BLOB

       ATTRIBUTE_BINARY BLOB

       ESRI建议使用如下设置来存储矢量和栅格数据:

       1)总是使用 in-row storage 选项。因为在GIS系统中大多数的要素数据都小于3,964字节。使用in-row storage 选项选项能达到较好的性能。

       2)为需要经常读的数据使用缓冲(Cache;

       3)如果ArcSDE不经常更新BLOB数据而是经常插入或删除BLOB数据,那么设置 PCT_VERSION 参数为0,告诉oracle LOB段上不需要维护老版本的数据。

       4chuck的大小不应该小于8k。测试表明,存储GIS数据,数据块设置为8k是最合适的。

       下面是RASTER_STORAGE参数的设置例子

       RASTER_STORAGE "BLOB"

       BLK_STORAGE "PCTFREE 0 INITRANS 4 TABLESPACE RASTER

       LOB (BLOCK_DATA) STORE AS

       (TABLESPACE RASTER_LOB_SEGMENT

       CACHE PCTVERSION 0)"

       RASTER_STORAGE "BLOB" 表示使用BLOB方式存储栅格数据。如果栅格的block pixel 数据小于3,965 字节,则存储在RASTER表空间的BLOCK_DATA 列中。如果大于3,964 字节则存储在RASTER_LOB_SEGMENT 表空间的LOB段中。LOB index 只有在chunks个数超过12的时候才会使用。

       下面是GEOMETRY_STORAGE 参数的设置例子

       GEOMETRY_STORAGE "SDELOB"

       F_STORAGE "PCTFREE 0 INITRANS 4 TABLESPACE VECTOR

       LOB (POINTS) STORE AS

       (TABLESPACE VECTOR_LOB_SEGMENT

       CACHE PCTVERSION 0)"

       GEOMETRY_STORAGE "SDELOB"  表示使用BLOB方式存储矢量数据。如果要素的二进制数据小于3,965 字节,则存储在VECTOR表空间的POINTS列中。如果超过这个大小则存储在VECTOR_LOB_SEGMENT表空间的LOB段中。

       下面是ATTRIBUTE_BINARY "BLOB" 参数的设置例子

       ATTRIBUTE_BINARY "BLOB"

       B_STORAGE "PCTFREE 0 INITRANS 4 TABLESPACE BIZZTABS

       LOB (DOCUMENT) STORE AS

       (TABLESPACE BIZZ_LOB_SEGMENT

        CACHE PCTVERSION 0)"

       ATTRIBUTE_BINARY "BLOB"表示使用BLOB方式存储属性数据(非矢量和栅格数据)。如果b表的二进制数据小于3,965 字节,则存储在BIZZTABS表空间的DOCUMENT列中。如果超过这个大小则存储在BIZZ_LOB_SEGMENT 表空间的LOB段中。如果在创建b表的时候没有DOCUMENT列,则oracle会报下面的错误:

       ORA-00904: "DOCUMENT": invalid identifier

       因此,不建议在DBTUNE的默认关键字的存储参数中指定特定的列。可以创建单独的DBTUNE关键字来设置这些参数。关于DBTUNE关键字的创建和参数设置请参考DBTUNE的相关主题。

      京ICP备2025132830号-1 京公网安备 号