Oracle数据库中导出/导入与备份/还原之间的区别



有人能解释一下Oracle数据库中导出/导入和备份/还原之间的区别吗?我什么时候应该使用每一个?为什么"导入数据库转储"过程需要很长时间才能执行?

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

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

RAMAN备份用于灾难恢复。导出/导入用于在给定的时间点保存选定的数据/对象。

没错,导出/导入和备份/还原之间有相似之处,但也有很大的区别。

如果你想的不是数据库,而是你的笔记本电脑(或其他本地计算机(,你会"恢复"数据,以防灾难发生在你希望制作的"备份"中。你可以将一些或更多数据"导出"到U盘,然后将其"导入"到其他计算机,或者将其作为快照保存很长一段时间。

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

坦率地说,我总是对进口速度慢感到困惑。基本上,它只比回放所有发生的插入稍微快一点。然而,有一些技巧可以让它更快,研究并行加载、可传输的表空间等。

最新更新