Last valid member redo log

hi all,
what does this line means from the certification book.
If the member you want to drop is the last valid member of the group, you cannot drop the member.

You've got a group which is composed of two or more members. In order for it to be a group it must contain at leas one member, which becomes the last valid group member. If you try to remove it you will get this error:
SQL> alter database drop logfile member 'F:\ORACLE\ORADATA\MARS\REDO03.LOG';
alter database drop logfile member 'F:\ORACLE\ORADATA\MARS\REDO03.LOG'
ERROR at line 1:
ORA-00361: cannot remove last log member F:\ORACLE\ORADATA\MARS\REDO03.LOG for
group 3

Similar Messages

  • Redo log sequence number

    hi everyone,
    I am looking at our SB system, and try to do only redo log backup. however it comes back with error message: The current redo log sequence number is not greater than the sequence number of the last saved offline redo log file.
    So, we suspect that since last refresh, we may reset the sequence back from 1.  Any one know how to solve this problem?  Thanks in advance.
    Amy

    Hi,
    Is your probh solved?
    Can u pl tell if u executed a recovery of database earlier?
    Pl check if there was a case of reset logs.
    To do this run BRTOOLS-->Instance Mgt->Show Inst Status.
    This will show if there was a case of reset logs.
    If it is so try the following:
    Shut down sap and the database.
    Look for a folder named oraarch
    Oracle/sid/oraarch
    Copy all the archive files to another folder and delete all the arc files from the oraarch folder.
    The name of the arch files will be like <SID>ARCHARC123456.001
    After copying to another location and subsequently deleting them from oraarch folders start up oracle in mount mode.
    Then issue the following sql
    alter database open resetlogs;
    then start sap.
    NB:Dont forget to take a complete backup before and after diong this.
    Hope this will help.
    Most probably your database contains two icarnations of redo log files so this error is comming.
    regards

  • Groups and Member in Redo Log

    Hi,
    I would like to the defination and the functionality of Groups and Member in a Redo log file and also the distinction between them
    Thks

    Dear J.C.,
    The redo logs are files that the Oracle server uses to commit or rollback the transactions applied by the users.
    Redo Log files (minimum of two files) record all changes made to the database, hence ensuring that no data is lost in the event of a failure. In case of an instance failure, when the database is next started up, the Oracle server is automatically able to roll forward the transactions that were not applied when the database crashed and roll back the uncommitted transactions from the rollback segments. Hence the database recovers automatically to a consistent state that existed prior to the crash.
    A set of Redo Log files is called a Redo Log Group. Multiple copies (mirroring) of the Redo Log Files are used so as to protect the Redo Log Files from corruption / damage. Each Redo Log File in a Redo Log Group (called Redo Log Member) has essentially the same information, so if one is destroyed, another copy of that file is available for the Oracle server to use.
    Finally, the term Redo Log is used interchangeably with Redo Log Group.
    Ciao!

  • Redo Log Last modified date

    Hi All,
    Couple of day's back we have set Hot back up mode for 11g database server from cold back up,
    after this reado log's last modified date is not getting updated and redolog last modified date is get's updated only when we restart the database,
    There is no error message in the alert log and data base running normally without any issues,
    can you please advise me why redo logs LastModified date is not getting updated.
    Thanks
    sankar

    user12994238 wrote:
    Hi All,
    Couple of day's back we have set Hot back up mode for 11g database server from cold back up,
    after this reado log's last modified date is not getting updated and redolog last modified date is get's updated only when we restart the database,
    There is no error message in the alert log and data base running normally without any issues,
    can you please advise me why redo logs LastModified date is not getting updated.
    Thanks
    sankarcould it be that the timestamp is not updated until such time as the file is closed? That would be easy enough to observe/test.

  • WARNING - Last redo log file switch interval was 6 minutes. Next interval p

    Hello!
    I just started monitoring my Oracle via ConSol Nagios script.
    Now it show`s a Warning because:
    WARNING - Last redo log file switch interval was 6 minutes. Next interval presumably >2 minutes. Second incident in a row.
    As I do not know much about Oracle I do not understand that message.
    a) What does it mean ?
    b) Is it really critical ?
    Thanks!

    >
    I just started monitoring my Oracle via ConSol Nagios script.
    Now it show`s a Warning because:
    WARNING - Last redo log file switch interval was 6 minutes. Next interval presumably >2 minutes. Second incident in a row.
    As I do not know much about Oracle I do not understand that message.
    a) What does it mean ?
    b) Is it really critical ?
    >
    First of all: This is not an Oracle Error message. Instead, you have a somewhat arbitrarily threshold set in your non-Oracle monitoring tool. If this happens only once in a while - ignore it or modify the threshold.
    Generally, frequent fast logswitches can be the cause of performance problems.
    If you have Oracle Enterprise Manager in place and Diagnostic Pack licensed, it would give you a much more qualified statement about your Database performance. Also a recommendation to increase the Logfile size in case.
    If you look for a procedure to increase the size of your logfiles:
    http://uhesse.wordpress.com/2010/01/20/how-to-change-the-size-of-online-redologs/
    Kind regards
    Uwe Hesse
    http://uhesse.wordpress.com

  • Invalid redo log member

    Hi guys,
    i have 3 redo log groups with one member each with 50MB size in 10gR2 database on Windows.
    I added one more member in first group with also 50MB in size, but just when did that ,
    status of that new member has become invalid.
    Could You please comment this situation ?
    thx.

    thx guys , i managed with this thread :
    10g: Redo Log
    cheers,
    Toni

  • INVALID redo log after creating a new group member

    Hi all,
    I've just followed instructions to create a new redo log file member:
    alter database add logfile member '/oracle/mplex/redo/redo01b.log' to group 1;
    When I query v$logfile, the status is INVALID though.
    SQL> select * from v$logfile where group# = 1;
    GROUP# STATUS TYPE
    MEMBER
    IS_
    1 ONLINE
    /u01/app/oracle/oradata/redo01.log
    NO
    1 INVALID ONLINE
    /oracle/mplex/redo/redo01b.log
    NO
    the oracle user owns the mplex directory and permission are fine
    [oracle@redo]$ ls -ltr
    total 51260
    -rw-r----- 1 oracle oinstall 52429312 Mar 11 11:55 redo01b.log
    Any ideas?
    Thanks

    connect to the database again as a sysdba, and run
    sql> alter system switch logfile;
    Run this command again.
    select * from v$logfile where group# = 1;
    You can get more information at http://download.oracle.com/docs/cd/B19306_01/server.102/b14231/onlineredo.htm
    Edited by: pgoel on Mar 11, 2011 8:15 PM

  • Redo logs member

    we have four node primary database and 4 node stand by
    created members on redo log group on the stand by database.
    and thier status is
    20 INVALID STANDBY /redo1/sckftprd/stndby_redo/redo20_c.log NO
    21 INVALID STANDBY /redo2/sckftprd/stndby_redo/redo21_c.log NO
    23 INVALID STANDBY /redo2/sckftprd/stndby_redo/redo23_c.log NO
    22 INVALID STANDBY /redo1/sckftprd/stndby_redo/redo22_c.log NO
    iam seeing continuos errors in the stand by alert log
    ORA-00313: open failed for members of log group 21 of thread 2
    Mon Sep 21 12:33:12 2009
    ARC0: Archiving not possible: error count exceeded
    Mon Sep 21 12:38:12 2009
    Errors in file /opt/oracle/product/admin/SCKFTPRD/bdump/sckftprd4_arc0_16815.trc:
    ORA-00313: open failed for members of log group 20 of thread 1
    Mon Sep 21 12:38:12 2009
    Errors in file /opt/oracle/product/admin/SCKFTPRD/bdump/sckftprd4_arc0_16815.trc:
    ORA-00313: open failed for members of log group 21 of thread 2
    Mon Sep 21 12:38:12 2009
    Errors in file /opt/oracle/product/admin/SCKFTPRD/bdump/sckftprd4_arc0_16815.trc:
    ORA-00313: open failed for members of log group 21 of thread 2
    Mon Sep 21 12:38:12 2009
    ARC0: Archiving not possible: error count exceeded
    i havent created those members on primary does it cause any issue.....

    We have no version number.
    We have no idea what you created.
    We have no idea what query produced the results you displayed.
    We have no idea whether this has ever run or is a new installation.
    We have no idea what you were trying to create ... physical or logical DG or just a standby.
    We don't even know if the files Oracle is trying to open exist are have permissions allowing Oracle to read and write them
    If you want help you need to post a lot more information. Else open an SR at metalink.

  • Invalid standby redo log

    On standby database there is a standby log file with status
    invalid on ASM diskgroup. In the same log group there is a valid standby log file.
    I've tried to drop it and recreate it but its status is still invalid.
    Why the status of that file is invalid? It should be inaccessible
    to oracle somehow,but I can e.g. view properties of that file by EM db. control.

    Hi,
    After I clear the logfile, the invalid logfile member is delete from standby database.
    The alert log from standby database is:
    ORA-00313: open failed for members of log group 1 of thread 1
    Deleted Oracle managed file +FRA/PROJ_STD/onlinelog/group_1.948.766576659
    Deleted Oracle managed file +REDO01/PROJ_STD/onlinelog/group_1.288.766581971
    Deleted Oracle managed file +REDO02/PROJ_STD/onlinelog/group_1.288.766582015
    Completed: alter database clear logfile group 1What is correct? on primary and standby database must be equals about online redo logs?
    Why the Oracle delete the online log files that I add on standby?
    Thank you!!!!

  • Question on redo log files at the standby

    Oracle version: 10.2.0.5
    Platform : AIX
    We have 2 node RAC primary with 2 node RAC standby
    Primary Instance1 named as cmapcp1
    Primary Instance2 named as cmapcp2
    Standby Instance1 named as cmapcp3
    Standby Instance2 named as cmapcp4At standby side
    SQL> show parameter log_file_name_convert
    NAME                 TYPE                 VALUE
    log_file_name_conver string               cmapcp1, cmapcp3, cmapcp2, cmapcp4
    Despite the value set for log_file_name_convert, I don't see any change in names of Online and Standby redo logs at the Standby site.
    -- From primary
    SQL> select member,type from v$logfile;
    MEMBER                                             TYPE
    +CMAPCP_DATA01/cmapcp/cmapcp_log01.dbf             ONLINE
    +CMAPCP_DATA01/cmapcp/cmapcp_log02.dbf             ONLINE
    +CMAPCP_DATA01/cmapcp/cmapcp_log03.dbf             ONLINE
    +CMAPCP_DATA01/cmapcp/cmapcp_log04.dbf             ONLINE
    +CMAPCP_DATA01/cmapcp/cmapcp_log05.dbf             ONLINE
    +CMAPCP_DATA01/cmapcp/cmapcp_log06.dbf             ONLINE
    +CMAPCP_DATA01/cmapcp/cmapcp_log11.dbf             STANDBY
    +CMAPCP_DATA01/cmapcp/cmapcp_log12.dbf             STANDBY
    +CMAPCP_DATA01/cmapcp/cmapcp_log13.dbf             STANDBY
    +CMAPCP_DATA01/cmapcp/cmapcp_log14.dbf             STANDBY
    +CMAPCP_DATA01/cmapcp/cmapcp_log15.dbf             STANDBY
    +CMAPCP_DATA01/cmapcp/cmapcp_log16.dbf             STANDBY
    +CMAPCP_DATA01/cmapcp/cmapcp_log17.dbf             STANDBY
    +CMAPCP_DATA01/cmapcp/cmapcp_log18.dbf             STANDBY
    +CMAPCP_DATA01/cmapcp/cmapcp_log19.dbf             STANDBY
    +CMAPCP_DATA01/cmapcp/cmapcp_log20.dbf             STANDBY
    16 rows selected.-- From standby
    SQL> select member,type from v$logfile;
    MEMBER                                             TYPE
    +CMAPCP_DATA01/cmapcp/cmapcp_log01.dbf             ONLINE
    +CMAPCP_DATA01/cmapcp/cmapcp_log02.dbf             ONLINE
    +CMAPCP_DATA01/cmapcp/cmapcp_log03.dbf             ONLINE
    +CMAPCP_DATA01/cmapcp/cmapcp_log04.dbf             ONLINE
    +CMAPCP_DATA01/cmapcp/cmapcp_log05.dbf             ONLINE
    +CMAPCP_DATA01/cmapcp/cmapcp_log06.dbf             ONLINE
    +CMAPCP_DATA01/cmapcp/cmapcp_log11.dbf             STANDBY
    +CMAPCP_DATA01/cmapcp/cmapcp_log12.dbf             STANDBY
    +CMAPCP_DATA01/cmapcp/cmapcp_log13.dbf             STANDBY
    +CMAPCP_DATA01/cmapcp/cmapcp_log14.dbf             STANDBY
    +CMAPCP_DATA01/cmapcp/cmapcp_log15.dbf             STANDBY
    +CMAPCP_DATA01/cmapcp/cmapcp_log16.dbf             STANDBY
    +CMAPCP_DATA01/cmapcp/cmapcp_log17.dbf             STANDBY
    +CMAPCP_DATA01/cmapcp/cmapcp_log18.dbf             STANDBY
    +CMAPCP_DATA01/cmapcp/cmapcp_log19.dbf             STANDBY
    +CMAPCP_DATA01/cmapcp/cmapcp_log20.dbf             STANDBY
    16 rows selected.--- Another thing I noticed, v$log doesn't list Standby Redo Logs. This is expected behaviour , I guess
    Below is the output from Primary and Standby (it is the same)
    set linesize 200
    set pagesize 50
    col member for a50
    break on INST SKIP PAGE on GROUP# SKIP 1
    select l.thread# inst, l.group#,lf.member, lf.type
        from v$log l , v$logfile lf
        where l.group# = lf.group#
        order by 1,2 ;
          INST     GROUP# MEMBER                                             TYPE
             1          1 +CMAPCP_DATA01/cmapcp/cmapcp_log01.dbf             ONLINE
                        2 +CMAPCP_DATA01/cmapcp/cmapcp_log02.dbf             ONLINE
                        3 +CMAPCP_DATA01/cmapcp/cmapcp_log03.dbf             ONLINE
          INST     GROUP# MEMBER                                             TYPE
             2          4 +CMAPCP_DATA01/cmapcp/cmapcp_log04.dbf             ONLINE
                        5 +CMAPCP_DATA01/cmapcp/cmapcp_log05.dbf             ONLINE
                        6 +CMAPCP_DATA01/cmapcp/cmapcp_log06.dbf             ONLINE

    John_75 wrote:
    Thank you ckpt, mseberg.
    I think log_file_name_convert is set wrongly as you've mentioned. But If I don't want to any change to name of Online or standby redo log files in standby, I don't have to set log_file_name_convert at all. Right ?From Same link
    If you specify an odd number of strings (the last string has no corresponding replacement string), an error is signalled during startup. If the filename being converted matches more than one pattern in the pattern/replace string list, the first matched pattern takes effect. There is no limit on the number of pairs that you can specify in this parameter (other than the hard limit of the maximum length of multivalue parameters).

  • Stale status of Redo log files...

    Hi ,
    Why in the following sql results , the log file situated in group#3 is not stale as it is not currently used.....????
    SQL> select * from v$log;
        GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARCHIVED STATUS           FIRST_CHANGE# FIRST_TIME
             1          1        485   52428800          1 NO       CURRENT               14310098 17/05/2007
             2          1        483   52428800          1 NO       INACTIVE              14265944 16/05/2007
             3          1        484   52428800          1 NO       INACTIVE              14292318 17/05/2007
    SQL>
    SQL> select * from V$LOGFILE;
        GROUP# STATUS  TYPE    MEMBER                                                                           IS_RECOVERY_DEST_FILE
             3         ONLINE  C:\ORACLE\PRODUCT\10.2.0\ORADATA\EPESY\REDO03.LOG                                NO
             2 STALE   ONLINE  C:\ORACLE\PRODUCT\10.2.0\ORADATA\EPESY\REDO02.LOG                                NO
             1         ONLINE  C:\ORACLE\PRODUCT\10.2.0\ORADATA\EPESY\REDO01.LOG                                NONOTE : I use Oracle 10g v.2 on WinXp platform. The database is running in NOARCHIVELOG mode.
    Many thanks,
    Simon

    The normal status is null (File is in use).
    The stale status indicates a 'problem', as documentation part below:
    A redo log file becomes INVALID if the database cannot access it. It becomes STALE if the database suspects that it is not complete or correct. A stale log file becomes valid again the next time its group is made the active group.

  • Whole Database Online + redo log backup: How Long?

    Hi gurus,
    There's something I want to ask about online backup with redo log.
    If i'm correct, redo log file is created everytime there's operation that change datafile right?
    If i schedule this type of backup everyday, it means it will backup all datafiles, along with redo log file when transaction take places, at my pre-defined hours, right?
    Then here's what i'm confused about. When will this backup process finished? Is it when all the datafiles have been backed up? Then how about the redo log files? If there are users that keep making transaction (therefore make change to datafiles), new redo log files will be created on disk, and that will prevent the backup process to finish. Then when will this cycle come to an end?
    Please confirm if my grasp about oracle online backup is correct or not, and provide explanation to satisfy my curiousity.
    Thanks gurus,
    Edited by: Bobby Gunawan on Jan 6, 2009 10:16 AM

    Hello Fidel,
    i am feeling honored
    > Keep in mind that the only thing where a DBA cannot make mistakes is restore/recovery and this depends on your backups
    In general i would say you are right, but i have seen already one case where this statement is not true. 
    Some time ago i got a call from a colleague where his database crashed, the online redolog files were corrupted and the recovery was not working.
    If you don't look really close at this point you are in trouble and can not continue the recovery. Let explain this on a example.
    This demonstration is done on an oracle 10.2.0.4, but it work on every other version too.
    Let's simulate a crash
    SQL> shutdown abort;
    Corrupt/delete a specifc redolog file
    SQL> startup
    ORA-00313: open failed for members of log group 3 of thread 1
    ORA-00312: online log 3 thread 1: '/oracle/TST/oradata/redolog/redo03.log'
    ORA-27037: unable to obtain file status
    Ok - so far so good, lets check the groups and files
    SQL> select GROUP#, STATUS, MEMBER from v$logfile where TYPE = 'ONLINE';
        GROUP# STATUS  MEMBER
             1         /oracle/TST/oradata/redolog/redo01.log
             2         /oracle/TST/oradata/redolog/redo02.log
             3         /oracle/TST/oradata/redolog/redo03.log
    SQL> select * from v$log;
        GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIM
             1          1         95   52428800          1 NO  CURRENT                5117817 06-JAN-09
             3          1         94   52428800          1 YES ACTIVE                 5117814 06-JAN-09
             2          1         93   52428800          1 YES ACTIVE                 5112855 15-DEC-08
    What's the situation?
    The online redolog file of group 3 is lost/corrupted and this group is needed to perform a complete recovery (see status ACTIVE).
    But you are lucky, because of this group 3 is already archived - so you can perform a complete recovery.
    Now let's perform a complete recovery but with UNTIL clause (because we need to jump between the online and archived redologfiles)
    SQL> recover database until cancel;
    ORA-00279: change 5116194 generated at 01/06/2009 21:06:48 needed for thread 1
    ORA-00289: suggestion : /oracle/TST/oraarch/TST_1_93_6b8c0516_666969185.arc
    ORA-00280: change 5116194 for thread 1 is in sequence #93
    Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
    ORA-00279: change 5117814 generated at 01/06/2009 21:08:47 needed for thread 1
    ORA-00289: suggestion : /oracle/TST/oraarch/TST_1_94_6b8c0516_666969185.arc
    ORA-00280: change 5117814 for thread 1 is in sequence #94
    ORA-00278: log file '/oracle/TST/oraarch/TST_1_93_6b8c0516_666969185.arc' no longer needed for this recovery
    Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
    ORA-00279: change 5117817 generated at 01/06/2009 21:08:51 needed for thread 1
    ORA-00289: suggestion : /oracle/TST/oraarch/TST_1_95_6b8c0516_666969185.arc
    ORA-00280: change 5117817 for thread 1 is in sequence #95
    ORA-00278: log file '/oracle/TST/oraarch/TST_1_94_6b8c0516_666969185.arc' no longer needed for this recovery
    Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
    /oracle/TST/oradata/redolog/redo01.log
    Log applied.
    Media recovery complete.
    Now execute an OPEN NORESETLOGS accidentally (maybe the dba think it is not necessary because of the complete recovery) and try an OPEN RESETLOGS after:
    SQL> alter database open noresetlogs;
    alter database open noresetlogs
    ERROR at line 1:
    ORA-00313: open failed for members of log group 3 of thread 1
    ORA-00312: online log 3 thread 1: '/oracle/TST/oradata/redolog/redo03.log'
    ORA-27037: unable to obtain file status
    SQL> alter database open resetlogs;
    alter database open resetlogs
    ERROR at line 1:
    ORA-01139: RESETLOGS option only valid after an incomplete database recovery
    So now you are lost.. you can't execute an UNTIL CANCEL anymore which would be needed to perform a successful OPEN RESETLOGS.
    In this special case you can do mistakes and you have to restore the whole database and perform the same recovery again and end with OPEN RESETLOGS.
    Just for information
    Regards
    Stefan

  • How to recover from corrupt redo log file in non-archived 10g db

    Hello Friends,
    I don't know much about recovering databases. I have a 10.2.0.2 database with corrupt redo file and I am getting following error on startup. (db is non archived and no backup) Thanks very much for any help.
    Database mounted.
    ORA-00368: checksum error in redo log block
    ORA-00353: log corruption near block 6464 change 9979452011066 time 06/27/2009
    15:46:47
    ORA-00312: online log 1 thread 1: '/dbfiles/data_files/log3.dbf'
    ====
    SQL> select Group#,members,status from v$log;
    GROUP# MEMBERS STATUS
    1 1 CURRENT
    3 1 UNUSED
    2 1 INACTIVE
    ==
    I have tried this so far but no luck
    I have tried following commands but no help.
    SQL> ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP 3;
    Database altered.
    SQL> alter database open resetlogs;
    alter database open resetlogs
    ERROR at line 1:
    ORA-01139: RESETLOGS option only valid after an incomplete database recovery
    SQL> alter database open;
    alter database open
    ERROR at line 1:
    ORA-00368: checksum error in redo log block
    ORA-00353: log corruption near block 6464 change 9979452011066 time 06/27/2009
    15:46:47
    ORA-00312: online log 1 thread 1: '/dbfiles/data_files/log3.dbf'

    user652965 wrote:
    Thanks very much for your help guys. I appreciate it. unfortunately none of these commands worked for me. I kept getting error on clearing logs that redo log is needed to perform recovery so it can't be cleared. So I ended up restoring from earlier snapshot of my db volume. Database is now open.
    Thanks again for your input.And now, as a follow-up, at a minimum you should make sure that all redo log groups have at least 3 members. Then, if you lose a single redo log file, all you have to do is shutdown the db and copy one of the good members (of the same group as the lost member) over the lost member.
    And as an additional follow-up, if you value your data you will run in archivelog mode and take regular backups of the database and archivelogs. If you fail to do this you are saying that your data is not worth saving.

  • Open database if an active online redo log is missing

    Hi,
    Sorry for the rather long post, but I specified all the steps I performed and couldn't make it shorter :-(
    I need an advice on how to open the database if an active online redo log is missing.
    For test purposes I intentionally performed a shutdown abort when the redo log group 1 was in active state and then renamed its only member (REDO01.LOG) so that the database couldn't perform crash recovery using it. Then upon startup I obviously got the message:
    ORA-00313: open failed for members of log group 1 of thread 1
    ORA-00312: online log 1 thread 1: 'H:\ORADATA\TESTDB\REDO01.LOG'
    ORA-27041: unable to open file
    OSD-04002: unable to open file
    O/S-Error: (OS 2) The system cannot find the file specified.Ok, so I checked the state of the logs:
    {noformat}
    SQL>SELECT a.GROUP#, first_change#, SEQUENCE#, a.status, SUBSTR(b.MEMBER, 1, 40) MEMBER, b.status mem_status, a.archived
      2    FROM v$log a, v$logfile b
      3   WHERE a.GROUP# = b.GROUP#
      4  ORDER BY a.GROUP#, b.MEMBER;
    GROUP# FIRST_CHANGE#  SEQUENCE# STATUS           MEMBER                         MEM_STA ARC
         1        592134         29 ACTIVE           H:\ORADATA\TESTDB\REDO01.LOG           YES
         2        592268         30 CURRENT          C:\ORADATA\TESTDB\REDO02.LOG           NO
         3        592129         28 ACTIVE           C:\ORADATA\TESTDB\REDO03.LOG           YES
    {noformat}Since opening the database to perform a log switch and thus change the status of the redo log group 1 from ACTIVE to INACTIVE to recreate the member isn't possible, I performed database recovery.
    SQL>recover database until cancel;
    ORA-00279: change 592129 generated at 02/04/2009 10:31:15 needed for thread 1
    ORA-00289: suggestion : C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\ARCHIVELOG\2009_02_04\O1_MF_1_28_%U_.ARC
    ORA-00280: change 592129 for thread 1 is in sequence #28
    Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
    ORA-00279: change 592134 generated at 02/04/2009 10:31:28 needed for thread 1
    ORA-00289: suggestion : C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\ARCHIVELOG\2009_02_04\O1_MF_1_29_%U_.ARC
    ORA-00280: change 592134 for thread 1 is in sequence #29
    ORA-00278: log file 'C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\ARCHIVELOG\2009_02_04\O1_MF_1_28_4RLR3JS9_.ARC' no longer needed for this rec
    overy
    Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
    'C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\ARCHIVELOG\2009_02_04\O1_MF_1_29_4RLR4MF3_.ARC'
    ORA-00279: change 592268 generated at 02/04/2009 10:32:03 needed for thread 1
    ORA-00289: suggestion : C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\ARCHIVELOG\2009_02_04\O1_MF_1_30_%U_.ARC
    ORA-00280: change 592268 for thread 1 is in sequence #30
    ORA-00278: log file 'C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\ARCHIVELOG\2009_02_04\O1_MF_1_29_4RLR4MF3_.ARC' no longer needed for this rec
    overy
    Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
    'C:\ORADATA\TESTDB\REDO02.LOG'
    Log applied.
    Media recovery complete.
    SQL>So for log sequence #28 I accepted the proposed archived redo log in the FRA, for sequence #29 (that's the online redo log that is missing!) I manually specified its archived copy, and for sequence #30 I specified the CURRENT online redo log. And as it seems the media recovery was successful.
    Next I tried to open the database but again got the error:
    SQL>alter database open noresetlogs;
    alter database open noresetlogs
    ERROR at line 1:
    ORA-00313: open failed for members of log group 1 of thread 1
    ORA-00312: online log 1 thread 1: 'H:\ORADATA\TESTDB\REDO01.LOG'
    ORA-27041: unable to open file
    OSD-04002: unable to open file
    O/S-Error: (OS 2) The system cannot find the file specified.
    The status of the log groups and its members is exactly as it was in the first query I wrote above, i.e. the redo log group 1 is still ACTIVE, so it's needed for crash recovery (which I had already done manually if I understand correctly how Oracle works!). I also checked if the datafiles are inconsistent (described in metalink doc id 1015544.102):
    SQL>SELECT DISTINCT CHECKPOINT_CHANGE#, FUZZY FROM V$DATAFILE_HEADER;
    CHECKPOINT_CHANGE# FUZ
                592269 NOSo, everything seems ok as far as datafile consistency is concerned.
    My question is: how can I rename/drop/clear/whatever the member of redo log group 1 to open the database?
    I tried to rename the log file member, to add another member to it, to open the database with resetlogs, to clear the logfile group 1, but all without success:
    1)
    SQL>alter database clear logfile group 1;
    alter database clear logfile group 1
    ERROR at line 1:
    ORA-01624: log 1 needed for crash recovery of instance testdb (thread 1)
    ORA-00312: online log 1 thread 1: 'H:\ORADATA\TESTDB\REDO01.LOG'
    2)
    SQL>alter database open resetlogs;
    alter database open resetlogs
    ERROR at line 1:
    ORA-01139: RESETLOGS option only valid after an incomplete database recovery
    3)
    SQL>alter database rename file 'H:\ORADATA\TESTDB\REDO01.LOG' to 'C:\ORADATA\TESTDB\REDO01.LOG';
    alter database rename file 'H:\ORADATA\TESTDB\REDO01.LOG' to 'C:\ORADATA\TESTDB\REDO01.LOG'
    ERROR at line 1:
    ORA-01511: error in renaming log/data files
    ORA-01512: error renaming log file H:\ORADATA\TESTDB\REDO01.LOG - new file C:\ORADATA\TESTDB\REDO01.LOG not found
    ORA-27041: unable to open file
    OSD-04002: unable to open file
    O/S-Error: (OS 2) The system cannot find the file specified.
    4)
    SQL>alter database add logfile member 'C:\ORADATA\TESTDB\REDO01.LOG' to group 1;
    alter database add logfile member 'C:\ORADATA\TESTDB\REDO01.LOG' to group 1
    ERROR at line 1:
    ORA-00313: open failed for members of log group 1 of thread 1
    ORA-00312: online log 1 thread 1: 'H:\ORADATA\TESTDB\REDO01.LOG'
    ORA-27041: unable to open file
    OSD-04002: unable to open file
    O/S-Error: (OS 2) The system cannot find the file specified.Sorry again for the long post and thank you in advance for any suggestion.
    Regards,
    Jure

    You could check if the recovery was complete by (re)creating the controlfile with the resetlogs option.
    <CREATE CONTROLFILE REUSE DATABASE define_db_name RESETLOGS NOARCHIVELOG
    ...>Thanks for the hint. If possible, could you only check if the steps I'm going to perform are ok.
    I did an "alter database backup controlfile to trace;" and then extracted the create controlfile definition part. So in essence I should run the following statements:
    CREATE CONTROLFILE REUSE DATABASE "TESTDB" RESETLOGS  ARCHIVELOG
        MAXLOGFILES 16
        MAXLOGMEMBERS 3
        MAXDATAFILES 100
        MAXINSTANCES 8
        MAXLOGHISTORY 292
    LOGFILE
      GROUP 1 'C:\ORADATA\TESTDB\REDO01.LOG'  SIZE 20M,
      GROUP 2 'C:\ORADATA\TESTDB\REDO02.LOG'  SIZE 20M,
      GROUP 3 'C:\ORADATA\TESTDB\REDO03.LOG'  SIZE 20M
    -- STANDBY LOGFILE
    DATAFILE
      'C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\SYSTEM01.DBF',
      'C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\UNDOTBS01.DBF',
      'C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\SYSAUX01.DBF',
      'C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\USERS01.DBF'
    CHARACTER SET EE8MSWIN1250
    ALTER DATABASE OPEN RESETLOGS;
    ALTER TABLESPACE TEMP ADD TEMPFILE 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\TEMP01.DBF' REUSE;Is that correct?
    About the RMAN backups: Wouldn't a 'CATALOG RECOVERY AREA' populate the controlfile with backup information again (I'm not using a recovery catalog in this case)?
    Thanks for the help!
    Regards,
    Jure

  • 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

Maybe you are looking for