注册

关于归档备份与还原原理的理解问题?

小灰灰_oO 2024/01/20 604 4

Snipaste_20240120_143004.jpg

这里面的两段话的理解,我不知道理解的对不对?

归档日志备份仅备份指定数据库生成的本地归档日志文件,要求归档日志文件的 DB_MAGIC 与数据库的 DB_MAGIC 保持一致。如果本地归档目录中包含多个不同数据库的归档日志文件,也只会备份一个特定数据库的归档日志。

我的理解:

这个就是说,先确认当前实例的DB_MAGIC是多少,然后归档目录下面(多个实例归档目录都配置在这路径下面),如果有别的实例产生的归档文件(DB_MAGIC肯定与当前实例不同),由于别的实例产生的归档文件中的DB_MAGIC与当前实例的DB_MAGIC不一致,这部分归档日志是不备份的,只会备份当前实例产生的归档文件

由于经过还原后数据库的 DB_MAGIC 会产生变化,因此即便 PERMANENT_MAGIC 相同,DB_MAGIC 不同的数据库产生的归档日志也不会备份。

我的理解:

这个是说,A机器的数据库备份以后,传输到B机器进行还原。进行还原操作时候,会执行update DB_MAGIC操作,更新了B机器的DB_MAGIC,导致A和B机器数据库实例的DB_MAGIC会不一致。但是因为是使用A的备份集还原的,所以两台机器的永久魔数 PERMANENT_MAGIC是会一致的。

根据上一段话的结论,当前实例只备份当前实例产生的归档文件。所以,B机器上,其实只会备份B实例产生的归档日志文件。

综上所述:

数据库只会备份当前运行实例产生的归档日志文件,即使本机上配置了多个实例,归档路径都一样。全备份归档日志文件,其实本质也只是不同实例各管各的,各自备份自己产生的归档日志文件,这样完成了一次归档目录的全备份。是由多个实例共同作用的结果,而不是靠单一实例实现的


但是,关于指定归档文件恢复一致性的说明,把我说晕了。
Snipaste_20240122_100433.jpg

这个意思是说,利用归档文件恢复时候,读取什么归档文件。则是判断永久魔数来提取归档文件。因为B机器还原A机器的备份集后,永久魔数跟A机器一样,但是DB_MAGIC被更新了,所以只能通过永久魔数来还原的意思么。

简而言之,备份根据当前实例的DB_MAGIC来提取备份归档日志,恢复时候,根据当前实例的PERMANENT MAGIC来提取能够用于恢复的归档日志?

回答 0
暂无回答
扫一扫
联系客服