引言:当默认典型安装的SDE与数据库配合达不到想要的效率时,就会考虑按照需求重新配置SDE与数据库之间的配合,已达到满意的效果。
如当数据库的表过大的时候,通常在oracle上会采用分区表形式,对表按照业务需求进行分区,达到提高效率的目的。同样的SDE与数据库配合使用时,也会存在这样的问题,同样需要对表按照业务需求进行分区。再SDE中对数据分区与oracle中有所区别。
一:关于SDE配置文件DBTUNE
SDE数据库中的表需要SDE提供的DBTUNE行配置,包括存储方式、索引等一系列信息。故此,再SDE中对表分区的关键就是对DBTUNE文件进行配置。
关于DBTUNE文件,此文件配置完成后,可见区域主要存在两个地方:
第一:在库上新建的要素类,在第二个选项页中如下图。USER CONFIGURATION KEYWORD.意思就是为新建的表选择表的配置文件。默认都是DEFAULT.其余的则为SDE安装后默认自带的配置信息。
第二:在数据库上右键使用单文件数据导入到数据库工具时,如下图;
在了解了配置文件的作用后,自己添加的配置文件也将会在这下拉菜单里面看到。
二:获取DBTUNE信息
每个电脑拥有唯一的DBTUNE配置信息,配置在所有的数据库可见。
如何获取该文件呢。需要通过使用SDETUNE命令实现。
开始菜单->运行->CMD->回车。输入命令代码:SDEDBTUNE –O EXPORT –F E:\DBTUNE.TXT –S WWGPC –U SDE –P SDE
回车即可:
–S->后跟的是计算机名 –U为用户名 –P 为登陆密码.
这样子就得到了DBTUNE的配置文件,打开看看究竟如何。
会发现文件中包含很多##开头,并且以END结尾的字符串。所以可以看出每个这样的规则里面都包含一中配置信息。查看帮助文档可以知道DEFAULTS为默认配置信息,当我们自定义了一个自己的配置文件,但我们的配置信息不全的时候,程序会自动去DEFAULTS配置我们未定义的配置信息。具体看连接http://resources.arcgis.com/zh-CN/help/main/10.1/#/na/002n0000001v000000/
三:定义属于自己的配置文件
第一步,将DEFAULTS配置文件信息复制一份,所有的配置都可以在这上面修改得到。
由于我主要做表分区,所以查看了别人的文章后知道分区的配置关键字为B_STORAGE 后面的PCTFREE 0 INITRANS 4不要删掉哈。剩余的大多数配置我也不清楚,没啥时间查太多文档,只能用到那里看到那里)具体参看:http://blog.youkuaiyun.com/linghe301/article/details/7177286
http://resources.arcgis.com/zh-CN/help/main/10.1/#/na/002n0000001q000000/
下面就是写分区语句了,SQL一下子感觉很熟悉。仿照写个简单的分区。
PARTITION BY RANGE(OBJECTID)(PARTITION P1 VALUES LESSTHAN(20),PARTITION P2 VALUES LESS THAN (MAXVALUE)) 按照OBJECTID将数据分区20。
下面几个注意点:
1:##DEFAULTS 将红色名称改掉,自己任意命名一个。这里写WWGPART
2:UI_TEXT(关键字) "User Interface textfor DEFAULTS" 这个关键字主要用来配置下图界面显示的配置名称,同样写成WWGPART。
然后将增加的配置信息追加到DBTUNE文件最后面,保存。
导入自定义配置信息到系统中,同样的需要使用提示命令行。
DEDBTUNE –O IMPORT–F E:\DBTUNE.TXT –S WWGPC –U SDE –P SDE
执行完毕,即导入成功了。在右键导入单个数据功能最下面下来=拉即可看到添加的自定义配置文件WWFPART。
四:验证分区
上面通过配置文件建立了一个表分区,在建立表的时候,只要选择了该配置的表都会支持此分区配置。
打开catalog,链接数据库,导入一些测试数据,数据自己做哈。
验证方法:用TOAD链接oracle,直接sql查询验证。下图所示,查询了分区P1的数据,如图显示只有20行。
查询分区P2,显示是重20开始。验证完毕。
另外一种验证方式,Arcmap验证法。Arcmap支持查询加载数据,所以可以用来验证分区。如下图:ADD QUERY LAYER功能。
弹出对话框按照捕捉,首先添加数据库连接。192.168.1.110(服务器地址)/test(数据库)。
然后选择需要加载数据,写入分区查询SQL语句即可。然后打开属性表查看,只有19行,所以验证一成功。