首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实现通用归档流程的最佳方式/技术

实现通用归档流程的最佳方式/技术
EN

Stack Overflow用户
提问于 2009-09-24 22:34:56
回答 5查看 491关注 0票数 1

我们希望淘汰Oracle仓库中的旧数据。

为了给出一个非常简单的概述,有人建议使用PL SQL存储过程开发一个过程,该过程在给定源/目标表等参数的情况下,使用Oracle ALL_TAB_COLUMNS视图来构造镜像源表的目标表。

如果从上一次运行中存在dest表,则建议的解决方案包括将源表的当前模式与目标(存档)表进行比较,如果发现差异,则使两个表同步。我确信在提议的功能中存在局限性,但是尽管该规范在这一领域似乎相当雄心勃勃,但我怀疑他们是否会用PL-SQL重写Red Gate的SQL比较实用程序。

我想我有两个问题。

1) PL/SQL真的是用于这类任务的合适语言吗?对我来说,存储过程用于快速输入和快速输出数据操作,而复杂逻辑属于我认为功能更全的客户端语言,如C#或其他.NET语言。我预计会有一个10,000行、缩进不佳的单个存储过程,并且我对不得不检查它感到畏缩。我知道Oracle /Pkgs不需要这样,但是,由于某些原因,我们的开发人员在使用PL\SQL时倾向于比在.NET中编写时更少模块化。我欢迎你的建议和选择的理由。

2)是否有可用于归档目的的Oracle实用程序(我想我们使用的是10g)?有人有什么建议吗?

在提供评论时,我将投票支持任何不重复的价值。

谢谢。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-09-25 06:07:08

你说这是一个数据仓库。你在使用分区吗?如果是,分区方案是否标识了您想要存档的行?如果这两个问题的答案都是“是”,那么partition exchange可能就是你要搜索的功能。

票数 1
EN

Stack Overflow用户

发布于 2009-09-24 22:52:10

PL/SQL不仅仅是用于“快进快出”的数据操作。在它的基础上构建了大量的应用程序。对于这类任务,PL/SQL本身并没有什么问题。也就是说,如果您预计在PL/SQL中会有一个写得很差的10K行过程,请不要使用它。让你的程序员做他们最擅长的事情。

票数 4
EN

Stack Overflow用户

发布于 2009-09-24 22:49:22

首先,这听起来像是PL-SQL的一项任务。非模块化代码问题是可以强制执行的,使用PL-SQL会给您带来更好的结果,并且更易于编写。

至于概念本身,如果模式被更新,你所做的任何解决方案都会有问题-同步将失败,或者更糟糕的是,它不会并且数据将被破坏。

如果有一个复制服务器,您可以从主服务器添加一个“删除旧记录”,并且只在离线服务器上执行插入/更新,那该怎么办呢?这将允许您既拥有所有数据,又保留较少的活动数据。

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

https://stackoverflow.com/questions/1474535

复制
相关文章

相似问题

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