将 Oracle 数据库转储到文本 SQL 脚本中

pet*_*erh 7 oracle export dump

我在想什么mysqldumppg_dump正在做什么。因此,他们将活动数据库转储到包含 SQL 查询的文本文件中,这些 SQL 查询可重现整个数据库。在 MySQL 和 PostgreSQL 中,这是正常的数据库转储格式。

它存在于 Oracle 上吗?怎么做到呢?

如果不是标准的 Oracle 东西,那绝对不是问题。我需要一个解决问题的方法。导出单个表是足够的,我问了整整DB的转储。

它是一个大型项目(具有数百万行 DB)的简化开发人员环境,但仍有数百个表和非常复杂的结构。而且,我想快点玩。当我在玩它时,我还需要能够对其执行棘手的修改。在二进制转储上我不能这样做,在文本上我可以。

ato*_*pas 7

它存在于 Oracle 上吗?

类似的实用程序存在于称为数据泵的 Oracle 环境中。

怎么做到呢?

使用 expdp 命令行工具执行完整的数据库导出。

例子:

expdp hr DIRECTORY=dpump_dir2 DUMPFILE=expfull.dmp FULL=YES NOLOGFILE=YES
Run Code Online (Sandbox Code Playgroud)

然后可以使用impdp将其导入到另一个数据库中。

例子:

impdp hr DUMPFILE=dpump_dir1:expfull.dmp FULL=YES LOGFILE=dpump_dir2:full_imp.log
Run Code Online (Sandbox Code Playgroud)

如果您指定DUMPFILE参数,它会写入一个名为转储文件的二进制文件。使用SQLFILE参数 ( SQLFILE=/my/file/name.sql),您可以获得导入会执行的所有 SQL DDL。

更多关于它取决于要求。

Oracle 文档比我在这里解释的更多。

Oracle 数据泵概述


Bal*_*app 5

数据库本身没有这样的东西。

您可以使用数据库导出工具在 SQL Developer 中执行类似的操作。

如何使用 SQL Developer 导出数据

使用工具/数据库导出工具,您可以指定要导出的对象,然后 SQL Developer 生成一个 SQL 文件用于重新创建它们,并将数据作为插入语句。