Oracle 数据库中 export/import 和 backup/restore 之间的区别

Difference between export/import and backup/restore in Oracle Database

谁能解释一下 Oracle DB 中 export/import 和 backup/restore 之间的区别是什么?我什么时候应该使用它们中的每一个?为什么 "import database dump" 进程需要很长时间才能执行?

你说得对,export/import和backup/restore有相似之处,但也有很大的不同。

如果您考虑的不是数据库,而是您的笔记本电脑(或其他本地计算机),那么您会 "restore" 数据,以防万一您希望 "backup" 发生灾难。然后你会 "export" 一些或更多数据到 U 盘 "import" 到其他计算机,或者将它作为快照保存很长时间。

这两种工具都是专门用于它们的目的。例如,您可以准确说明应该导出哪些架构、用户、表,甚至是行,以及它们将导入到哪里。例如,备份通常分为通常每周的完整备份和通常仅存储最新更改的每日备份,这使得备份和恢复数据非常快。

老实说,我一直对导入速度慢感到困惑。基本上它只比重播曾经发生过的所有插入内容快一点点。然而,有一些技巧可以让它更快,研究并行加载、可传输表空间等。

RMAN 备份通过逐块复制来创建数据文件的物理备份。它不关心给定块中的实际内容,尽管它只会复制那些有或曾经有数据的块,而忽略空块。它还保留有关这些块的元数据,以便在 RESTORE 上它可以正确地从备份块重建数据文件。 RMAN 备份可用于 restore/recover 完全化为乌有的数据库。它还可以处理增量备份和归档日志,以完全恢复到这些增量备份和归档日志覆盖的任何时间点。

Export 创建一个二进制文件,该文件本质上是一堆 CREATE 和 INSERT 语句,用于重现导出的内容。随附的 IMPORT 然后将读取该转储文件并重播其中包含的所有 CREATE 和 INSERT 语句。 Import 需要一个操作数据库来接收和处理这些语句。并且它是严格意义上的“单个时间点 - 执行导出的时间。

RAMAN 备份用于灾难恢复。 Export/import 用于在给定时间点保存选定的 data/objects。