我有一个从2007年开始创build存档日志的Oracle 9i。我可以删除它们吗? 还是在我删除它之前需要告诉Oracle?
(不时我做一个冷备份的数据库。)
谢谢,
托比亚斯
存档日志用于执行时间点恢复。 假设你在1月1日,1月8日和1月15日有备份。 如果你想恢复你的数据库到1月10号的时候,你需要重新加载1月8日的备份,并且使用8日和10日之间的归档日志来使数据库达到那个时间点。
如果您不希望早于最后一次冷备份,则可以从执行冷备份之前删除所有归档日志文件。
存档日志也在热备份过程中使用。 由于数据库本身在备份的时候是运行的,因此在备份的过程中会将其他信息写入日志文件,因此您希望(至less)保留从备份开始时生成的日志文件。
存档日志主要用于恢复自上次备份以来发生的更改。
而不是冷备份,我build议你做一个热备份,然后删除旧的存档日志。 在10g上,可以通过在RMAN提示符处使用以下命令来完成此操作:
backup database plus archive log delete all input;
它将执行以下操作:
我会说,在每次成功的冷备份之后,使用RMAN清除所有的归档日志。 罗马的行列
删除noprompt archivelog全部在“sysdate – ($ {KEEPTIME} / 24)”之前完成;
其中$ {KEEPTIME}是“NOW”之前要保留的小时数(因为您正在进行冷备份,所以可以说是2左右,我会用24)
使用RMAN删除存档日志会通知oracle文件已被删除,而当您手动删除它们时,文件仍在控制文件(v $ archived log等)中“注册”