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