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

  • Filling of redo log members

    Hello!
    Could you please explain , is the filling of redo log members async or sync?
    Thanks and regards,
    Pavel

    Pavel 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/

  • Redo Log Members & RAID 5

    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

  • Dropping Redo Log Members

    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

  • 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.

  • Redo log members in a group

    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?
    Thanks

    Hi 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.

  • Online redo logs

    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?
    Konstantin

    Relocating 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

  • Log_file_name_convert , db_recovery_area and multiplexed redo logs

    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?

  • Online Redo Log groups

    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 help

    Hi,
    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.

  • Redo logs status - Invalid

    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

  • How to set up voice tags on the n70?

    Hi how do you add a voice tag to your contacts on the n70 phone pleeeeeeeeeeeeease! cheers Emma

  • Iphone recognized as a digital camera

    my iphone is connected to my computer via usb and itunes does not recognize the device the computer thinks it is an iphone digital camera

  • Advice request - which external HDD for Adobe Lightroom?

    Hi, I'm going to buy myself an external hdd this week, and I would be very grateful for your advice. 1) I'm shooting with Nikon D70, Canon A520, and my mobile(;]). 2) After over 1 year of shooting I have ~130GB of photos taken with these cameras + I

  • Layering Flash over Flash with DIVs is causing cursor to flicker...

    I have a problem with a set-up I have, where I have one Flash SWF file placed over another SWF file, in two different DIV tags in my HTML. I have used "z-index" to order my DIVs, and I have used "wmode=transparent" etc. to view the one file under the

  • Problem passing oracle.sql.ARRAY to Oracle

    I am having ClassCastException when I try to pass a oracle.sql.ARRAY to a Oracle Package. Here is my code: PreparedStatement stmt = null; String strArray[] = { "1,2,3,4,5" }; ArrayDescriptor descriptor = ArrayDescriptor.createDescriptor( "TEST_PAC_1.