将一批数据导入到ArcSDE Oracle里面,考虑到数据量较大。考虑到以后的访问速度,就对数据存储进行了一下配置。配置的思想是将将表格和索引存储在不同的磁盘上,从而降低Oracle磁盘I/O,提高数据的访问速度。
首先,我们简单的了解一下ArcSDE的存储,ArcSDE从DBTUNT表中读取存储的参数,用来定义ArcSDE表和索引的物理数据参数。这些存储参数按照配置关键字进行分组。如果我们在数据存储时候,没有定义存储的分组关键子,ArcSDE将采用缺省的设置进行存储。
首先创建两个表空间:
1.首先在Oracle中创建两个表空间,存储在不同的磁盘上。本例中创建TangShan_Data和TangShan_Index分别来存储表格和索引。
2.首先将当前的存储设置导入到一个文本文件dbtune.tangshan.txt中:
sdedbtune -o export -f dbtune.tangshan.txt -u sde -p sde
该文件被存储在%SDEHOME%\etc目录下
3.打开该文件,在文件中增加一个分组,其关键字为TSDATA:
##TSDATA
COMMENT This configuration keyword is dedicated to load the data of Tangshan
B_STORAGE "TABLESPACE TangShan_DATA PCTFREE 10 PCTUSED 90 INITRANS 4 STORAGE (FREELISTS 4 MINEXTENTS 1 MAXEXTENTS UNLIMITED)"
F_STORAGE "TABLESPACE TangShan_DATA PCTFREE 10 PCTUSED 90 INITRANS 4 STORAGE (FREELISTS 4 MINEXTENTS 1 MAXEXTENTS UNLIMITED)"
S_STORAGE "TABLESPACE TangShan_DATA PCTFREE 10 PCTUSED 90 INITRANS 4 STORAGE (FREELISTS 4 MINEXTENTS 1 MAXEXTENTS UNLIMITED)"
A_STORAGE "TABLESPACE TangShan_DATA PCTFREE 10 PCTUSED 90 INITRANS 4 STORAGE (FREELISTS 4 MINEXTENTS 1 MAXEXTENTS UNLIMITED)"
A_INDEX_SHAPE "TABLESPACE TangShan_Index PCTFREE 10 INITRANS 4 STORAGE (FREELISTS 4 MINEXTENTS 1 MAXEXTENTS UNLIMITED)"
A_INDEX_USER "TABLESPACE TangShan_Index PCTFREE 10 INITRANS 4 STORAGE (FREELISTS 4 MINEXTENTS 1 MAXEXTENTS UNLIMITED)"
A_INDEX_ROWID "TABLESPACE TangShan_Index PCTFREE 10 INITRANS 4 STORAGE (FREELISTS 4 MINEXTENTS 1 MAXEXTENTS UNLIMITED)"
A_INDEX_STATEID "TABLESPACE TangShan_Index PCTFREE 10 INITRANS 4 STORAGE (FREELISTS 4 MINEXTENTS 1 MAXEXTENTS UNLIMITED)"
B_INDEX_ROWID "TABLESPACE TangShan_Index PCTFREE 10 INITRANS 4 STORAGE (FREELISTS 4 MINEXTENTS 1 MAXEXTENTS UNLIMITED)"
B_INDEX_SHAPE "TABLESPACE TangShan_Index PCTFREE 10 INITRANS 4 STORAGE (FREELISTS 4 MINEXTENTS 1 MAXEXTENTS UNLIMITED)"
B_INDEX_ROWID "TABLESPACE TangShan_Index PCTFREE 10 INITRANS 4 STORAGE (FREELISTS 4 MINEXTENTS 1 MAXEXTENTS UNLIMITED)"
B_INDEX_USER "TABLESPACE TangShan_Index PCTFREE 10 INITRANS 4 STORAGE (FREELISTS 4 MINEXTENTS 1 MAXEXTENTS UNLIMITED)"
D_INDEX_DELETED_AT "TABLESPACE TangShan_Index PCTFREE 10 INITRANS 4 STORAGE (FREELISTS 4 MINEXTENTS 1 MAXEXTENTS UNLIMITED)"
D_INDEX_STATE_ROWID "TABLESPACE TangShan_Index PCTFREE 10 INITRANS 4 STORAGE (FREELISTS 4 MINEXTENTS 1 MAXEXTENTS UNLIMITED)"
F_INDEX_FID "TABLESPACE TangShan_Index PCTFREE 10 INITRANS 4 STORAGE (FREELISTS 4 MINEXTENTS 1 MAXEXTENTS UNLIMITED)"
F_INDEX_AREA "TABLESPACE TangShan_Index PCTFREE 10 INITRANS 4 STORAGE (FREELISTS 4 MINEXTENTS 1 MAXEXTENTS UNLIMITED)"
F_INDEX_LEN "TABLESPACE TangShan_Index PCTFREE 10 INITRANS 4 STORAGE (FREELISTS 4 MINEXTENTS 1 MAXEXTENTS UNLIMITED)"
S_INDEX_ALL "TABLESPACE TangShan_Index PCTFREE 10 INITRANS 4 STORAGE (FREELISTS 4 MINEXTENTS 1 MAXEXTENTS UNLIMITED)"
S_INDEX_SP_FID "TABLESPACE TangShan_Index PCTFREE 10 INITRANS 4 STORAGE (FREELISTS 4 MINEXTENTS 1 MAXEXTENTS UNLIMITED)"
END
4.将配置后的文件导入DBTUNT表中
sdedbtune -o import -f dbtune.tangshan.txt -u sde -p sde
5.配置完成了,在我们向数据库中导入数据时候,就可以使用我们的这些存储设置了。比如使用ArcCatalog导入数据到ArcSDE,在数据转换控制面版中,点击Change Setting...按钮。在KeyWord标签下,选择Using Configuration keyWord,在空格中写下我们的配置关键字TSDATA.这样转换到ArcSDE的数据就按照我们的配置进行存储了。