热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

怎么在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“表空间。
推荐阅读
  • 在Java分层设计模式中,典型的三层架构(3-tier application)将业务应用细分为表现层(UI)、业务逻辑层(BLL)和数据访问层(DAL)。这种分层结构不仅有助于提高代码的可维护性和可扩展性,还能有效分离关注点,使各层职责更加明确。通过合理的设计和实现,三层架构能够显著提升系统的整体性能和稳定性。 ... [详细]
  • SSAS入门指南:基础知识与核心概念解析
    ### SSAS入门指南:基础知识与核心概念解析Analysis Services 是一种专为决策支持和商业智能(BI)解决方案设计的数据引擎。该引擎能够为报告和客户端应用提供高效的分析数据,并支持在多维数据模型中构建高性能的分析应用。通过其强大的数据处理能力和灵活的数据建模功能,Analysis Services 成为了现代 BI 系统的重要组成部分。 ... [详细]
  • 在使用SSH框架进行项目开发时,经常会遇到一些常见的问题。例如,在Spring配置文件中配置AOP事务声明后,进行单元测试时可能会出现“No Hibernate Session bound to thread”的错误。本文将详细探讨这一问题的原因,并提供有效的解决方案,帮助开发者顺利解决此类问题。 ... [详细]
  • 在探讨Hibernate框架的高级特性时,缓存机制和懒加载策略是提升数据操作效率的关键要素。缓存策略能够显著减少数据库访问次数,从而提高应用性能,特别是在处理频繁访问的数据时。Hibernate提供了多层次的缓存支持,包括一级缓存和二级缓存,以满足不同场景下的需求。懒加载策略则通过按需加载关联对象,进一步优化了资源利用和响应时间。本文将深入分析这些机制的实现原理及其最佳实践。 ... [详细]
  • 在探讨 MySQL 正则表达式 REGEXP 的功能与应用之前,我们先通过一个小实验来对比 REGEXP 和 LIKE 的性能。通过具体的代码示例,我们将评估这两种查询方式的效率,以确定 REGEXP 是否值得深入研究。实验结果将为后续的详细解析提供基础。 ... [详细]
  • PHP自学必备:从零开始的准备工作与工具选择 ... [详细]
  • 阶段五 3. 微服务项目【学成在线】_第6天 页面部署与课程管理_15 课程计划查询SQL语句解析 ... [详细]
  • 初探性能优化:入门指南与实践技巧
    在编程领域,常有“尚未精通编码便急于优化”的声音。为了从性能优化的角度提升代码质量,本文将带领读者初步探索性能优化的基本概念与实践技巧。即使程序看似运行良好,数据处理效率仍有待提高,通过系统学习性能优化,能够帮助开发者编写更加高效、稳定的代码。文章不仅介绍了性能优化的基础知识,还提供了实用的调优方法和工具,帮助读者在实际项目中应用这些技术。 ... [详细]
  • 作为软件工程专业的学生,我深知课堂上教师讲解速度之快,很多时候需要课后自行消化和巩固。因此,撰写这篇Java Web开发入门教程,旨在帮助初学者更好地理解和掌握基础知识。通过详细记录学习过程,希望能为更多像我一样在基础方面还有待提升的学员提供有益的参考。 ... [详细]
  • 本文详细介绍了使用 Python 进行 MySQL 和 Redis 数据库操作的实战技巧。首先,针对 MySQL 数据库,通过 `pymysql` 模块展示了如何连接和操作数据库,包括建立连接、执行查询和更新等常见操作。接着,文章深入探讨了 Redis 的基本命令和高级功能,如键值存储、列表操作和事务处理。此外,还提供了多个实际案例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 使用SQL命令创建数据库及其语句解析
    使用 `CREATE DATABASE` 命令可以创建一个新的数据库,并指定其名称。该 SQL 语句用于初始化数据库结构,执行后将生成一个新的数据库实例,用于存储相关的数据对象和表。在本例中,通过执行 `CREATE DATABASE 课程管理1`,系统将创建一个名为“课程管理1”的数据库,以便后续的数据管理和操作。 ... [详细]
  • 如何高效地安装并配置 PostgreSQL 数据库系统?本文将详细介绍从下载到安装、配置环境变量、初始化数据库、以及优化性能的全过程,帮助读者快速掌握 PostgreSQL 的核心操作与最佳实践。文章还涵盖了常见问题的解决方案,确保用户在部署过程中能够顺利解决遇到的各种挑战。 ... [详细]
  • 在使用 SQL Server 时,连接故障是用户最常见的问题之一。通常,连接 SQL Server 的方法有两种:一种是通过 SQL Server 自带的客户端工具,例如 SQL Server Management Studio;另一种是通过第三方应用程序或开发工具进行连接。本文将详细分析导致连接故障的常见原因,并提供相应的解决策略,帮助用户有效排除连接问题。 ... [详细]
  • 二十六、Java开发实战:PL/SQL轻松实现远程数据库连接
    通过 PL/SQL Developer 实现远程数据库连接的详细步骤如下:首先启动 PL/SQL Developer 软件,然后在登录界面中准确输入用户名和密码;接着在数据库连接配置中,按照 IP:Port/SID 的格式填写目标数据库的地址信息。此外,确保网络环境畅通无阻,并检查防火墙设置以避免连接失败。 ... [详细]
  • 在Node.js中调用MySQL存储过程`updateUser(p1, p2, @p3)`时,其中`@p3`为输出参数。若更新操作失败,则返回0;成功则返回1。本文将详细介绍如何正确获取存储过程的返回结果,并确保在实际应用中能够顺利执行。 ... [详细]
author-avatar
榴莲味蛋筒
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有