最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

怎么在ArcSDE中使用Oracle分区表

来源:动视网 责编:小采 时间:2020-11-09 07:17:58
文档

怎么在ArcSDE中使用Oracle分区表

怎么在ArcSDE中使用Oracle分区表:最近好多用户对Oracle的分区表很感兴趣,也希望分区表也能应用的ArcSDE,询问该技术在ArcSDE是否可行,答案是肯定的。 不过因为在Oracle中分区表的对象基本上就是一个同名表,但是在ArcSDE中就有些不同了,因为如果进行版本编辑有A表、D表等,所以建议如果
推荐度:
导读怎么在ArcSDE中使用Oracle分区表:最近好多用户对Oracle的分区表很感兴趣,也希望分区表也能应用的ArcSDE,询问该技术在ArcSDE是否可行,答案是肯定的。 不过因为在Oracle中分区表的对象基本上就是一个同名表,但是在ArcSDE中就有些不同了,因为如果进行版本编辑有A表、D表等,所以建议如果


最近好多用户对Oracle的分区表很感兴趣,也希望分区表也能应用的ArcSDE,询问该技术在ArcSDE是否可行,答案是肯定的。 不过因为在Oracle中分区表的对象基本上就是一个同名表,但是在ArcSDE中就有些不同了,因为如果进行版本编辑有A表、D表等,所以建议如果对

最近好多用户对Oracle的分区表很感兴趣,也希望分区表也能应用的ArcSDE,询问该技术在ArcSDE是否可行,答案是肯定的。


不过因为在Oracle中分区表的对象基本上就是一个同名表,但是在ArcSDE中就有些不同了,因为如果进行版本编辑有A表、D表等,所以建议如果对ArcSDE的某个要素类进行分区表的存储,建议该要素类为只读状态,也就是说修改的可能性小一点,这样做分区表才更有意义,而且分区表的存储一般针对某个表,可能这个表有千万或者上亿条记录,而且经常对这个表进行读操作,那么我们就可以根据某个字段将这些表进行分段存储。具体分区表的分段方式我就不介绍了。

怎么分区,按照什么分区,这就看用户在业务上怎么对这个表进行应用了。

1:没有任何的章法可循,没有固定条件查询,可以按照ObjectID进行分区

2:有些用户对日期感兴趣,对日期字段进行分区

3:有些用户对行政区感兴趣,对行政区编码进行分区

4:有些用户对地类感兴趣,可以将地位按一级编码进行分区

...............

所以说,怎么分区,还是按业务进行考虑


那么在ArcSDE中关于存储的配置文件在SDEHOME/etc/dbtune.sde里面,用户也可以使用dbtune命令将这些信息导出,然后修改,然后再导入。

##PARTITION
A_INDEX_RASTER "PCTFREE 0 INITRANS 4 NOLOGGING "
XMLDB_INDEX_TAG "YES"
XMLDB_INDEX_FULLTEXT "NO"
XML_IDX_TEXT_UPDATE_METHOD "NONE"
XML_IDX_TEXT_UPDATE_MEMORY ""
XML_IDX_TEXT_TAG_STORAGE ""
XML_IDX_STORAGE "PCTFREE 0 INITRANS 4"
XML_IDX_INDEX_TEXT ""
XML_IDX_INDEX_TAG "PCTFREE 0 INITRANS 4 NOLOGGING "
XML_IDX_INDEX_STRING "PCTFREE 0 INITRANS 4 NOLOGGING "
XML_IDX_INDEX_PK "PCTFREE 0 INITRANS 4 NOLOGGING "
XML_IDX_INDEX_ID "PCTFREE 0 INITRANS 4 NOLOGGING "
XML_IDX_INDEX_DOUBLE "PCTFREE 0 INITRANS 4 NOLOGGING "
XML_DOC_VAL_LOB_STORAGE "NOCACHE NOLOGGING CHUNK 4K PCTVERSION 5 DISABLE STORAGE IN ROW"
XML_DOC_UNCOMPRESSED_TYPE "CLOB"
XML_DOC_STORAGE "PCTFREE 0 INITRANS 4"
XML_DOC_MODE "COMPRESSED"
XML_DOC_LOB_STORAGE "NOCACHE NOLOGGING CHUNK 4K PCTVERSION 5 DISABLE STORAGE IN ROW"
XML_DOC_INDEX "PCTFREE 0 INITRANS 4 NOLOGGING "
XML_COLUMN_STORAGE "SDE_XML"
UI_TEXT "User Interface text for DEFAULTS"
ST_GEOM_LOB_STORAGE " STORE AS ( ENABLE STORAGE IN ROW CHUNK 8K RETENTION CACHE) "
S_STORAGE "PCTFREE 0 INITRANS 4"
S_INDEX_ALL "PCTFREE 0 INITRANS 4 NOLOGGING "
RASTER_STORAGE "BLOB"
RAS_STORAGE "PCTFREE 0 INITRANS 4"
RAS_INDEX_ID "PCTFREE 0 INITRANS 4 NOLOGGING "
GEOMETRY_STORAGE "ST_GEOMETRY"
D_STORAGE "PCTFREE 0 INITRANS 4"
D_INDEX_STATE_ROWID "PCTFREE 0 INITRANS 4 NOLOGGING "
D_INDEX_DELETED_AT "PCTFREE 0 INITRANS 4 NOLOGGING "
BND_STORAGE "PCTFREE 0 INITRANS 4"
BND_INDEX_ID "PCTFREE 0 INITRANS 4 NOLOGGING "
BND_INDEX_COMPOSITE "PCTFREE 0 INITRANS 4 NOLOGGING "
BLK_STORAGE "PCTFREE 0 INITRANS 4 LOB(BLOCK_DATA) STORE AS ( ENABLE STORAGE IN ROW CHUNK 8K RETENTION CACHE) "
BLK_INDEX_COMPOSITE "PCTFREE 0 INITRANS 4 NOLOGGING "
B_STORAGE "PCTFREE 0 INITRANS 4 PARTITION BY RANGE (OBJECTID) ( PARTITION CUS_PART1 VALUES LESS THAN (50000) TABLESPACE ESRI, PARTITION CUS_PART2 VALUES LESS THAN (100000) TABLESPACE ESRI2 ) "
B_INDEX_XML "PCTFREE 0 INITRANS 4 NOLOGGING "
B_INDEX_USER "PCTFREE 0 INITRANS 4 NOLOGGING "
B_INDEX_TO_DATE "PCTFREE 0 INITRANS 4 NOLOGGING "
B_INDEX_ROWID "PCTFREE 0 INITRANS 4 NOLOGGING "
B_INDEX_RASTER "PCTFREE 0 INITRANS 4 NOLOGGING "
AUX_STORAGE "PCTFREE 0 INITRANS 4"
AUX_INDEX_COMPOSITE "PCTFREE 0 INITRANS 4 NOLOGGING "
ATTRIBUTE_BINARY "BLOB"
A_STORAGE "PCTFREE 0 INITRANS 4"
A_INDEX_XML "PCTFREE 0 INITRANS 4 NOLOGGING "
A_INDEX_USER "PCTFREE 0 INITRANS 4 NOLOGGING "
A_INDEX_STATEID "PCTFREE 0 INITRANS 4 NOLOGGING "
A_INDEX_SHAPE "PCTFREE 0 INITRANS 4 NOLOGGING "
A_INDEX_ROWID "PCTFREE 0 INITRANS 4 NOLOGGING "
END

这是我建立了一个分区表的关键字,重点看一下
"PCTFREE 0 INITRANS 4 PARTITION BY RANGE (OBJECTID) ( PARTITION CUS_PART1 VALUES LESS THAN (50000) TABLESPACE ESRI, PARTITION CUS_PART2 VALUES LESS THAN (100000) TABLESPACE ESRI2 ) "
这一段就是根据ObjectID,将ObjectID小于50000的存储在ESRI表空间,将ObjectID小于100000的存储到ESRI2表空间里面。

然后我将最上面的信息加载到从sdedbtune导出来的文档中,然后导入

C:\Users\Administrator>sdedbtune -o import -f c:\1.txt -i sde:oracle11g:orcl -s lish -u sde -p sde -q

Import DBTUNE Table. Are you sure? (Y/N): y

 Successfully imported from file "c:\1.txt"

然后我们使用ArcCatalog导入数据,记得选择上面的关键字“PARTITION“。

导入之后我们进行一下验证

SQL> select table_name,partition_name,tablespace_name from user_tab_partitions;

TABLE_NAME PARTITION_NAME TABLESPACE_NAME
------------------------------ ------------------------------ ----------------------
BIN$SVcacMx9QjSugD7de5WsPw==$0 CUS_PART2 SDE
BIN$SVcacMx9QjSugD7de5WsPw==$0 CUS_PART1 ESRI
BIN$WZM7+2pGTTKIYNXmkOSLzw==$0 CUS_PART1 ESRI
BIN$WZM7+2pGTTKIYNXmkOSLzw==$0 CUS_PART2 SDE
BIN$x6yBgW00SgyGPOTa1odkbQ==$0 CUS_PART1 ESRI
BIN$x6yBgW00SgyGPOTa1odkbQ==$0 CUS_PART2 SDE
CCC CUS_PART2 ESRI2
CCC CUS_PART1 ESRI

已选择8行。
SQL> select objectid,rowid from ccc where objectid=1 or objectid=33333 or objectid=49999 or objectid =50001 or objectid=88888 or objectid=66666;

 OBJECTID ROWID
---------- ------------------
 1 AAASe0AAHAAAFiFAAA
 33333 AAASe0AAHAAAF87AAJ
 49999 AAASe0AAHAAAGLbAAQ
 50001 AAASe1AAIAAAACFAAB
 66666 AAASe1AAIAAAAQWAAK
 88888 AAASe1AAIAAAAgMAAU

已选择6行。

我们从ROWID也可以看到在50000之前存储的”Se0“表空间,50000以后为”Se1“表空间。

文档

怎么在ArcSDE中使用Oracle分区表

怎么在ArcSDE中使用Oracle分区表:最近好多用户对Oracle的分区表很感兴趣,也希望分区表也能应用的ArcSDE,询问该技术在ArcSDE是否可行,答案是肯定的。 不过因为在Oracle中分区表的对象基本上就是一个同名表,但是在ArcSDE中就有些不同了,因为如果进行版本编辑有A表、D表等,所以建议如果
推荐度:
标签: 使用 怎么 多用户
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top