Oracle - 以正确的顺序从模式中导出 DDL 和数据

Oracle - Export DDL and Data from Schema in correct order

我需要从 Oracle 12cR1 模式创建 DDL 和数据的副本。 我无法使用 SYS 或其他高权限用户。 我只能使用 SQL DEVELOPER 使用架构凭据。 我拥有的权利是:

我可以使用 Oracle SQL Developer 或其他第三方工具。 我使用了 "Database Export" 函数,但我发现无法以正确的顺序同时获取 DDL 和 INSERT 查询。有些 table 具有依赖性,因此我需要遵守 DDL 和查询的逻辑顺序。

您可以先禁用所有约束和触发器,然后再插入数据。加载数据后,启用它们。

您也可以先尝试使用PL/SQLDeveloper导出对象。此工具按依赖顺序导出对象。然后导出数据,但不确定是否依赖导出数据,可以试试导出时是否有禁用constraints/triggers选项。

在我看来,您应该使用专为完成此类任务而设计的工具,那就是 Data Pump(导出和导入)。它要求您获得对驻留在数据库服务器上的目录的特权,这是特权 (SYS) 用户创建和授予的权限。如果那里有 DBA,请让他们为您提供。

如果有 none,您仍然可以使用 Original EXP utility 在您自己的计算机上创建 DMP 文件。

export 的优势在于 Oracle 会处理所有似乎困扰您的事情。

如果我是你,我不会手动,真的没有必要那样做。除了它很耗时之外,您还必须注意外键约束,创建 slow INSERT INTO 语句……很快,不要这样做。使用(数据泵)导出和导入。