Do I always need redo logs?
hi guys,
Is there a way to turn off redo logs being written to to make the database faster? I am not using ARCHIVELOGS as it is a test database, so I dont see of having any redo logs.
thanks
Hi,
No, You can't turn off the redo logs, Let’s conduct a brief summary about the redo process. When Oracle blocks are changed, including undo blocks, oracle records the changes in a form of vector changes which are referred to as redo entries or redo records. The changes are written by the server process to the redo log buffer in the SGA. The redo log buffer is then flushed into the online redo logs in near real time fashion by the log writer LGWR. (See Figure 1)
The redo logs are written by the LGWR when:
• When a user issue a commit.
• When the Log Buffer is 1/3 full.
• When the amount of redo entries is 1MB.
• Every three seconds
• When a database checkpoint takes place. The redo entries are written before the checkpoint to ensure recover ability.
Redo log files record changes to the database as a result of transactions and internal Oracle server actions. (A transaction is a logical unit of work, consisting of one or more SQL statements run by a user.) Redo log files protect the database from the loss of integrity because of system failures caused by power outages, disk failures, and so on. Redo log files must be multiplexed to ensure that the information stored in them is not lost in the event of a disk failure. The redo log consists of groups of redo log files. A group consists of a redo log file and its multiplexed copies. Each identical copy is said to be a member of that group, and each group is identified by a number. The Log Writer (LGWR) process writes redo records from the redo log buffer to all members of a redo log group until the file is filled or a log switch operation is requested. Then, it switches and writes to the files in the next group. Redo log groups are used in a circular fashion.
Best practice tip:
Oracle recommends that redo log groups have at least two files per group, with the files distributed on separate disks or controllers so that no single equipment failure destroys an entire log group.
The loss of an entire log group is one of the most serious possible media failures because it can result in loss of data. The loss of a single member within a multiple-member log group is trivial and does not affect database operation, other than causing an alert to be published in the alert log.
Remember that redo logs heavily influence database performance because a commit cannot complete until the transaction information has been written to the logs. You must place your redo log files on your fastest disks served by your fastest controllers. If possible, do not place any other database files on the same disks as your redo log files. Because only one group is written to at a given time, there is no harm in having members from several groups on the same disk.+
Note: This is a extract of my paper: [Logging or Not Logging, This is the Question.|http://oraclenz.com/__oneclick_uploads/2008/08/redo_reduction_v_1_9.pdf]
I hope this will help you.
Regards,
Francisco Munoz Alvarez
www.oraclenz.com
Similar Messages
-
Hi,
Does Rapid clone need redo log files during cloning on target host on DB tier IN 11.5.10.2?
ThanksHi;
Per Note: 230672.1
"Copy the Database Tier File System
Log on to the Source System Database Node as the ORACLE user.
Perform a normal shutdown of the Source System Database
Copy the Database (DBF) files from the Source to the Target System
Copy the Source Database ORACLE_HOME to the Target System
Start up the Source Applications System Database and Application Tier processes"
Step "Copy the Database (DBF) files from the Source to the Target System" I think database files means data files and redo logs both in this scope.Basicly copy all dbtier from your target
Regard
Helios -
Restore in noarchivelog mode ( redo log files have been dropped )
1, A full backup taken using RMAN is available on disk.
2, The current control files were NOT damaged and do not need to be restored.
3, All data files are damaged .
4, The database is in NOARCHIVELOG mode.
I restore database :
1. RMAN> STARTUP MOUNT
2. RMAN> RESTORE DATABASE;
3. RMAN> recover database;
in this step , I got the information about needing redo log files ; but the redo log
files have been dropped , what should i do ?
else
I want to know there is the command 'recover database using backup control file'
in rman or not ?
TksPossibly loss of data (because information in online redo logs is lost):
recover database until cancel;
(cancel immediately)
alter database open resetlogs; (to build a new set of redo logs)
It's not necessary to use a backup controlfile here. -
Why do we need standby redo log on Primary database.
Hi Gurus,
I was going through the document in OBE,
http://www.oracle.com/technology/obe/11gr1_db/ha/dataguard/physstby/physstdby.htm
I have two queries:
1) I noticed the statement -
"Configure the primary database to receive redo data, by adding the standby logfiles to the primary. "
Why do we have to create standby redo log on a primary database?
2) There is another statement --
"It is highly recommended that you have one more standby redo log group than you have online redo log groups as the primary database. The files must be the same size or larger than the primary database’s online redo logs. "
Why do we need one additional standby redo log group than in Primary database.
Could anyone please explain to me in simple words.
Thanks
Cherrish VaidiyanHi,
1. Standby redo logs are used only when the database_role is standby, it is recommended to be added in primary also so that they can be used on role reversal, however during normal working standby redo logs will not be used at all on primary.
2. In case of 3 online redo log groups, it is recommended to use 4 standby redo log group this is in case if log switching is happening frequently on primary and all 3 standby redo logs are still not completely archived on the standby and 4th can be used here as there will be some delay on standby due to network or slowness of arch on standby.
Use of the standby redo log groups depends on the redo generation rate, you can see only 2 standby redo logs are getting used while you have 4 standby redo log groups, when the redo generation rate is less.
So it is recommended to have one more standby redo log group when redo generation rate is high and all of the existing standby redo log group are getting used.
Regards
Anudeep -
Need to understand when redo log files content is wrote to datafiles
Hi all
I have a question about the time when redo log files are wrote to the datafiles
supposing that the database is in NOARCHIVELOG mode, and all redo log files are filled, the official oracle database documentation says that: *a filled redo log file is available
after the changes recorded in it have been written to the datafiles* witch mean that we just need to have all the redo log files filled to "*commit*" changes to the database
Thanks for help
Edited by: rachid on Sep 26, 2012 5:05 PMrachid wrote:
the official oracle database documentation says that: a filled redo log file is available after the changes recorded in it have been written to the datafiles It helps if you include a URL to the page where you found this quote (if you were using the online html manuals).
The wording is poor and should be modified to something like:
<blockquote>
+"a filled online redo log file is available for re-use after all the data blocks that have been changed by change vectors recorded in the log file have been written to the data files"+
</blockquote>
Remember if a data block that is NOT an undo block has been changed by a transaction, then an UNDO block has been changed at the same time, and both change vectors will be in the redo log file. The redo log file cannot, therefore, be re-used until the data block and the associated UNDO block have been written to disc. The change to the data block can thus be rolled back (uncommitted changes can be written to data files) because the UNDO is also available on disc if needed.
If you find the manuals too fragmented to follow you may find that my book, Oracle Core, offers a narrative description that is easier to comprehend.
Regards
Jonathan Lewis
http://jonathanlewis.wordpress.com
Author: <b><em>Oracle Core</em></b> -
Online redo log group needed??
hey guys!
Am about to recreate the clone file of the clone db, open it using recover it until cancel using backup controlfile and apply all necessary archive logs!
My question is, does ai need to have online redo log group of the production db? since ai have all the archive log, so ai think while recraeting the control file, online redo log group will be created too?
Thanks!while recraeting the control file, online redo log group will be created tooWhile creating control file, online redo log group doesn't get created. After applying all the archivel logs you have to open the database with RESET LOG option and then oracle will create redo logs for you.
Best of Luck !!
Daljit Singh -
Oracle standby/redo log file shipping keeps needing logs re-registering
Hi
We have Log File Shipping enabled and the prod system ships redo logs over to the LFS server. It's kept 24 hours behind. It usually ships the logs (and I believe automatically registers them) without issue.
EXCEPT - it keeps complaining about missing redo log files.
The file is usually there; but just needs registering with:
alter database register or replace logfile '/oracle/S1P/saparch/S1Parch1_636443_654987192.dbf';
(we found if we left out the 'or replace' it takes a very long time or even hangs)
It then plods on and applies the next... can go for another 2 or 3... or 20... but then often gets stuck again, and you need to register the next.
Can spend whole days on this...!!
We did try running a script to register the next 1365 redo logs! It failed on 4, so I ran it again... it worked on those 4, but turned up 3 others it had worked with before! HUH?!? So manually did those 3 ... fine... it carried on rolling forward... but got stuck after 10 minutes again when it hit another it reckoned needed registering (we'd already done it twice!!).
Any ideas?
RossHi
We have Log File Shipping enabled and the prod system ships redo logs over to the LFS server. It's kept 24 hours behind. It usually ships the logs (and I believe automatically registers them) without issue.
EXCEPT - it keeps complaining about missing redo log files.
The file is usually there; but just needs registering with:
alter database register or replace logfile '/oracle/S1P/saparch/S1Parch1_636443_654987192.dbf';
(we found if we left out the 'or replace' it takes a very long time or even hangs)
It then plods on and applies the next... can go for another 2 or 3... or 20... but then often gets stuck again, and you need to register the next.
Can spend whole days on this...!!
We did try running a script to register the next 1365 redo logs! It failed on 4, so I ran it again... it worked on those 4, but turned up 3 others it had worked with before! HUH?!? So manually did those 3 ... fine... it carried on rolling forward... but got stuck after 10 minutes again when it hit another it reckoned needed registering (we'd already done it twice!!).
Any ideas?
Ross -
When changing redo-logs on Primary, do I need to change my standby also?
Hi, I need to resize my redo logs on a primary db which has a physical standby attached. Do I need to modify this standby or will the change propagate. It seems unlikely to me.
thanxOnly clue that I have found is at
http://download-east.oracle.com/docs/cd/B12037_01/server.101/b10726/configbp.htm
Section "Use Multiplexed Standby Redo Logs and Configure Size Appropriately"
>>
The remote file server (RFS) process for the standby database writes only to an SRL whose size is identical to the size of an online redo log for the production database. If it cannot find an appropriately sized SRL, then RFS creates an archived redo log file directly instead and logs the following message in the alert log:
No standby redo log files of size <#> blocks available.
>> -
Do I need to create new group for standby redo log files?
I have 10 group of redo log files with 2 members for each group for my primary database , Do I need to create new group for standby redo log files for the standby database
Group# Members
==============
1 2
2 2
3 2
4 2
5 2
6 2
7 2
8 2
9 2
10 2
If So, The following statment is correct? or nto
ALTER DATABASE ADD STANDBY LOGFILE GROUP 1 ('D:\Databases\epprod\StandbyRedoLog\REDO01.LOG',D:\Databases\epprod\StandbyRedoLog\REDO01_1.LOG');
please correct me if am doin mistake
becuase when I issue the statment I getting error message sayin the group is already created.Thanks John
I just find the answer
Yes, it's recomeded to add new group , for instnace If I have 10 group from 1 to 10 then the standby shoudl be from 11 to 20
Thanks I found the answer. -
Need to drop a current redo log on a Standby
Oracle 11.2.0.2
I have 3 redo logs on a newly created Standby database.
SQL> SELECT GROUP#, ARCHIVED, STATUS FROM V$LOG;
GROUP# ARC STATUS
1 YES UNUSED
3 NO CURRENT
2 YES UNUSED
The redo log in Group 3 needs to be dropped and recreated. How can I force a log switch on a Standby in mount mode?
SQL> alter database drop logfile group 3;
alter database drop logfile group 3
ERROR at line 1:
ORA-01623: log 3 is current log for instance ufms216 (thread 1) - cannot drop
ORA-00312: online log 3 thread 1: '/path/redo03.dbf'
SQL> alter system switch logfile;
alter system switch logfile
ERROR at line 1:
ORA-01109: database not open
Please help !!!
Thanks!
DaveSAME ERROR/SITUATION
SQL> startup mount
ORACLE instance started.
Total System Global Area 1.2527E+10 bytes
Fixed Size 2231240 bytes
Variable Size 3657434168 bytes
Database Buffers 8858370048 bytes
Redo Buffers 8691712 bytes
Database mounted.
SQL> SELECT GROUP#, ARCHIVED, STATUS FROM V$LOG;
GROUP# ARC STATUS
1 YES UNUSED
3 NO CURRENT
2 YES UNUSED
SQL> alter database drop logfile group 3;
alter database drop logfile group 3
ERROR at line 1:
ORA-01623: log 3 is current log for instance ufms216 (thread 1) - cannot drop
ORA-00312: online log 3 thread 1: '/a0253/d01/oradata/ufms216/redo03.dbf'
SQL> alter system switch logfile;
alter system switch logfile
ERROR at line 1:
ORA-01109: database not open
SQL> alter database recover managed standby database cancel;
alter database recover managed standby database cancel
ERROR at line 1:
ORA-16136: Managed Standby Recovery not active
SQL>
HELP! -
Redo log files in case of NOARCHIVELOG Mode.
Question is related with the oracle architure..
database requires a minimum of two redo log files to guarantee that one is always available for writing while the other is being archived, this sounds perfect when DB is running in ARCHIVELOG mode but at the same time it also forces database to have 2 redo log files even when the DB is running in NOARCHIVELOG mode?
Any particular reason..
I would look for reasons not answers on what redo log is and what information it holds etc..pgoel wrote:
If you had only one file all further changes would have to stop until all changed data blocks had been written to disc. By insisting on a minimum of two log files Oracle can allow the log writer to fill the second log file as the database writer writes out the dirty blocks covered by changes desrcibed in the first log file.What about having a big size redo log file instead of two? Checkppoint being initiated when the redo log file is half filled
I mean, understand the logic, two is better, even best.. but still not getting convinced. I am just trying to think, can not Oracle work with 1 group with 1 big file..specailly when Noarch mode ? Having
Edited by: pgoel on Mar 12, 2011 7:27 PMNo, you still didn't understand and I am not sure how else we can say it. Okay, think about log groups as two buckets which are used to fill the redo content. The LGWR is filling one bucket at a time till it can't accept any more content. Once filled, rather than spilling the content out, it jumps over to the second bucket. Now, taking your statement of big sized redo, Pgoel, it doesn't matter how big sized bucket you bring in, eventually it will fill in. Its not possible that you wont be able to fill it , it just would take more longer than the normal timings. Thats all. So in any case , you need the second bucket. And I am not sure that why you are struck on the archivelog mode. I hope you do understand that its an optional mode. This means, this may or may not be there. If there, its a good thing that before doing the flush of the redo content, Oracle would be able to save the contents in the archived (think about the name, it's very meaning is to preserve, to archive) log file. If not, the redo content wuold be lost and there won't be any record of transactions leaving you to reenter the lost transactions. Its a meaningless point on which you are struck i.e. the archive or no-archivelog mode. Be it whatever, Oracle would still need minimum of the two log groups.
HTH
Aman.... -
Increase current redo log size in standby database in mount stage
We have oracle 10g standby database. The standby database is always running in mount stage while apply logs manually not data guard is used.
We have increase size or online redo log in primary . Now want to inrease in standby database also.
how to increase the size of current online redo log in standby database while it in mount stage .
in mount stage we cant run alter system switch logfileuser11965804 wrote:
We have oracle 10g standby database. The standby database is always running in mount stage while apply logs manually not data guard is used.
We have increase size or online redo log in primary . Now want to inrease in standby database also.
how to increase the size of current online redo log in standby database while it in mount stage .
in mount stage we cant run alter system switch logfilein 10g Standby will be always in Mount status when MRP is running.
When you increase size of online redo log files in primary, You should increase in standby also..
Standby redo log file size should be equal or higher than primary. You no need to switch log files on Standby.
You will have only standby redo log files in standby not ORL(online redo log files)
You can use this below script to add standby redo log files.
http://www.pythian.com/news/581/oracle-standby-redo-logs/ -
Hi everyone,
I have a scenario where the my DB is running in archivelog mode and users are making changes to DB as usual, and all of a sudden my db crashes due to some power outage or failed disks or something bad..
Now my DB is inconsistent i can't access my DB due to a failed disk. I need to perform a complete recovery of the database as the database is in archivelog mode I can restore from a previous backup and apply the redo from the archived logfiles. Here comes my doubt what about the current online redologfile that has not been archived and which contain info about the commited transaction. how to recover the db upto the point of failure. help need in this situation..
Edited by: user8710159 on Feb 14, 2010 1:18 PMuser8710159 wrote:
Hi everyone,
I have a scenario where the my DB is running in archivelog mode and users are making changes to DB as usual, and all of a sudden my db crashes due to some power outage or failed disks or something bad..
Now my DB is inconsistent i can't access my DB due to a failed disk. I need to perform a complete recovery of the database as the database is in archivelog mode I can restore from a previous backup and apply the redo from the archived logfiles. Here comes my doubt what about the current online redologfile that has not been archived and which contain info about the commited transaction. how to recover the db upto the point of failure. help need in this situation..
Edited by: user8710159 on Feb 14, 2010 1:18 PMIf you still had a viable copy of the online redo and current control file, the recover would apply them as well. Without them, you'll have to do an incomplete recovery and reset logs.
Which is why you always want to multiplex your control file and online redo - and have the multiplexed copies as physically separate as possible. Those multiplexed copies are your backup for the online redo logs that have not yet been archived.
Edited by: EdStevens on Feb 14, 2010 5:07 PM -
Multiplexing redo logs and control files to a separate diskgroup
General question this one...
I've been using ASM for a few years now and have always installed a new system with 3 diskgroups
+DATA - for datafiles, control files, redo logs
+FRA - for achive logs, flash recovery. RMAN backup
Those I guess are the standards, but I've always created an extra (very small) diskgroup, called +ONLINE where I keep multiplexed copies of the redo logs and control files.
My reasoning behind this is that if there are any issues with the +DATA diskgroup, the redo logs and control files can still be accessed.
In the olden days (all those 5 years ago!), on local storage, this was important, but is it still important now? With all the striping and mirroring going on (both at ASM and RAID level), am I just being overtly paranoid? Does this additional +ONLINE diskgroup actually hamper performance? (with dual write overheads that are not necessary)
Thoughts?Some of the decision will probably depend on your specific environment's data activity, volume, and throughput.
Something to remember is that redo logs are sequential write, which benefit from a lower RAID overhead (RAID-10, 2 writes per IOP vs RAID-5, 4 writes per IOP). RAID-10 is often not cost-effective for the data portion of a database. If your database is OLTP with a high volume of random reads/writes, you're potentially hurting redo throughput by creating contention on the disks sharing data and redo. Again, that depends entirely on what you're seeing in terms of wait events. A low volume database would probably not experience any noticeable degraded performance.
In my environment, I have RAID-5 and RAID-10 available, and since the RAID-10 requirement from a capacity perspective for redo is very low, it makes sense to create 2 diskgroups for online redo, separate from DATA, and separate from each other. This way, we don't need to be concerned with DATA transactions impacting REDO performance, and vice versa, and we still maintain redo redundancy.
In my opinion, you can't be too paranoid. :)
Good luck!
K -
Hi All
I am testing some situations on my test server.
Test database working archive mode and controlfile autobackup on and controlfile format defined.
I have backup full database when database open.After that I close database with immediate and delete all file in oradata folder(control files,datafiles,redologs).I have used controlfile that in the backup ,restore database( all files restored to original location) and last recover database I am receiving error message "unable to find archive log archive log thread=1 sequence=102" but All archive files on folder. what is my problem ? (lost redo file or lost archive log)
how can I restore database to original state ?
Oracle 10g On suselinux I am using Rman to backup and restore.
Best Regards
Message was edited by:
user548890you are simulating a complete database scenario , which a dba always tries and practice but never wishes to happen to his production databases :)
in a complete loss scenario, you will need openreset logs if you dont have your redo-logs
if you have shutdown your database with abort before taking a full backup, that will also be a proble, oracle never reccomends using shutdown abort before a complete backup, shutdown immediate/transactional should be used to take a consistent backup.
check these notes, they will be very helpfull
http://download-uk.oracle.com/docs/cd/B10501_01/server.920/a96519/backup.htm#1004829
Maybe you are looking for
-
I checked the starting time for songs in the library and on my iPod and they all say 0:00. What I mean when I say it's out of order is for example, the first ten seconds are skipped and placed somewhere in the middle of the song and some other parts
-
What if the multiprovider is involved in cube enhancements?
Hi, I have added one characteristic in the cube definition and wrote a routine for that in update rules. In this update routine i have to refer one more field which was not there in BW. So i had enhanced the data source with the field required for re
-
In CRM relationship appends the Changed partner function in R/3 -Middleware
Hi Experts, Partner functions in R/3 are mapped as relationship categories in CRM and the transfer is happening through middleware. However if I change the BP for an existing partner function in R/3, it is not changing the BP in corresponding relatio
-
Transport a request from one server(quality) to another server(production)
Hi All, I want to transport a request from one server(quality) to another server(production) Can we transport a request from quality to production programatically i.e. by using programing logic. Regards, Swarup
-
Where does FlashAccessManage stores it's setup et al.
Hi, i'm setting Flash Access 2.0 Trial version. Following FAXS_2_0_Quickstart.pdf Everything is fine so far until 5.6 - 5.9. Can start FlashAccessManager, do all the required settings and "save" them. But when i restart FlashAccessManager, those sett