最近在做数据库检查的时候发现有下面警告信息:
Thu Apr 02 10:34:39 2015
Current log# 1 seq# 235103 mem# 0: D:\ORADATA\ORCL\REDO01.LOG
Thu Apr 02 10:34:40 2015
ARC1: Evaluating archive log 3 thread 1 sequence 235102
Thu Apr 02 10:34:40 2015
ARC1: Warning. Log sequence in archive filename wrapped
to fix length as indicated by %S in LOG_ARCHIVE_FORMAT.
Old log archive with same name might be overwritten.
Committing creation of archivelog 'D:\ARCHIVELOG\ARC35102_0749482202.001'
经查询,这是oracle的一个bug,数据库的LOG_ARCHIVE_FORMAT默认值为ARC%S_%R.%T。%S为一个序列号,仅支持5位数(即最大值为99999),当超过这个值时,仍然只显示5位,所以在alert中提示说可能会覆盖掉同名文件,
系统当前的log_archive_format 设置:
SQL> show parameter log_archive_format
NAME TYPE VALUE
------------------------------------ ----------- -----------
log_archive_format string ARC%S_%R.%T
Oracle提供的解决办法是:将log_archive_format中的%S改成%s.
这个参数修改需要重启数据库。
alter system set LOG_ARCHIVE_FORMAT='ARC%s_%R.%T' scope=spfile;
最后重启数据库即可。