最近好多用戶對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 ) "
然后我將最上面的信息加載到從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"
導入之后我們進行一下驗證
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行。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com