Oracle数据库备份与恢复全解析
1. 备份基础与一致性问题
在数据库备份中,备份的一致性至关重要。如果使用一致性备份,无需恢复和使用 open resetlogs
命令即可打开整个数据库备份;而使用不一致性备份时,则必须使用归档重做日志使数据保持最新状态,并同步数据文件的系统更改号(SCN)。
数据库运行模式不同,备份方法也有所差异:
- 非归档日志模式 :建议先干净地关闭数据库,再备份所有数据文件。若使用RMAN进行离线备份,需先挂载数据库,因为RMAN需要更新目标数据库控制文件。这种方式备份的是一致性数据库,不建议备份因 shutdown abort
等命令导致的不一致性数据库。
- 归档日志模式 :可采用以下方式备份整个数据库:
- 关闭且一致
- 关闭且不一致
- 打开且不一致
能在数据库打开并使用时进行备份,是归档日志模式的一大优势。
2. 恢复类型概述
恢复数据的方法多样,恢复策略很大程度上取决于备份策略。例如,在非归档日志模式下,多数情况下无法进行完全恢复,只能还原最新备份,会丢失自备份以来输入的所有数据。
3. 数据库恢复与备份一致性
数据库关闭方式会影响备份的一致性:
- 一致性备份 :使用 shutdown normal
(等同于 shutdown
)、 shutdo