Oracle - 以正确的顺序从架构导出DDL和数据

时间:2018-04-12 21:49:31

标签: oracle export schema oracle-sqldeveloper ddl

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

  • 在架构中创建和更改对象权限(例如CREATE 表)。
  • 在表格上插入,读取,更新和删除数据权限 在架构内。
  • 对存储过程执行权限, 模式中的函数和包。

我可以使用Oracle SQL Developer或其他第三方工具。 我使用了“数据库导出”功能,但我发现无法以正确的顺序同时获取DDL和INSERT查询。某些表具有依赖关系,因此我需要遵守DDL和查询的逻辑顺序。

2 个答案:

答案 0 :(得分:2)

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

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

export 的优势在于Oracle可以处理所有困扰您的事情。

如果我是你,我不会手动手动,实际上没有必要这样做。除了耗时之外,您还必须关注外键约束,创建 INSERT INTO语句......很快就不要这样做了。使用(数据泵)导出和导入。

答案 1 :(得分:0)

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

您也可以尝试使用PL / SQL Developer首先导出对象。此工具按依赖顺序导出对象。然后导出数据,但不确定它是否依赖导出数据,您可以尝试在导出时有禁用约束/触发器选项。