归档的路径和名称

涉及到归档路径的参数有:

在10g中,如果我们没配置这2个参数,还和一个参数有关:

在archive log list中可以看到

归档日志的名称和下面这个参数有关:

但是,上述的参数有的时候,配合还是有问题,我们来一一看看:

【情况一】刚刚安装完数据库,未配置时:

我们看到,此时设置的归档日志格式为oralocal_%r_%T_%S.arc,由于没设置log_archive_dest和log_archive_dest_1,因此归档路径根据DB_RECOVERY_FILE_DEST来。我们切出几个arch之后,去看看生成的归档如何:

我们看到当没有设置的时候,归档是放在DB_RECOVERY_FILE_DEST/<数据库SID>/ARCHIVELOG/<日期>的路径下,而且路径的归档名称是不按照之前设定的log_archive_format格式。
我们用rman做备份,发现能把目录下的日志全部备份走:

【情况二】设置log_archive_dest,但是不设置log_archive_dest_1:

在这里,我们看到了在log_archive_dest设置了一个路径,但是通过archive log list看到的还是DB_RECOVERY_FILE_DEST。我们来测试一把arch的切出。

我们看到分别在log_archive_dest和db_recovery_file_dest 都产生了归档,区别是在db_recovery_file_dest 路径下的归档格式不按照LOG_ARCHIVE_FORMAT,而log_archive_dest下的归档格式符合LOG_ARCHIVE_FORMAT。

我们测试一下备份:

从rman的执行过程中我们看到只备份走了db_recovery_file_dest下的归档,对于log_archive_dest下的归档,都没备份走:

【情况三】设置log_archive_dest_1,但是不设置log_archive_dest:

我们看到,当设置log_archive_dest_1之后,用archive log list看到的已经是在log_archive_dest_1 上的路径,而不是db_recovery_file_dest上的。

通过几次切换arch,看到只有在log_archive_dest_1上产生了归档,且归档文件的格式是符合log_archive_format ,在DB_RECOVERY_FILE_DEST//ARCHIVELOG/<日期>的路径下没有归档:

看到只在log_archive_dest_1路径下产生了归档,且归档的名称是LOG_ARCHIVE_FORMAT的格式。

我们也再测试一下备份:

我们看到这个的备份也正常备份走了。

【总结】:

1.未配置LOG_ARCHIVE_DEST和LOG_ARCHIVE_DEST_n,以DB_RECOVERY_FILE_DEST为准,不按照LOG_ARCHIVE_FORMAT格式,生成1份归档,rman备份时候备走。

2.配置LOG_ARCHIVE_DEST,但未配置LOG_ARCHIVE_DEST_n。在DB_RECOVERY_FILE_DEST和LOG_ARCHIVE_DEST各自生成1份归档;在DB_RECOVERY_FILE_DEST下的arch名称不符合规范,在LOG_ARCHIVE_DEST下的arch符合LOG_ARCHIVE_FORMAT;rman只备份走DB_RECOVERY_FILE_DEST,但不备份走LOG_ARCHIVE_DEST下的arch。

3.配置LOG_ARCHIVE_DEST_n,但未配置LOG_ARCHIVE_DEST,以LOG_ARCHIVE_DEST_n为准,生成1份归档,在DB_RECOVERY_FILE_DEST下不产生归档。生成的arch按照LOG_ARCHIVE_FORMAT格式命名。rman备份时候备走LOG_ARCHIVE_DEST_n下的归档。

相关文章

2条评论

  1. re yuyu:不好意思让你见笑了,刚刚开始从9i转向10g,有些概念性的东西还没搞清。

发表评论

电子邮件地址不会被公开。 必填项已用*标注