ITPub博客

首页 > Linux操作系统 > Linux操作系统 > [zt] Log actively being archived by another process

[zt] Log actively being archived by another process

原创 Linux操作系统 作者:tolywang 时间:2009-03-05 10:13:26 0 删除 编辑

Alert中内容:

Mon Sep 03 10:12:44 2007
ARC0: Evaluating archive log 3 thread 1 sequence 31
ARC0: Beginning to archive log 3 thread 1 sequence 31
Creating archive destination LOG_ARCHIVE_DEST_1: 'D:ORACLEORADATAECOARCHIVE1_31.DBF'
Mon Sep 03 10:12:47 2007
Thread 1 advanced to log sequence 33
Current log# 1 seq# 33 mem# 0: D:ORACLEORADATAECOREDO01.LOG
Current log# 1 seq# 33 mem# 1: E:ECO_DATAREDO01B.LOG
Mon Sep 03 10:12:47 2007
ARC1: Evaluating archive log 3 thread 1 sequence 31
ARC1: Unable to archive log 3 thread 1 sequence 31
Log actively being archived by another process


回想那个时间刚好执行alter system switch logfile执行了手工日志切换.另外itpub上有人也反映在使用rman执行backup加选项plus archivelog 时候会出现.

原因在于启动了多于1个的归档进程,而每个归档进程都尝试对日志文件进行归档,由于没有获得kcrrlt锁而失败,这个锁是用来保护多个归档进程归档同一日志文件,失败的归档进程将写报警信息到警告日志。

system@ECO> show parameter log_archive_max_processes

NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
log_archive_max_processes integer 2

一些深入研究参考链接:

http://www.eygle.com/archives/2007/06/log_archive_process.html
http://www.eygle.com/archives/2007/06/log_archive_process_more.html
http://www.itpub.net/276117.html
http://www.dbcool.net/oracle/070729/9513/

 

 

 

---------------------------------------------------------------------- 

 

 

 

Tom的解释

AlertSID.log中出现ARC1: Failed to archive log# 2 seq# 295
在alertSID.log中,出现:
Tue Jun 26 11:38:37 2001
ARC1: Beginning to archive log# 2 seq# 295
Tue Jun 26 11:38:37 2001
ARC1: Failed to archive log# 2 seq# 295
ARC1: Beginning to archive log# 1 seq# 296
ARC1: Failed to archive log# 1 seq# 296
Tue Jun 26 11:38:37 2001
ARC2: Beginning to archive log# 2 seq# 295
ARC2: Failed to archive log# 2 seq# 295


and we said...
It is just a side effect of having more then one archiver.

If automatic archiving is turned on then all of the archiver process will try to archive this logfile, however they will not be able to aquire the lock 'kcrrlt',the lock to protect multiple arch processes from archiving the same logfile.

The failing process process will write to the trace/alert message that it was
unable to archive the logfile.

The file is successfully archived by some other process.

In 9i, this message is a little more informative:

ARC1: Beginning to archive log# 2 thrd# 1 seq# 24
ARC1: Unable to archive log# 2 thrd# 1 seq# 24
Log actively being archived by another process

相关参数
LOG_ARCHIVE_TRACE controls output generated by the archivelog process.

This process can be initiated by any of the following:

An ARCn background process (designated as ARCn in the output logs)
An explicit session-invoked foreground process (designated as ARCH in the output logs)
The valid values have the following meanings:

0: Disable archivelog tracing (this is the default)
1: Track archival of redo log file
2: Track archival status of each archivelog destination
4: Track archival operational phase
8: Track archivelog destination activity
16: Track detailed archivelog destination activity
32: Track archivelog destination parameter modifications
64: Track ARCn process state activity
128: Track FAL (fetch archived log) server related activities
You can combine tracing levels by adding together the values of the desired tracing levels.
For example, a setting of 3 will generate level 1 and level 2 trace output.
You can set different values for the primary and standby database.

When this parameter is set to the default value of 0, Oracle will still generate appropriate alert and trace
entries in response to error conditions.
If you change the value of this parameter dynamically in an ALTER SYSTEM statement,
the changes will take effect at the start of the next archivelog operation.


LOG_ARCHIVE_MAX_PROCESSES specifies the number of archiver background processes (ARC0 through ARC9)
Oracle initially invokes.

If the LOG_ARCHIVE_START initialization parameter has the value true, then this value is evaluated at instance startup.
Otherwise, this parameter is evaluated when the archiver process is first invoked by SQL*Plus or SQL syntax.
The actual number of archiver processes in use may vary subsequently based on archive workload.

 

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/35489/viewspace-561458/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle , MySQL, SAP IQ, SAP HANA, PostgreSQL, Tableau 技术讨论,希望在这里一起分享知识,讨论技术,畅谈人生 。

注册时间:2007-12-10

  • 博文量
    5595
  • 访问量
    13471149