Log file is a permanent archive, which register the various actions performed by the database transactions
Log is like "Arianna's thread" used by Thesesus to find his way out of the Minotaur's palace; by rewinding the log Theseus could undo the path has taken
In a case of system failure log file is used to either redo the committed and not permanently recorded transactions or undo partially recorded and not committed transactions
Log buffer and log file
Performance related observations:
Location of logfile groups on persistent storage devices may have an impact on performance of database systems
Logfile groups must be located on different storage devices
A size of log buffer may have an impact on performance
A bigger log file buffer provide better performance, however the improvements are minimal from a certain size of log buffer
Database writer transfers the modified data blocks in transient memory into persistent memory
Log writer
Log writer processes (LGWR) periodically transfers the contents of the redo log buffers into the redo log files
Checkpoint process
Checkpoint process updates the data file headers and control files to record a checkpoint event
Lock manager
Lock manager process performs locking/unlocking of data items and deadlock detection
Database server processes
Archiver
Archiver processes transfer the contents of redo log files into the archived redo log files
Process monitor
Process monitor process performs the "supervision" of user processes. Process monitor frees the resources used by a
failed user process, releases the locks and makes unlocked resources available to the users
System monitor
System monitor process is responsible for database recovery, elimination of "lost" transactions