fbpx
Wikipedia

Redo log

In the Oracle RDBMS environment, redo logs comprise files in a proprietary format which log a history of all changes made to the database. Each redo log file consists of redo records. A redo record, also called a redo entry, holds a group of change vectors, each of which describes or represents a change made to a single block in the database.

For example, if a user UPDATEs a salary-value in a table containing employee-related data, the DBMS generates a redo record containing change-vectors that describe changes to the data segment block for the table. And if the user then COMMITs the update, Oracle generates another redo record and assigns the change a "system change number" (SCN).

Whenever something changes in a datafile, Oracle records the change in the redo log. The name redo log indicates its purpose: If the database crashes, the RDBMS can redo (re-process) all changes on datafiles which will take the database data back to the state it was when the last redo record was written. DBAs use the views V$LOG, V$LOGFILE, V$LOG_HISTORY and V$THREAD to find information about the redo log of the database. Each redo log file belongs to exactly one group (of which at least two must exist). Exactly one of these groups is the CURRENT group (can be queried using the column status of v$log). Oracle uses that current group to write the redo log entries. When the group is full, a log switch occurs, making another group the current one. Each log switch causes checkpoint, however, the converse is not true: a checkpoint does not cause a redo log switch. One can also manually cause a redo-log switch using the ALTER SYSTEM SWITCH LOGFILE command.

Classification edit

Redo log files occur in two types:[1]

  • online redo logs ("ORL"[2] or "redo logs"[3] for short)
  • archived redo logs ("archive logs")[4]

Usage edit

Before a user receives a "Commit complete" message, the system must first successfully write the new or changed data to a redo log file.

The RDBMS first writes all changes included in the transaction into the log buffer in the System Global Area (SGA). Using memory in this way for the initial capture aims to reduce disk IO. Of course, when a transaction commits, the redo log buffer must be flushed to disk, because otherwise the recovery for that commit could not be guaranteed. The LGWR (Log Writer) process does that flushing.

Having a redo log makes it possible to replay SQL statements. Before an Oracle database changes data in a datafile it writes changes to the redo log. If something happens to one of the datafiles, a recovery procedure can restore a backed-up datafile and then replay the redo written since backup-time; this brings the datafile to the state it had before it became unavailable. Standby databases in an Oracle Data Guard environment use the same technique: one database (the primary database) records all changes and sends them to the standby database(s). Each standby database applies (replays) the arrived redo, resulting in synchronization with the primary database.[5]

If a database crashes, the recovery process has to apply all transactions, both uncommitted as well as committed, to the data-files on disk, using the information in the redo log files. Oracle must re-do all redo-log transactions that have both a BEGIN and a COMMIT entry (roll forward), and it must undo all transactions that have a BEGIN entry but no COMMIT entry (roll back).[6] (Re-doing a transaction in this context simply means applying the information in the redo log files to the database; the system does not re-run the transaction itself.) The system thus re-creates committed transactions by applying the “after image” records in the redo log files to the database, and undoes incomplete transactions by using the "before image" records in the undo tablespace.

Change data capture can read the redo logs.

In Oracle Data Guard configurations, standby redo logs resemble their equivalent online redo logs, but serve to store redo data transmitted from a different database.[7]

Implications edit

Given the verbosity of the logging, Oracle Corporation provides methods for archiving redo logs (archive-logs), and this in turn can feed into data-backup scenarios and standby databases.

The existence of a detailed series of individually logged transactions and actions provides the basis of several data-management enhancements such as Oracle Flashback, log-mining and point-in-time recovery. The concept of a database incarnation[8] can influence the use of redo in database recovery.

For database tuning purposes, efficiently coping with redo logs requires plentiful and fast-access disk.

See also edit

References edit

  1. ^ Kyte, Thomas; Kuhn, Darl (2014-11-10). Expert Oracle Database Architecture. Expert's voice in Oracle (3 ed.). Apress (published 2014). p. 9. ISBN 9781430262992. Retrieved 2015-02-19. I've referred to two types of redo log file: online and archived.
  2. ^ Bach, Martin (2013-11-23). Expert Consolidation in Oracle Database 12c. SpringerLink : Bücher. Apress (published 2013). p. 318. ISBN 9781430244288. Retrieved 2015-07-12. Standby redo logs (SRL) on the disaster recovery site act as the counterpart to the primary database's online redo logs (ORL) and allow the remote site to receive redo more efficiently.
  3. ^ Fogel, Steve (May 2006). "Oracle Database Administrator's Guide, 10g Release 2 (10.2)". docs.oracle.com. Oracle. Retrieved 2015-02-19. The current redo log is always online, unlike archived copies of a redo log. Therefore, the online redo log is usually referred to as simply the redo log.
  4. ^ Ries, Steve (2013-02-22). Oca Oracle Database 11g Database Administration I: A Real-World Certification Guide. Packt Publishing Ltd (published 2013). ISBN 9781849687317. Retrieved 2015-02-19. [...] when a log switch occurs, the contents of the current redo log are written out to an archived redo log by the ARCn process. These logs are also referred to as offline redo logs or simply archive logs.
  5. ^ Liu, Henry H. (2011-11-22). Oracle Database Performance and Scalability: A Quantitative Approach. Quantitative Software Engineering Series. Vol. 12. John Wiley & Sons (published 2011). pp. 238–239. ISBN 9781118056998. Retrieved 2015-02-19. Primary and physical standby databases are synchronized through a service called Redo Apply, which recovers the redo data from the primary database and applies the redo to the standby database. [...] Synchronization between the primary and [logical] standby databases is achieved through a service named SQL Apply, which transforms the redo data from the primary database into SQL statements and then executes the SQL statements on the standby database.
  6. ^ Greenwald, Rick; Stackowiak, Robert; Stern, Jonathan (2013-09-06). Oracle Essentials: Oracle Database 12c (5 ed.). O'Reilly Media, Inc. (published 2013). ISBN 9781449343170. Retrieved 2015-02-19. Instance recovery has two phases: roll forward and roll back.
  7. ^ Schupmann, Vivian (2008). "Oracle Data Guard: Concepts and Administration: 10g Release 2 (10.2)". Oracle. Retrieved 2015-02-19. A standby redo log is similar to an online redo log, except that a standby redo log is used to store redo data received from another database.
  8. ^ Bach, Martin (2013-11-23). Expert Consolidation in Oracle Database 12c. SpringerLink : Bücher. Apress (published 2013). p. 378. ISBN 9781430244288. Retrieved 2015-02-04. An incarnation as per the Oracle documentation is a separate version of the database.

External links edit

  • Managing the Redo Log (Oracle documentation)

redo, this, article, multiple, issues, please, help, improve, discuss, these, issues, talk, page, learn, when, remove, these, template, messages, this, article, needs, additional, citations, verification, please, help, improve, this, article, adding, citations. This article has multiple issues Please help improve it or discuss these issues on the talk page Learn how and when to remove these template messages This article needs additional citations for verification Please help improve this article by adding citations to reliable sources Unsourced material may be challenged and removed Find sources Redo log news newspapers books scholar JSTOR January 2014 Learn how and when to remove this template message The topic of this article may not meet Wikipedia s general notability guideline Please help to demonstrate the notability of the topic by citing reliable secondary sources that are independent of the topic and provide significant coverage of it beyond a mere trivial mention If notability cannot be shown the article is likely to be merged redirected or deleted Find sources Redo log news newspapers books scholar JSTOR January 2014 Learn how and when to remove this template message Learn how and when to remove this template message In the Oracle RDBMS environment redo logs comprise files in a proprietary format which log a history of all changes made to the database Each redo log file consists of redo records A redo record also called a redo entry holds a group of change vectors each of which describes or represents a change made to a single block in the database For example if a user UPDATEs a salary value in a table containing employee related data the DBMS generates a redo record containing change vectors that describe changes to the data segment block for the table And if the user then COMMITs the update Oracle generates another redo record and assigns the change a system change number SCN Whenever something changes in a datafile Oracle records the change in the redo log The name redo log indicates its purpose If the database crashes the RDBMS can redo re process all changes on datafiles which will take the database data back to the state it was when the last redo record was written DBAs use the views V LOG V LOGFILE V LOG HISTORY and V THREAD to find information about the redo log of the database Each redo log file belongs to exactly one group of which at least two must exist Exactly one of these groups is the CURRENT group can be queried using the column status of v log Oracle uses that current group to write the redo log entries When the group is full a log switch occurs making another group the current one Each log switch causes checkpoint however the converse is not true a checkpoint does not cause a redo log switch One can also manually cause a redo log switch using the ALTER SYSTEM SWITCH LOGFILE command Contents 1 Classification 2 Usage 3 Implications 4 See also 5 References 6 External linksClassification editRedo log files occur in two types 1 online redo logs ORL 2 or redo logs 3 for short archived redo logs archive logs 4 Usage editBefore a user receives a Commit complete message the system must first successfully write the new or changed data to a redo log file The RDBMS first writes all changes included in the transaction into the log buffer in the System Global Area SGA Using memory in this way for the initial capture aims to reduce disk IO Of course when a transaction commits the redo log buffer must be flushed to disk because otherwise the recovery for that commit could not be guaranteed The LGWR Log Writer process does that flushing Having a redo log makes it possible to replay SQL statements Before an Oracle database changes data in a datafile it writes changes to the redo log If something happens to one of the datafiles a recovery procedure can restore a backed up datafile and then replay the redo written since backup time this brings the datafile to the state it had before it became unavailable Standby databases in an Oracle Data Guard environment use the same technique one database the primary database records all changes and sends them to the standby database s Each standby database applies replays the arrived redo resulting in synchronization with the primary database 5 If a database crashes the recovery process has to apply all transactions both uncommitted as well as committed to the data files on disk using the information in the redo log files Oracle must re do all redo log transactions that have both a BEGIN and a COMMIT entry roll forward and it must undo all transactions that have a BEGIN entry but no COMMIT entry roll back 6 Re doing a transaction in this context simply means applying the information in the redo log files to the database the system does not re run the transaction itself The system thus re creates committed transactions by applying the after image records in the redo log files to the database and undoes incomplete transactions by using the before image records in the undo tablespace Change data capture can read the redo logs In Oracle Data Guard configurations standby redo logs resemble their equivalent online redo logs but serve to store redo data transmitted from a different database 7 Implications editGiven the verbosity of the logging Oracle Corporation provides methods for archiving redo logs archive logs and this in turn can feed into data backup scenarios and standby databases The existence of a detailed series of individually logged transactions and actions provides the basis of several data management enhancements such as Oracle Flashback log mining and point in time recovery The concept of a database incarnation 8 can influence the use of redo in database recovery For database tuning purposes efficiently coping with redo logs requires plentiful and fast access disk See also editTransaction logReferences edit Kyte Thomas Kuhn Darl 2014 11 10 Expert Oracle Database Architecture Expert s voice in Oracle 3 ed Apress published 2014 p 9 ISBN 9781430262992 Retrieved 2015 02 19 I ve referred to two types of redo log file online and archived Bach Martin 2013 11 23 Expert Consolidation in Oracle Database 12c SpringerLink Bucher Apress published 2013 p 318 ISBN 9781430244288 Retrieved 2015 07 12 Standby redo logs SRL on the disaster recovery site act as the counterpart to the primary database s online redo logs ORL and allow the remote site to receive redo more efficiently Fogel Steve May 2006 Oracle Database Administrator s Guide 10g Release 2 10 2 docs oracle com Oracle Retrieved 2015 02 19 The current redo log is always online unlike archived copies of a redo log Therefore the online redo log is usually referred to as simply the redo log Ries Steve 2013 02 22 Oca Oracle Database 11g Database Administration I A Real World Certification Guide Packt Publishing Ltd published 2013 ISBN 9781849687317 Retrieved 2015 02 19 when a log switch occurs the contents of the current redo log are written out to an archived redo log by the ARCn process These logs are also referred to as offline redo logs or simply archive logs Liu Henry H 2011 11 22 Oracle Database Performance and Scalability A Quantitative Approach Quantitative Software Engineering Series Vol 12 John Wiley amp Sons published 2011 pp 238 239 ISBN 9781118056998 Retrieved 2015 02 19 Primary and physical standby databases are synchronized through a service called Redo Apply which recovers the redo data from the primary database and applies the redo to the standby database Synchronization between the primary and logical standby databases is achieved through a service named SQL Apply which transforms the redo data from the primary database into SQL statements and then executes the SQL statements on the standby database Greenwald Rick Stackowiak Robert Stern Jonathan 2013 09 06 Oracle Essentials Oracle Database 12c 5 ed O Reilly Media Inc published 2013 ISBN 9781449343170 Retrieved 2015 02 19 Instance recovery has two phases roll forward and roll back Schupmann Vivian 2008 Oracle Data Guard Concepts and Administration 10g Release 2 10 2 Oracle Retrieved 2015 02 19 A standby redo log is similar to an online redo log except that a standby redo log is used to store redo data received from another database Bach Martin 2013 11 23 Expert Consolidation in Oracle Database 12c SpringerLink Bucher Apress published 2013 p 378 ISBN 9781430244288 Retrieved 2015 02 04 An incarnation as per the Oracle documentation is a separate version of the database External links editManaging the Redo Log Oracle documentation Retrieved from https en wikipedia org w index php title Redo log amp oldid 1136718082, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.