Oracle's alert.log

原创 2008年10月02日 15:40:00
Oracle's alert.log chronologically records messages and errors arising from the daily database operation. Also, there are pointers to trace files and dump files.

These messages include

alert.log is a text file that can be opened with any text editor. The directory where it is found can be determined by the background_dump_dest initialization parameter:

select value from v$parameter where name = '';

If the background_dump_dest parameter is not specified, Oracle will write the alert.log into the $ORACLE_HOME/RDBMS/trace directory.

Here's a shell/awk script to analyze alert logs.

Common messages in the alert log

ARCx: Media recovery disabled

This message will be written into the alert.log if the arch process is started with the database being in noarchive log mode.

It's unfortunately possible for ARCH to be sitting around doing nothing apart from just taking up memory when the database is in noarchive log mode.

The archiver can be stopped dynamically: alter system archive log stop.


Such a message is written into the alert log when a process that waited for a semaphore gets the semaphore shortly befor the timeout expires and doesn't have the time to switch the timeout mechanism off.

Thread 1 cannot allocate new log, sequence 1558 Checkpoint not complete

This error message is written into the alert.log if a checkpoint cannot write all dirty db blocks to the online redo log.

Usually, this message is a sign that the size of the redo logs is to small or that there should be more of them.

Rotating the alert logs

Within Oracle, it is perfectly possible to delete, or rename, the alert.log, if desired (for example, if it reaches a certain size). Oracle simply recreates a new alert.log the next time it writes to it.

Linux (and other Unixes?) has an utility called logrotate to automate that task.

Writing own messages into the alert log

The undocumented procedure kdswrt in dbms_system allows to write own messages in the alert log.


sys..ksdwrt(2, 'My own message');

Reading the alert log through an external table

Here is a procedure which creates an external table that can be used to read the alert.log.

There is also a script to read the alert log which doesn't require a procedure such as the previous link.


Nagios监控ORACLE ALERT日志脚本

会点Nagios的知道怎么用吧 #把nagios加入oinstall组 #usermod -a -G oinstall nagios #! /bin/sh dbversion=11 bdump=/...
  • ashic
  • ashic
  • 2015年01月27日 13:34
  • 1346


之前已经说过了Oracle数据库的启动,今天再来看看Oracle数据库的关闭。一、数据库关闭的三个阶段Oracle数据库启动过程包括三个步骤: NOMOUNT -> MOUNT -> OPEN,数据库...
  • pan_tian
  • pan_tian
  • 2014年11月16日 01:31
  • 7558


  • stability4884
  • stability4884
  • 2014年05月07日 16:52
  • 1175


  • xiaozhongma
  • xiaozhongma
  • 2014年03月26日 14:23
  • 1106


  • xiaoxing1521025
  • xiaoxing1521025
  • 2013年11月27日 12:00
  • 577


熟练使用alert.log日志  1)、日志存放的位置:$ORACLE_BASE/admin/SID/bdump/alert_sid.log  ⊙ 定期检查警报日志文件存入的内容,其中包括:检查内...
  • tonyzhou_cn
  • tonyzhou_cn
  • 2013年05月09日 19:59
  • 413

Oracle 11g alert log 新增消息 opiodr aborting process unknown ospid (1951) as a result of ORA-28 说明

一.Alert log 说明 在Oracle 的数据库中alert log发现大量如下log: Fatal NI connect error 12537, connectingto:...
  • tianlesoftware
  • tianlesoftware
  • 2012年08月04日 00:36
  • 18989

alert 和 console.log

在日常调试程序中,alert 和 console.log我们都会经常用到。简言之,alert()会在在浏览器界面弹出消息提示框;console.log()会在控制台里打印日志。他们又有什么区别?...
  • gs6511
  • gs6511
  • 2016年11月10日 00:47
  • 262

Alert Log中“Fatal NI connect error 12170”错误问题

本文转自: 定期检查数据库alert log信息,是我们进行数据库日常维护、巡检和故...
  • moses19
  • moses19
  • 2016年05月26日 08:48
  • 295

other backgroud process and alert log【每日一译】--2012-10-15

Other Background Processes There are several other background processes that might be running. Thes...
  • launch_225
  • launch_225
  • 2012年10月15日 09:27
  • 465
您举报文章:Oracle's alert.log