![Oracle 9i-无需担心即可删除存档日志?](https://linux22.com/image/511774/Oracle%209i-%E6%97%A0%E9%9C%80%E6%8B%85%E5%BF%83%E5%8D%B3%E5%8F%AF%E5%88%A0%E9%99%A4%E5%AD%98%E6%A1%A3%E6%97%A5%E5%BF%97%EF%BC%9F.png)
我有一台 Oracle 9i,它自 2007 年以来一直创建存档日志。我可以放心地删除它们吗?还是在删除它们之前我需要告诉 Oracle 一些信息?
(我不时会对数据库进行冷备份。)
谢谢,
托拜厄斯
答案1
存档日志用于执行时间点恢复。假设您有 1 月 1 日、1 月 8 日和 1 月 15 日的备份。如果您想要将数据库恢复到 1 月 10 日的状态,则需要重新加载 1 月 8 日的备份,并使用 8 日和 10 日之间的存档日志将数据库恢复到该时间点。
如果您不想早于上次冷备份,则可以删除上次冷备份之前的所有存档日志文件。
热备份期间也会使用归档日志。由于数据库本身在备份期间运行,因此在备份过程中会将附加信息写入日志文件,因此您需要(至少)保留从备份开始时生成的日志文件。
答案2
存档日志主要用于恢复自上次备份以来发生的更改。
我建议您不要进行冷备份,而是进行热备份,然后立即删除旧的存档日志。在 10g 上,可以在 RMAN 提示符下使用以下命令来完成此操作:
backup database plus archive log delete all input;
它将执行以下操作:
- 切换当前重做日志并存档最后使用的重做日志。
- 对数据库进行一致的备份
- 删除新创建的备份集中包含的所有存档日志
答案3
我想说的是,每次成功冷备份后,使用 RMAN 清除所有存档日志。Romething 的
删除'sysdate - (${KEEPTIME}/24)' 之前完成的所有 noprompt 归档日志;
其中 ${KEEPTIME} 是您想要保留的“现在”之前的小时数(由于您正在进行冷备份,您可以说 2 左右,我会使用 24)
使用 RMAN 删除归档日志会通知 Oracle 文件已被删除,而当您手动删除它们时,文件仍在控制文件 (v$archived log 等) 中“注册”。