REDO Log Members
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.
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 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 -
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 -
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 -
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. -
Default redo log 100mb???????
hi all
my database is runing in archive mode
(database oracle 9i rel 2)
when i issue
SQL> SELECT * FROM V$LOG;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIM
1 1 59 104857600 1 NO CURRENT 3519698 20-FEB-04
2 1 57 104857600 1 YES INACTIVE 3477638 20-FEB-04
3 1 58 104857600 1 YES INACTIVE 3479786 20-FEB-04
its funny default size of redo log [b]is 100MB
every archive log file is created on my database of size 100mb.
1.whats the reason of deafult size of 100mb
2.its my production database and i want to change its size to 1mb
plz give some suggestion to change it.because my boss don''t want any mistake.
if solution is drop and recreate then it give me trouble all time when i do this. so plz give suggestion for change its size
thanks
kuljeet pal singhThe sizes for the Redo Logs members are determined by several issues:
1.- The switching time that you want.
2.- The switching time is determined according what is the amount of time ( This represent data ) that you are disposed to lose in case of you lose all redo members of one Redo Log group.
3.- The switching time is determined according as well to the sizes for Archive Redo Logs to store and handle them in a confortable way.
4.- In some occasions if you have redo members with low size like 1m , that can affect the performance of your database.
5.- when they are too long the database has to wait while they archives redo logs are generated.
If you want to change the size of redo members you have to create new redo log groups and after go removing the groups that you do not want. When you are doing this you have to have at least 2 Redo Log Groups.
Joel Pérez
http://otn.oracle.com/experts
Maybe you are looking for
-
Batch Capture Changes Media Start, End, and Duration
Hello all... For some reason, when I batch capture from an imported batch list in FCP 4.5, the program changes the media start, end, and duration just slightly once the capture has completed. Does anyone know why this might be occurring?
-
Sony xperia j issue with backlight
While the phone is blocked it's sometimes turns on the backlighting,changed the walpapers,rebooted the phone. It appeared after updating to the latest update.
-
hi all, i have a problem and search everwhere else here, so i think it is better to discuss it here also, i try to run debug mode in eclipse but not succeeded, i run the debug long ago but not know. i hknow this is not maybe right place but i think i
-
Hi All, I've been experimenting with the Spry Tabbed Panels Widget to produce a navigation system for a site. It works pretty well except for my inability to center the main Div container. I've manipulated the Spry CSS considerably to produce the dis
-
Zooming Options in Diadem View Window
How can I make it possible to zoom all plots in different sheets (View Window) to same range on x-axis (all plots have same x-axis)