从 OpenEdge 数据库中删除一个区域

Removing an area from an OpenEdge database

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

我们无法以编程方式删除数据,因为我们这里没有开发工具。我知道可以安全删除数据,而不会导致数据库中其他地方出现孤儿或引用完整性问题。

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

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

他们曾尝试简单地删除数据文件并编辑 st 文件,但他们随后遇到了 backup/restore 问题 - 可能是由于 st 文件不匹配(当时我不在身边看到第一手问题)。

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

Proutil "truncate area" 应该按照您的描述进行操作。

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

(如果没有开发工具,您可能必须创建存根存储区域和 "table move" EMPTY 表和索引,而不是删除它们。)