backup - 物理备份和逻辑备份有什么区别?

标签 backup replication database-backups

我正在阅读有关备份的内容。我明白了什么是物理备份。但我不明白什么是逻辑备份?它是如何工作的?

工作的图示会有所帮助。

提前致谢

最佳答案

根据我的理解,逻辑备份只是从数据库中导出一个或多个表。如果它包含数据库的所有表,则可以使用它来恢复进行逻辑备份时数据库的状态。人们还可以使用它将表导入到不同的数据库中。例如,带有 CREATE TABLE 和 INSERT 语句的脚本将是逻辑备份的可能文件格式(如 MySQL 使用的 - Oracle 有自己的导出文件文件格式)。

物理备份是内部数据库文件的副本。只有这样才允许使用日志文件将数据库恢复到介质故障前的最后一秒(即比备份时间晚得多的时间 - 只要拥有自备份以来写入的所有日志文件的副本)备份时间)。 IE。只有这才是人们通常期望从不断更新的数据库中获得的“真正的备份”。

(仅出于安全考虑:请注意,在数据库运行时复制内部数据库文件将没有任何帮助,除非采取特殊的预防措施:由于复制需要一些时间,因此会产生不一致的文件 View 如果在复制文件之前无法关闭DBMS,请检查DBMS手册中的“热备份”。保护日志文件也很重要,例如将它们复制到两个独立的磁盘上。在Oracle中,您必须切换到ARCHIVELOG模式确保日志文件在一段时间后不会被覆盖。一般来说,真正为介质故障做好准备需要大量的知识,并且还需要在不同的计算机上进行实际测试。逻辑备份可能更简单,并且需要更少的内容风险在于,当需要时它完全无法使用,因为文件格式更简单。但是,很久以前,我在 Oracle 导出中破坏了德国国家字符,因为当时 ASCII 是默认的字符编码。)

关于backup - 物理备份和逻辑备份有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39123563/

相关文章:

git - 初始化 git 仓库对 linux 根目录的影响 3 :)

c++ - 在 C++ 中确定已更改数据的最佳方法

cassandra - 在 Kubernetes 下管理 Cassandra 数据存储大小和备份

Mysql - 备份部分数据

ruby-on-rails - (来自Amazon S3的)BucketAlreadyOwnedByYou错误实际上是什么意思?我找不到任何影响我的理由

linux - 查找文件并将它们 tar(带空格)

mysql - 如何防止用mysql复制某些记录

mysql: 恰好语句 "Start binlog_dump to slave_server"登录到master错误日志

mysql - 无法将 MYSQL 备份还原到新数据库

postgresql - 通过 pgAdmin 从 *.sql 文件恢复 Postgres 数据库模式?