首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle 12C中应用程序表存档的最佳实践指南

Oracle 12C中应用程序表存档的最佳实践指南
EN

Database Administration用户
提问于 2020-02-19 02:56:15
回答 1查看 46关注 0票数 0

数据库环境: Oracle 12C企业版

  • 我在应用程序模式中有一个表,在历史模式中有相应的历史表。
  • 应用程序表大约有10个小的varchar2列,最大行大小为200个字节。
  • 每周一次(称为句号),Oracle调度程序作业将运行一个存储过程,将数据从应用程序表中提取出来并插入到相应的历史表中。
  • 历史表除了应用程序字段外,还将包含年份和期间编号列。
  • 在将行转移到历史表(范围外)之后,单独的异步进程清除应用程序表。
  • 历史表将包含来自相应应用程序表的一年数据。每年都会创建新的历史表。
  • 历史表数据主要由应用程序id列和其他标准(包括年份和期间)查询。

现在我不考虑分区表设计..。考虑到上述设计目标,在设计我的表和加载存储过程时,我会考虑以下几点-

  1. 为历史架构在表空间级别设置压缩。
  2. 带有附加提示的直接路径插入
  3. 使索引在加载前不可用,加载后可用

我的问题:寻找关于我正在考虑的设计的建议。

EN

回答 1

Database Administration用户

回答已采纳

发布于 2020-03-11 08:10:00

可以使用闪回数据存档跟踪表的早期版本。有了这个特性,您就可以查询表,因为它可以查看任何时间点(在保留时间内)。这听起来确实比你正在构建的方法更灵活(重新发明轮子)。

1和2确实听起来非常直截了当的好主意。3取决于您正在加载的数据量。在加载过程中,不可用的索引会损害应用程序。我会考虑将每个负载放在一个单独的分区中。然后,一年后就很容易处理掉数据--只需删除整个分区即可。我假设您通常会在特定的时间点查看数据--在这种情况下,如果您正确地构造SQL,优化器可以使用分区剪枝。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/259974

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档