What is redo? Let’s look briefly at the redo process. When Oracle blocks (the smallest unit of storage in a database) are changed, including UNDO blocks, Oracle records the changes in vector changes, which are referred to as redo entries or redo records. The changes are written by the server process to the redo log…
Category: Redo Logs
Back-to-Basics: Understanding Backup and Recovery plus High Availability(Part I)
The constant evolution of IT has, among other things, affected the role of a database administrator (DBA). Today the DBA is not merely a Database Administrator anymore but is morphing more into the Database Architect role. If you want to become a successful DBA and be more competitive in the market, you should have a…
LOGGING or NOLOGGING, that is the question – Part VIII
By Francisco Munoz Alvarez How to find Sessions Generating Lots of Redo To find sessions generating lots of redo, you can use either of the following methods. Both methods examine the amount of undo generated. When a transaction generates undo, it will automatically generate redo as well. The methods are: 1) Query V$SESS_IO. This view…
LOGGING or NOLOGGING, that is the question – Part VII
By Francisco Munoz Alvarez Redo Logging I/O-Related Wait Events There are a number of Wait Events that happen during Redo Logging activities and most of them are I/O-related. The two most important ones are ‘log file parallel write’ and ‘log file sync’. Oracle foreground processes wait for ‘log file sync’ whereas the LGWR process waits…
LOGGING or NOLOGGING, that is the question – Part VI
By Francisco Munoz Alvarez TIPS USING NOLOGGING MODE DIRECT PATH INSERT To use Direct Path Insert use the /*+ APPEND */ hint as follow: INSERT /*+ APPEND */ into … SELECT … When direct path insert is used oracle does the following: Format the data to be inserted as oracle blocks. Insert the blocks above…
LOGGING or NOLOGGING, that is the question – Part V
By Francisco Munoz Alvarez REDUCING REDO GENERATION TIPS While Backing Up As mentioned in the redo generation and recoverability section, user managed backups could generate a lot of redo. The best way to eliminate this problem is to use RMAN. RMAN does not need to write the entire block to redo because it knows when…
LOGGING or NOLOGGING, that is the question – Part IV
By Francisco Munoz Alvarez Disabling Redo Generation (NOLOGGING) The NOLOGGING attribute tells the Oracle that the operation being performed does not need to be recoverable in the event of a failure. In this case Oracle will generate a minimal number of redo log entries in order to protect the data dictionary, and the operation will…
LOGGING or NOLOGGING, that is the question – Part III
By Francisco Munoz Alvarez Important points about LOGGING and NOLOGGING Despite the importance of the redo entries, Oracle gave users the ability to limit redo generation on tables and indexes by setting them in NOLOGGING mode. NOLOGGING affect the recoverability. Before going into how to limit the redo generation, it is important to clear…
LOGGING or NOLOGGING, that is the question – Part II
By Francisco Munoz Alvarez Redo Generation and Recoverability The purpose of redo generation is to ensure recoverability. This is the reason why, Oracle does not give the DBA a lot of control over redo generation. If the instance crashes, then all the changes within SGA will be lost. Oracle will then use the redo…
LOGGING or NOLOGGING, that is the question – Part I
By Francisco Munoz Alvarez Introduction The main question about NOLOGGING I hear all the time is: does creating a table with the NOLOGGING option means there is “no generation of redo ever”, or just that the initial creation operation has no redo generation, but that DML down the road generates redo? How and when can…