一般情况下我们对数据库归档路径指定到asm 磁盘上的位置, 只要指定到具体的哪个磁盘组就可以了, 假设我们设置的路径和目录之后 那么就会出现磁盘归档路径出现双份的现象。
并且其命名的名称是不同的。其两者之间是镜像关系。
试验如下
SQL> archive log list;
数据库日志模式 存档模式
自动存档 启用
存档终点 USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 8607
下一个存档日志序列 8608
当前日志序列 8608
SQL>
SQL> alter system set log_archive_dest_1='LOCATION=+ARCH/orcl/ARCHIVELOG' sid='*' scope=both;
SQL> SQL> archive log list;
数据库日志模式 存档模式
自动存档 启用
存档终点 +ARCH/orcl/archivelog
最早的联机日志序列 8609
下一个存档日志序列 8610
当前日志序列 8610
切换归档
SQL> alter system switch logfile;
alter system archive log current;
查询归档日志
select name from V$ARCHIVED_LOG;
+ARCH/orcl/archivelog/1_8608_797703012.dbf
+ARCH/orcl/archivelog/1_8609_797703012.dbf
+ARCH/orcl/archivelog/2_7892_797703012.dbf
----在视图中没有显示有两份信息
通过asmcmd 命令查看 可以看在到archivelog 日志目录下会生成一个带有日期格式的目录, 里面存放着和上面相同的日志文件,只不过名称不同 不带有.dbf
而是asm 自动命名的文件
执行下面的命令会后 镜像消失不在生成带有哦dbf 的归档日志
SQL> alter system set log_archive_dest_1='LOCATION=+ARCH' sid='*' scope=both;、
+ARCH/orcl/archivelog/2017_11_16/thread_2_seq_7898.272.960237429
+ARCH/orcl/archivelog/2017_11_16/thread_2_seq_7899.273.960237431
+ARCH/orcl/archivelog/2017_11_16/thread_1_seq_8617.274.960237433
分析 :
数据库在设置归档如果指定具体的路径 则会在指定的路径的目录下生成归档日志, 因为是认为指定的所以以dbf 为后缀名称。
但是又因为使用的是asm 的方式存放归档 ,归档路径指定了但是没有限定名称 ,为归档的安全性, oracle 数据库固执的认为 我需要按照自己的方式存放一份归档日志文件 。 因此出现了asm 存储当中有两份相同内容但是名称不同的日志。
数据库 自动的将人为指定的路径下的归档日志存放到控制文件当中。
因此: 在设置归档的时候 , 注意只要指定归档磁盘组就可以。
数据库版本:11.2.0.1
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31369696/viewspace-2147431/,如需转载,请注明出处,否则将追究法律责任。