SDE多表空间管理

0
分享 2015-06-07
本文下面内容将以Oracle10g为例,详细介绍如何使用SDE管理多个表空间,如何将不同的数据存到相应的表空间下。
当使用SDE管理较大的数据量时,可先将数据类型、用途等进行分类,然后分别存储在不同的表空间里;这样不仅对管理的数据进行了合理的规划和分类,同时由于这些表空间可由SDE用户统一管理,因此又有效地减轻了SDE本身的负荷。
  • 创建存储数据的表空间


在Oracle中创建存储数据的表空间LGYDATA。
  • 修改DBTUNE表参数


如下图所示,通常情况下在ArcCatalog中向SDE复制数据时,数据默认是进入到Config.Keyword列为“DEFAULTS”的表空间中,即SDE默认的表空间。只要在SDE中创建KLGYDATA关键字,并建立其与LGYDATA表空间的关联,就可以实现用SDE用户来管理LGYDATA表空间。


通过Oracle10g客户端或PL/SQL打开SDE.DBTUNE表,如下图所示。SDE表空间对应的关键字“DEFAULTS”在DBTUNE表中有详细的说明,包括有关的参数;因此,在SDE中创建KLGYDATA关键字,只需在DBTUNE表中按DEFAULTS的参数格式和内容,创建KLGYDATA的参数表述信息即可。

使用sql语句【create table SDE.dbtune123 asselect * from sde.dbtune where keyword = ‘DEFAULTS’】创建dbtune123表,该表与dbtune表结构一样,但是只包含DEFAULTS的参数信息。

使用sql语句【updateSDE.dbtune123 set keyword = ‘KLGYDATA’】更新KEYWORD列值为“KLGYDATA”。

最为重要的一步是对CONFIG_STRING列值的修改。由于DEFAULTS关键字CONFIG_STRING列的信息是在创建SDE表空间时建立的,其默认关联的是SDE表空间,因此在其信息中并没有表空间的信息。如下图所示

KLGYDATA关键字是后来创建的,因此在其参数信息的CONFIG_STRING列中需要加上表空间的信息。如下图所示

使用sql语句【 updatesde.dbtune123 set CONFIG_STRING = concat(‘TABLESPACE LGYDATA ’,to_char(CONFIG_STRING)) wheresubstr(to_char(config_string),1,7) = “PCTFREE” 】更新CONFIG_STRING列的值。注意:并非所有的CONFIG_STRING列值都需要更新,只要将现有列值中是以PCTFREE开头的列更新即可。
使用sql语句【insertinto sde.dbtune select * from sde.dbtune123】,将DBTUNE123表中的信息导入到DBTUNE表中。

到此步骤为止,完成了对DBTUNE表的修改,可以实现SDE用户对多表空间的管理了。
  • SDE用户管理多表空间


在ArcCatalog下向SDE中复制数据如下图

在ArcCatalog下,向SDE中Import数据,如下图

导入的数据表都在LGYDATA表空间下。

ArcCatalog下用SDE用户打开连接,通过此连接可以看到LGYDATA表空间中的数据。

文章来源:http://blog.csdn.net/sydbc/article/details/17757419

0 个评论

要回复文章请先登录注册