我想知道从Oracle数据库中删除大量记录的方法是什么,以便为开发人员的笔记本电脑创建一个更轻的数据库。
我们的目标是减少不同生产环境的出口,不排除实体,但减少每个表中保持参照完整性的记录数。
是否有工具/脚本?
我还想知道是否将副本数据库上的所有FK转换为“on delete cascade”并从关系层次结构顶部的实体中删除记录子集将完成这项工作。
有什么建议吗?
答案 0 :(得分:0)
如果您想从/向数据库导出/导入限制对象,那么您可以 EXCLUDE 这些对象,您不希望这些对象成为您的转储的一部分。
您可以通过指定对象类型和对象名称来排除要导出/导入的任何特定表。
EXCLUDE=TABLE:"='<TABLE_NAME>'"
<强> ==更新== 强>
AFAIK,我不知道,如果Oracle提供了导出子集数据的灵活性,但Oracle确实可以选择从 TABLES
导出分区数据TABLES=[schema_name.]table_name[:partition_name] [, ...]
答案 1 :(得分:0)
使用Jailer,您可以将数据导出到SQL脚本,该脚本可以遍历外键约束,以包括维护参照完整性所需的所有数据。