发表于2008/10/2 15:40:00 259人阅读
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
- startups and shutdowns of the instance
- Messages to the operator console
- Errors causing trace files.
dropSQL statements on databases, tablespaces and rollback segments.
- Errors when a materialized view is refreshed.
- ORA-00600 (internal) errors.
- ORA-01578 errors (block corruption)
- ORA-00060 errors (deadlocks)
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 = 'background_dump_dest';
If the background_dump_dest parameter is not specified, Oracle will write the alert.log into the
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.dbms_system.ksdwrt(2, 'My own message');
Reading the alert log through an external table
There is also a script to read the alert log which doesn't require a procedure such as the previous link.
- Oracle 11g alert log 新增消息 opiodr aborting process unknown ospid (1951) as a result of ORA-28 说明
- alert 和 console.log
- Alert Log中“Fatal NI connect error 12170”错误问题
- other backgroud process and alert log【每日一译】--2012-10-15
- Alert Log Messages: Private Strand Flush Not Complete [ID 372557.1]
- Oracle-Alert log解读
- Fatal NI Connect Error 12170, 'TNS-12535: TNS:operation timed out' Reported in 11g Alert Log
- Oracle错误解决 ORA-00844: Parameter not taking MEMORY_TARGET into account, see alert log for more inform