【问题标题】:Removing an area from an OpenEdge database从 OpenEdge 数据库中删除区域
【发布时间】:2016-08-10 09:17:20
【问题描述】:

我的客户有一半的 OpenEdge 数据库充满了不需要的审计记录(用户构建的审计;不是 OE 审计)。数据库大约 200GB,其中 97GB 是这些审计记录。用户构建的审核流程现在已禁用且未使用,他们只是想删除数据。

我们无法以编程方式删除数据,因为这里没有开发工具。我知道删除数据是安全的,不会在数据库的其他地方造成孤儿或引用完整性问题。

审计表位于 st 文件中定义的它们自己的区域中。

他们已经测试了转储和加载(减去审计数据),但他们在 4 天后停止了加载,因为他们认为没有主要业务数据库的时间太长。所以这在生产环境中是站不住脚的。

他们尝试简单地删除数据文件并编辑 st 文件,但随后他们遇到了备份/恢复问题 - 可能是由于 st 文件不匹配(当时我不在现场亲眼看到问题) .

请问删除这些数据最快、最简单的方法是什么?

【问题讨论】:

  • 您应该能够在大约半天的时间内转储和加载 200 GB。他们做的很不对。
  • 嗯,有趣 - 这取决于运行 SSD 吗?转储和加载需要这么长时间的正常陷阱是什么 - 这是一个非常直接的点和点击练习,不是吗?不只是硬件依赖吗?
  • 那是相当糟糕的硬件——旋转生锈和 RAID5。如果你有硬件,你应该能够在几个小时内完成整个事情。

标签: openedge progress-db database-management


【解决方案1】:

Proutil“截断区域”应该按照您的描述进行。

一旦通过截断区域删除数据,然后删除表和索引并 prostrct 删除有问题的范围。

(如果没有开发工具,您可能必须创建一个存根存储区域并“移动”空表和索引,而不是删除它们。)

【讨论】:

  • 谢谢汤姆-我只是在调查这个。进度文档说索引被禁用,但没有说明之后启用它们。它们在截断完成后启用吗?他们不想删除表格;只是数据。表的删除只是为了从范围中恢复磁盘空间还是过程的一部分?
  • 之后您需要重新启用索引。但是,如果桌子是空的,那没什么大不了的。放弃桌子只是因为我认为那是你想做的。如果您需要恢复空间,您应该将表和索引 tablemove 到新的(可变大小范围)区域,然后 prostrct 删除旧区域。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-08-23
  • 1970-01-01
  • 1970-01-01
  • 2021-09-29
  • 2013-10-11
  • 2012-07-13
相关资源
最近更新 更多