冷/热备份是什么?它们各有哪些优缺点?

冷备份没什么太多可说的,这种备份就是简单的在数据库关闭状态下,用os的cp命令把数据文件,控制文件,以及日志文件复制到存储上,然后就可以了,这种备份的缺点就是等下次恢复的时候是一种不完全恢复,也就是说会有数据丢失,那么在生产库上如果用这种模式是非常危险的。热备份是说在数据库运行的模式下通过运行Begin backup xxx cp end backup这种命令操作来实现的,当运行Begin backup命令的时候系统会冻结这种指定的数据文件的头部scn,但是并不会停止对该数据文件的dml操作,但这就会产生一个问题就是由于在begin backup 与end backup命令之间运行了cp命令,这个是操作系统的命令,那么他复制的单位一般是2k,但是一般oracle数据库的库文件的最小单位是oracle block 一般这个块大小事8k,这就造成了数据块拷贝的时候可能会发生不一致现象,就是当你cp的前2k后,进行对整个数据块都修改了,那么你cp的后6k就与前2k数据不一致了,所以oracle 为了防止这种问题的产生那么就会把所有每个只要发生dml的oracle block的内容完全存储在日志文件中,这就造成了产生大量日志的缺点,等到下一次恢复的时候oracle 会根据日志来进行日志重演,那么可能会比较慢。当发生热备份的时候也有可能会造成很多等待事件的发生 比如log file sync,当然在热备份之前会触发检查点,使数据文件上的脏块列表写入到数据文件上。

冷备份的优点就是操作简单,数据库性能比归档模式稍高

相关推荐