Writing in redo log members
Hi i have a couple of questions
1) what is the max value i can set for MAXLOGFILES in controlfile? that is maximum how many redo log groups i can have in a database(when not considering space occupied by log members)
2) I had a 2 log groups with 2 members in each. how LGWR writes into log members of each group. whether it will done in serial(sequential order) or parallel? If it is sequential, when LGWR writes into 2nd member of one group if i perform a log switch, will it wait till it completes writing into that member and switches to another group?
thanks in advance
>>> I had a 2 log groups with 2 members in each. how LGWR writes into log members of each group. whether it will done in serial(sequential order) or parallel? If it is sequential, when LGWR writes into 2nd member of one group if i perform a log switch, will it wait till it completes writing into that member and switches to another group?
Mr.Howard Rodger wrote:-
There is only ever one Log Writer process. Unlike Database Writer, for example, which can have several 'clone' processes sharing the work burden, redo log records must be written to disk sequentially -and that means only one process can be in charge of working out what to write to disk. If that wasn't true, you might come to grief when a series of transactions have dependencies. If you first create a new product record and then raise a new sale record to indicate that the new product has just been sold, for example, you need the product transaction to be recorded before the sale transaction -otherwise, during a recovery, you might end up trying to sell a product that doesn't exist yet. To prevent that logical nonsense from happening, therefore, a single Log Writer process writes everything in the correct sequence.
I hope it helps
Regards
Nisanth V Santhan
Similar Messages
-
Hello!
Could you please explain , is the filling of redo log members async or sync?
Thanks and regards,
PavelPavel wrote:
Hello!
Could you please explain , is the filling of redo log members async or sync?
Yes, the filling of redo log members is async or sync.
For example, on exadata, redo can be written to both SSD and hard disk, and whichever is done first is sync, and the other isn't.
On DG, you can do it either way.
If you look at the various internal mechanisms for private redo strands, you can have several situations.
[url http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:60447282988010]You can also have async commits, as [url http://asktom.oracle.com/pls/asktom/f?p=100:11:::::P11_QUESTION_ID:1415454871121#20061201507022]PL/SQL has done since forever.
See also http://www.pythian.com/news/1098/tuning-log-file-sync-event-waits/ -
Hi,
My production database servers run on HP-XP storage, raid 5. Currently the redo logs are striped on 16 disks, as raw files. I use 5 groups, 2 members in each group.
I wanted to hear your opinion, if two members are still necessary with todays storage hardware, considering the mirroring already done in the hardware level.
What is the benefit today for having more than one member in a group, and do you think it's worth the IO price most of us are still paying...
Thanks in advance,
Idan.For example here:
http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4950_P8_DISPLAYID:359617936136
Try search google btw. There are plenty of articles.
Just if you read concepts of RAID you will learn that RAID 5 is not good for write intensive operations (redo logs are write intensive). -
Configure archiver to read from both redo log members
Hi, We have moved our Data Warehouse to a new SAN. The luns for the redo logs are getting hit heavily. Just trying to find out if on AIX it is possible to configure archiver so that it reads from both members, current iostat data shows reads of the redo logs are only happening against the first member of each group and none against the second member. Thanks Tom Cullen
See a recent discussion on this issue :
Redo log Doubt
Hemant K Chitale -
hi
in Oracle documentation they said you can't drop a member if it's an active
but i tried it in Oracle's Database 10g and it's dropped successfully
what happend ?
The link is :
http://download.oracle.com/docs/cd/B28359_01/server.111/b28310/onlineredo005.htm
Thanks>
but i tried it in Oracle's Database 10g and it's dropped successfully >
You would have done alter system switch logfile before dropping the active redo logsfile.
Refer to the link for the status of the redo logs [http://download.oracle.com/docs/cd/B14117_01/server.101/b10755/dynviews_1126.htm#REFRN30127]
23:36:05 venture >select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIM
1 1 29 104857600 1 NO INACTIVE 7457724 07-DEC-08
2 1 30 104857600 1 NO INACTIVE 7794484 08-DEC-08
3 1 33 104857600 1 NO CURRENT 8016830 09-DEC-08
4 1 31 104857600 1 NO INACTIVE 8016825 09-DEC-08
5 1 32 104857600 1 NO INACTIVE 8016827 09-DEC-08
23:38:01 venture >create table test as select rownum id,'TEST' name from dual connect by level <= 10000000;
Table created.
Elapsed: 00:00:20.09
23:39:27 venture >select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIM
1 1 29 104857600 1 NO INACTIVE 7457724 07-DEC-08
2 1 30 104857600 1 NO INACTIVE 7794484 08-DEC-08
3 1 33 104857600 1 NO CURRENT 8016830 09-DEC-08
4 1 31 104857600 1 NO INACTIVE 8016825 09-DEC-08
5 1 32 104857600 1 NO INACTIVE 8016827 09-DEC-08
Elapsed: 00:00:00.00
23:39:34 venture >alter database drop logfile group 3;
alter database drop logfile group 3
ERROR at line 1:
ORA-01623: log 3 is current log for thread 1 - cannot drop
ORA-00312: online log 3 thread 1: 'D:\ORACLE\ORADATA\VENTURE\REDO03.LOG'
Elapsed: 00:00:00.01
23:39:51 venture >alter system switch logfile;
System altered.
Elapsed: 00:00:00.01
23:40:02 venture >select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIM
1 1 34 104857600 1 NO CURRENT 8017910 09-DEC-08
2 1 30 104857600 1 NO INACTIVE 7794484 08-DEC-08
3 1 33 104857600 1 NO ACTIVE 8016830 09-DEC-08
4 1 31 104857600 1 NO INACTIVE 8016825 09-DEC-08
5 1 32 104857600 1 NO INACTIVE 8016827 09-DEC-08
Elapsed: 00:00:00.00
23:40:03 venture >alter database drop logfile group 3;
alter database drop logfile group 3
ERROR at line 1:
ORA-01624: log 3 needed for crash recovery of thread 1
ORA-00312: online log 3 thread 1: 'D:\ORACLE\ORADATA\VENTURE\REDO03.LOG'
Elapsed: 00:00:00.00
23:40:11 venture >alter system switch logfile;
System altered.
Elapsed: 00:00:00.01
23:40:25 venture >select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIM
1 1 34 104857600 1 NO INACTIVE 8017910 09-DEC-08
2 1 35 104857600 1 NO CURRENT 8018022 09-DEC-08
3 1 33 104857600 1 NO INACTIVE 8016830 09-DEC-08
4 1 31 104857600 1 NO INACTIVE 8016825 09-DEC-08
5 1 32 104857600 1 NO INACTIVE 8016827 09-DEC-08
Elapsed: 00:00:00.00
23:40:28 venture >alter database drop logfile group 3;
Database altered.
Elapsed: 00:00:00.00
23:40:42 venture >select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIM
1 1 34 104857600 1 NO INACTIVE 8017910 09-DEC-08
2 1 35 104857600 1 NO CURRENT 8018022 09-DEC-08
4 1 31 104857600 1 NO INACTIVE 8016825 09-DEC-08
5 1 32 104857600 1 NO INACTIVE 8016827 09-DEC-08
Elapsed: 00:00:00.00
23:40:46 venture >HTH
Anand -
Hello-
I was looking at some old database installs and if the REDO logs are stored in the same file directory then isn't having two members
not very useful and only good for placing these on another file system ?
Thanks-Admin. Guide says http://download.oracle.com/docs/cd/E11882_01/server.112/e17120/onlineredo002.htm#ADMIN11309
>
To protect against a failure involving the redo log itself, Oracle Database allows a multiplexed redo log, meaning that two or more identical copies of the redo log can be automatically maintained in separate locations. For the most benefit, these locations should be on separate disks. Even if all copies of the redo log are on the same disk, however, the redundancy can help protect against I/O errors, file corruption, and so on. -
Hi,
I am running 10gRac on Linux
I have 4 groups with 1 member each (50MB).
The DB is running in noarchive mode
I heard there is recommendation to have at least 2 members in each group.
Now how can I check if I should add more members to the groups?
ThanksHi br00klynZ00,
just imagine that you loose the only member of an unarchive group.
Maybe teh CURRENT?!
What do you do then?
You habe lost data then if you have a crash in addition because you cannot recover your lost instance.
So you should definitely have at least two members for each group!
=;-)
Hope this clarifies a little what the problem is.
BR,
Lutz -
Larger redo log file members or more log groups
Oracle 11gR1 RHEL5 64 bit
Hi,
I was wondering what is better from a perfomance tuning perspective. I have log swiches occuring every 2 minutes in our production database. I know definitely that our log file members are too small (100MB). The redo log sizing tool in OEM told me to make it 40G according to the fast_start_mttr_target setting which is set to 600. Now, my question is what is better to do?
1. Increase the size of my current redo log members? Right now there are 4 groups with 2 members in each.
OR
2. Should I create additonal redo log groups (4 more) and then re-rerun the sizing tool or query the v$instance_recovery view?
Which is better? tradeoffs?
Thanks all.If you want to reduce the number (frequency) of Log Switches, you should increase the size of the Online Redo Logs -- ie create new Log File Groups of a larger size and drop the older ones.
If the issue is "checkpoint not complete" waits, then either
a. Increasing the size of the Log Files
or
b. Increasing the number of Log Files
is doable
Note that if you increase the number but not the size, you still have a checkpoint every N Mbytes -- ie, possibly too frequently !
On the other hand if you increase your size to be very large, at every switch, the Archiver is going to kick in with a large Read + large Write operation -- reading that Redo Log of N GBytes and writing it out to the archive log target location, imposing that additional I/O spike on your system. (Writing to filesystem will go through the FileSystem Buffers so if your database SGA isn't very large and your database performance relies on hitting the FileSystem Buffer Cache to avoid Disk Reads, that performance will be impacted as a large portion of the FileSystem Buffer Cache will be taken over by the Archiver for some time).
Hemant K Chitale
http://hemantoracledba.blogspot.com -
Multiplexing Redo Log and maximum protection mode.
Assume that during writing into redo logs the instance crashes. As a result, members of active redo group are not synchronized, some of them had more data. How Oracle will handle this when instance starts? And there can be case when at startup time some members that had more redo before crash, are lost.
Now assume that we have standby database with maximum protection mode. After LGWR has written to local redo logs and before writing to standby redo logs, primary instance crashes. In this case standby site lost last transaction.
Is it correct? Thanks.Assume that during writing into redo logs the instance crashes. As a result, members of active redo group are not synchronized, some of them had more data. How Oracle will handle this when instance starts? And there can be case when at startup time some members that had more redo before crash, are lost.
Members of a particular group are written concurrently by LGWR, all members of a log group will have same data. If any member of a particular group is lost or not reachable, oracle will read from the available log member during instance recovery.
Multiplexing Redo Log Files
http://docs.oracle.com/cd/B19306_01/server.102/b14231/onlineredo.htm#i1006249
To answer your second question,In this mode no transaction commits on primary unless the redo is also written on atleast one standby database, otherwise primary will go down.
Check below
Maximum Protection
http://docs.oracle.com/cd/B28359_01/server.111/b28294/protection.htm#CHDHFHJI -
What will heppen if redo logs at os level get deleted
Friends,
need 1 answer about the query: what will heppen if redo logs at os level get deleted.how can i find where are my multiplexed redo logs, so that i can copy it from there
SQL> shutdown abort
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.
Total System Global Area 534462464 bytes
Fixed Size 2256912 bytes
Variable Size 398462960 bytes
Database Buffers 125829120 bytes
Redo Buffers 7913472 bytes
Database mounted.
SQL> select * from v$logfile
2 ;
GROUP# STATUS TYPE
MEMBER
IS_
3 ONLINE
C:\O\ORADATA\XE\REDO03.LOG
NO
2 ONLINE
C:\O\ORADATA\XE\REDO02.LOG
NO
GROUP# STATUS TYPE
MEMBER
IS_
1 ONLINE
C:\O\ORADATA\XE\REDO01.LOG
NO However, Oracle knows about the multiplexing, so if your logs were multiplexed properly (using redo log members), Oracle would already have known about them and identified that there was one available.
Just goes to show you (if this is, in fact what you did), don't just go blindly deleting files that have a ".LOG" extension. -
Hi,
I need to move online redo logs to the folder where data files reside. It will be easier for cold back up in NOARCHIVE mode. At the same time I would like recovery_flash_area unattached.
The Beta version was perfect for that purpose. I already moved SPFILE.
Can somebody explain how to move only those two files to C:\oraclexe\oradata\XE?
KonstantinRelocating and Renaming Redo Log Members
Thank you Forbrich and others from the forum! I have solved the problem tanks to your help.
There are some slightly differences from Oracle® Database Administrator's Guide
10g Release 2 (10.2) Part Number B14231-01 and APEX for Win XP.
1. SQL Statements
SQL*Plus: Release 10.2.0.1.0 - Production on Thu May 25 19:37:04 2006
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> connect / AS SYSDBA
Connected.
SQL> SHUTDOWN
Database closed.
Database dismounted.
ORACLE instance shut down.
/* Then using OS (Windows Explorer) copy two files to the new folder. */
SQL> STARTUP MOUNT XE
ORACLE instance started.
Total System Global Area 314572800 bytes
Fixed Size 1287184 bytes
Variable Size 243272688 bytes
Database Buffers 67108864 bytes
Redo Buffers 2904064 bytes
Database mounted.
SQL> ALTER DATABASE RENAME FILE 'C:\ORACLEXE\APP\ORACLE\FLASH_RECOVERY_AREA\XE\ONLINELOG\O1_MF_2_25T0KHLK_.LOG','C:\ORACLEXE\APP\ORACLE\FLASH_RECOVERY_AREA\XE\ONLINELOG\O1_MF_1_25T0KF00_.LOG' TO 'C:\ORACLEXE\ORADATA\XE\O1_MF_2_25T0KHLK_.LOG','C:\ORACLEXE\ORADATA\XE\O1_MF_1_25T0KF00_.LOG';
Database altered.
SQL> ALTER DATABASE OPEN;
Database altered.
SQL> EXIT
2. APEX for Win XP automatically erases redo log files.
Everything works OK
Konstantin
Message was edited by:
konstantin.gudjev -
Hi, I have a confusion here, need help.
I have multiplexed redo log members on both asm diskgroup DATA, FRA.
My log_file_name_convert='+DATA', '+DATA'
and db_recovery_area ='+FRA'
db_create_online_log_dest_1=+DAT
Are above parameters right?log_file_name_convert is simply a string replacing function.Its same behaviour like DB_FILE_NAME_CONVERT
So all entries of <first> will be replaced by <second> and the <third> entry will be replaced by the <fourth> and so on.Yes the strings should be in even numbers like 2,4,6,8.. ther should be sequence for the source & destination diskgroup and so on.
So if you would have:
'DATA','REPLACE','FRA','REPFRA'
all occurences of DATA will be replaced with RAPLACE. But this would also mean ORADATAGRAM would be replaced to ORAREPLACEGRAM.If any ORL's / SRL's are created in DATA in source, by mentioning LOG_FILE_NAME_CONVERT those will be created to the connected proceeding string...
Can you point out please where is mistake in my previous post? -
Dear All,
How to check the health of redo log file, we have 200 MB undo tablespace in our production server is it enough for huge transactions. Can I check how much time my redo log file data have been overwritten?
Further in which situation we will add Online Redo Log Groups and which situation we will add Log Members.
My rollback segment is using System tablespace is it recommended?
What is recommendation about 1 redo log group is redo log member or 1 redo log group is multiple redo log members.Thanks Mr. Nicolas. for your informative guidence.
Can I check how much time my redo log file data have been overwritten?Check v$loghist.
We have 218 records in v$loghist, it means 218 times data have been overwritten, i think its not good. Can you guide me how to rectyify this.
in which situation we will add Online Redo Log GroupsIn case of checkpoint not complete reported into alert.log.
How to findout checkpoint entry in alert.log
which situation we will add Log Members.This is the redolog multiplexing, at least two members for each redolog group.
Ok, Can we do multiplexing for members or just do for groups.
My rollback segment is using System tablespace is it recommended?No.
OK, can we change rollback segments tablespace.
1 redo log group is redo log member or 1 redo log group is multiple redo log membersA minimum of two redolog group with two members for each.
After, it depend of your db activity.
We have just one member for each group and we have three groups, so whats ur recommnedation we will add 1 member in each group. -
T is frequently switching the redo log files within 5min approx..
i am facing frequent switching of redo logs within 5minutes
can you please tell how to resolve
thanks for helpHi,
I found this:
More frequent log switches may result in decreased performance. If your redo logs switches so faster Oracle will stop processing until the checkpoint completes successfully. Generally it is recommended to size your redo log file in a way that Oracle performs a log switch every 15 to 30 minutes.
A recommended approach is to
Query V$LOG view to determine the current size of the redo log members.
Record the number of log switches per hour.
Increase the log file size so that Oracle switches at the recommended rate of one switch per 15 to 30 minutes.
You can also check messages in the alert log in order to determine how fast Oracle is filling and switching logs. Suppose if your database redo log file size is set to 1MB. It means that Oracle switches the logs every 1 minute. So you will need to increase the size of redo log file to 30MB so that Oracle switches per 30 minutes.
It is also recommended to ensure that your online redo log files do not switch too often during high activity time. Instead in the period of high activity it should switch less while it should switch enough times during the time of low processing workloads. Many database administrators create PL/SQL programs to ensure that the logs switch every 15 to 30 minutes during times when activity is low.
Oracle ARCHIVE_LAG_TARGET can also be used to force a log switch after the specified amount of time elapses. The basic purpose of ARCHIVE_LAG_TARGET parameter is to control the amount of data that is lost and effectively increasing the availability of the standby database but many database administrators set ARCHIVE_LAG_TARGET parameter to make sure that the logs switch at regular intervals during lower activity time periods.
You should also keep in mind that how the size of the online redo log files will affect the instance recovery. Remember the lesser the checkpoints are taken; the longer will be the instance recovery duration. You can decrease the instance recovery time by appropriately setting the LOG_CHECKPOINT_TIMEOUT, LOG_CHECKPOINT_INTERVAL and FAST_START_MTTR_TARGET parameters. -
I have added new members to my redo log groups. However, when checking the redo log members' status, all the new members have a status of "Invalid" even after restarting the database.
I have checked that the physical files of the new members are created properly in the directory which is owned by the dba account. The rights are all correct.
Now, I am unable to drop these new redo log members and am at a loss of how to change the status to "Stale" or "Inactive".
Please advise.
Thank you.
Regards,
Dara.Thanks, guys! It works after performing a log switch.
BTW, I have an error which I am not sure if by adding new members work or is the member really corrupted. Please advise.
The error is :
ORA-00313: open failed for members of log group 1 of thread 1
Thank you.
Regards,
Dara.
Maybe you are looking for
-
Edit... Flash button not working in Studio 8
If I select a Flash object and click on the Edit... Button in the Properties window, nothing happens. No errors, no warnings, nothing. Flash 8 does not open. If I double click the Flash object, the resulting dialog shows me that Dreamweaver knows whe
-
HTTPS requirements for Private Distro iOS 7.1
A warning to anyone who uses private distribution, iOS 7.1 requires the hosting URL to be HTTPS and appears to require a valid SSL cert. The change took me by surprise this afternoon.
-
Password expiration in 9.0.2
When a user changes his/her password, the action is stored along with a timestamp in ODS.ODS_CHG_LOG. However, this table also stores login failures and a zillion other things, too. Is there another table that stores only change password data? I just
-
I am getting numerous emails posted to an incorrect address. When I bounce them back, they fail and the message is that there is no such sender. What is going on?
-
i would like to know how i can authorize my computer,for it shows thatr i already have the maximum of 5 allowed. the problem is,that three of the previously authorized computer have been sold.please advise