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

Similar Messages

  • Archive all the active online redo logs

    Hi,
    in 9.2.0 and in archivelog mode, how can I archive all the active online redo logs ?
    Thank you.

    Is ur database already running in archivelog mode?? If yes and if automatic archiving is enabled then ur redo will be archived automatically. I think first you need to check whether ur DB is in archive log mode or not?? Post the output of (from sqlplus):
    archive log list
    Daljit Singh

  • When occurs crash recovery,why use active online redo log not archived log?

    If current redo log had archived, but it's still 'ACTIVE'. As we all know, archived log is just an archived copy of the current redo log which is still 'ACTIVE', they have the same data. But why use active online redo log not archived log for crash recovery?(I think, if crash recovery can use archived log, then whether the online redo log is 'ACTIVE' or not, it can be overwritten)
    Quote:
    Re: v$log : How redo log file can have a status ACTIVE and be already archived?
    Hemant K Chitale
    If your instance crashes, Oracle attempts Instance Recovery -- reading from the Online Redo Logs. It doesn't need ArchiveLogs for Instance Recovery.
    TanelPoder
    Whether the log is already archived or not doesn't matter here, when the instance crashes, Oracle needs some blocks from that redolog. Archivelog is just an archived copy of the redolog, so you could use either the online or achive log for the recovery, it's the same data in there (Oracle reads the log/archivelog file header when it tries to use it for recovery and validates whether it contains the changes (RBA range) in it what it needs).

    Aman.... wrote:
    John,
    Are you sure that the instance recovery (not the media recovery) would be using the archived redo logs? Since the only thing that would be lost is the isntance, there wouldn't be any archived redo log generated from the Current redo log and the previous archived redo logs, would be already checkpointed to the data file, IMHO archived redo logs won't participate in the instance recovery process. Yep, shall watch the video but tomorrow .
    Regards
    Aman....
    That's what I said. Or meant to say. If Oracle used archivelogs for instance recovery, it would not be possible to recover in noarchive log mode. So recovery relies exclusively on the online log.
    Sorry I wasted your time, I'll try to be less ambiguous in future

  • Abot loss online Redo log group

    Hi,
    Is there different from recovering between loss CURRENT online redo log group and ACTIVE online redo log group?
    Both of them are needed to incomplete recovery, right?

    For CURRENT redolog recovery:
    startup mount
    recover database until cancel;
    alter database open resetlogs;
    For ACTIVE redolog recovery:
    If the database is still running, force a checkpoint by issuing the following command:
    alter system checkpoint;
    If above was successful and if the lost group has been archived then issue:
    alter database clear logfile group <number of the online redo log group>;
    And if the lost group has NOT been archived then issue:
    alter database clear logfile unarchived group <number of the online redo log group>;
    alter database open;
    If the database is not running (crashed) then
    startup mount
    recover database until cancel;
    alter database open resetlogs;
    Daljit Singh

  • What  is online redo log files???

    Dear All,
    I m bit confused with redo log files.what is need of back up of redo log files?????As i m new in the Basis please tell me i always get confused with redo log files and archive files.
    Thanx and reagard's
    Ashok

    In Oracle you have a number of online redo log files.
    In an typical SAP installation you have two directories:
    origlogA and origlogB
    origlogA contains online redo log 1 and 3 and
    origlogB contains online redo log 2 and 4.
    In most installation you also have mirrlogA and mirrlogB, which the name tells, is mirrors of origlogA and origlogB.
    Now, the online redo logs are circular,
    so when 1 gets full oracle jumps to number 2.
    At the same time oracle's archiver process starts to copy
    online redo log number 1 to a file on disk.
    This files are also known as archive redo logs.
    In an recovery situation you might do with just the online redo logs,
    but usually a combination of both online and archive redo logs is needed.
    During database backup, you also backup the online redo logs
    You also need to backup (backup twice then delete) archive redo logs.
    the archive redo logs are your way back from the restored database to the last transaction of the database.
    If one archive redo log is missing, you have to stop you recovery there and loose the rest of the transactions done in the database.

  • Adding online redo logs with standby database in place

    Hi group,
    I have decided to add one new member to my existing redo log groups and an additional redo log group to my primary database.
    That change went ok without problems. I assumed that with standby_file_management=auto the equivalent online redo logs are created on the standby database. But this is not the case.
    The documentation is unclear about this point and I did not find anything suitable on metalink. The docs suggest to cancel managed recovery on the standy, setting standby_file_management to MANUAL and then adding online logs, quote:
    "To add an online redo log, use a SQL statement such as this:
    SQL> ALTER DATABASE ADD STANDBY LOGFILE 'prmy3.log' SIZE 100K;"
    This however - IMO - adds a new STANDBY redo log to the standby database, what I need is an ONLINE redo log.
    Does anybody have some experience to share here?
    Facts:
    Solaris 8
    Oracle 9.2.0.6
    Thanks!
    Martin

    OK, for those who come across the same problem.
    You need to create a new standby controlfile, copy it as well as any new online redo log from production to the standby environment.
    Once the files are in place, start the standby as normal and open it read only to see if everything is ok:
    startup nomount
    alter database mount standby database;
    alter database open read only
    Only when there are no errors in your alert.log you are safe.
    Martin

  • Problem with Whole Database Online+Redo log Backup

    Dear Marcus Sir,
    I am facing while taking "Whole Database Online+Redo log Backup" through DB13 T-Code.
    Below is the "Problem part of the Backup log", however if you need I will send you full log.
    Hope you will find out problem soon
    #FILE..... /oracle/ANP/sapdata2/sr3_8/sr3.data8
    #SAVED.... sr3.data8  ANPB260810/12
    BR0280I BRBACKUP time stamp: 2010-08-27 11.03.22
    BR0063I 9 of 51 files processed - 19400.070 MB of 135986.469 MB done
    BR0204I Percentage done: 14.27%, estimated end time: 11:47
    BR0001I *******___________________________________________
    BR0202I Saving /oracle/ANP/sapdata2/sr3_9/sr3.data9
    BR0203I to /dev/rmt0.1 ...
    BR0278E Command output of 'LANG=C dd obs=1024K bs=1024K if=/oracle/ANP/sapdata2/sr3_9/sr3.data9 of=/dev/rmt0.1':
    dd read error: I/O error
    462+0 records in
    462+0 records out
    BR0280I BRBACKUP time stamp: 2010-08-27 11.03.36
    BR0279E Return code from 'LANG=C dd obs=1024K bs=1024K if=/oracle/ANP/sapdata2/sr3_9/sr3.data9 of=/dev/rmt0.1': 2
    BR0222E Copying /oracle/ANP/sapdata2/sr3_9/sr3.data9 to/from /dev/rmt0.1 failed due to previous errors
    BR0280I BRBACKUP time stamp: 2010-08-27 11.03.41
    BR0317I 'Alter tablespace PSAPSR3 end backup' successful
    BR0056I End of database backup: bedziydp.ant 2010-08-27 11.03.36
    BR0280I BRBACKUP time stamp: 2010-08-27 11.03.41
    BR0054I BRBACKUP terminated with errors
    Warm Regards
    Ahsan

    Hi,
    since you are getting a read error, it might as well be, that your datafile is defective.
    Try the same dd-command to /dev/null, to see if it is possible to read the entire file.
    First make sure that your null-device is existing, otherwise you might face a root-fs full problem.
    dd obs=1024K bs=1024K if=/oracle/ANP/sapdata2/sr3_9/sr3.data9 of=/dev/null
    or try a dbverify on it, which would also read the entire file and do a checksum test.
    brbackup -c -u / -m /oracle/ANP/sapdata2/sr3_9/sr3.data9 -t online -w only_dbv
    Good luck
    Volker

  • Whole database online + redo log backup

    Hello all,
    we are running SAP on a Oracle Database and doing a daily backup.
    In the DBA Planing Calendar, we do have the action
    Whole database online + redo log backup
    What exactly does that mean?
    Thanks,
    Anne

    This backup will save the CONTENT of the database only, not the database software itself.
    To get a full consistent backup you need to backup more things if you want to have everything - depending on the operating system:
    On Unix you will need to backup the software directory (/oracle*, oraInventory, oratab (depending on the location)) etc.
    On Windows you will need to backup <letter>:\oracle, the registry keys and more things.
    However, in case of a recovery you can also install the software after an OS installation and then restore it from tape.
    Markus

  • Backup online redo log files

    Hi All
    Can you please explain for me the main reason that we do not have to backup the online redo log using RMAN ?
    Thanks

    The online redo logfiles are necessary to perform a complete recovery of the database. During database recovery, Oracle will apply the archived redo logfiles and online redo logfiles to roll the database forward and finally remove uncommitted transactions. If any of the online redo logfile group is active and missing, the database recovery will be incomplete and the database needs to be opened with restlogs, causing a new database incarnation.
    You have to shutdown the datrabase to be able to perform a backup of the online redo logfiles, or find another method to create a time based snapshot of the data to prevent data movement while the redo logfiles are in use in order to keep datafile headers, controlfile and redo logfiles in sync. It is for that reason that you multiplex and mirror redo logfiles.

  • Can we use online redo log to recover lost datafile in NOARCHIVE mode?

    I am working on OCA exam and confued about these 2 sample questions. (similar questions with totally different answer)
    Please give me hint about the different between these 2 questions.
    ** If the database is in NOARCHIVELOG mode, and one of the datafile for tablespace USERS is lost, what kind of recovery is possible? (answer: B)
    A. All transactions except those in the USERS tablespace are recoverable up to the loss of the datafile.
    B. Recovery is possible only up to the point in time of the last full database backup.
    C. The USERS tablespace is recoverable from the online redo log file as long as none of the redo log files have been reused since the last backup.
    D. Tablespace point in time recovery is available as long as a full backup of the USERS tablespace exists.
    ** The database of your company is running in the NOARCHIVELOG mode. You perform a complete backup of the database every night. On Monday morning, you lose the USER1.dbf file belonging to the USERS tablespace. Your database has four redo log groups, and there have been two log switches since Sunday night's backup.
    Which is true (answer: B)
    A. The database cannot be recovered.
    B. The database can be recovered up to the last commit.
    C. The database can be recovered only up to the last completed backup.
    D. The database can be recovered by performing an incomplete recovery.
    E. The database can be recovered by restoring only the USER!.dbf datafile from the most recent backup.

    I think Gaurav is correct, you can recover to the last commit even in NOARCHIVELOG, as long as all the changes in the redo logs have not been overwritten. So answer should be B for question 2.
    Here is my test:
    SQL> select log_mode from v$database;
    LOG_MODE
    NOARCHIVELOG
    SQL> select tablespace_name, file_name from dba_data_files;
    TABLESPACE_NAME
    FILE_NAME
    USERS
    C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA101RC\USERS01.DBF
    SYSAUX
    C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA101RC\SYSAUX01.DBF
    UNDOTBS1
    C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA101RC\UNDOTBS01.DBF
    SYSTEM
    C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA101RC\SYSTEM01.DBF
    DATA
    C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA101RC\DATA01.DBF
    SQL> create table names
    2 ( name varchar(16))
    3 tablespace users;
    Table created.
    so this segment 'names' is created in the datafile users01.
    At this point I shut down and mount the DB, then:
    RMAN> backup database;
    channel ORA_DISK_1: backup set complete, elapsed time: 00:00:29
    Finished backup at 06-OCT-07
    SQL>alter database open
    SQL> insert into names values ('pippo');
    1 row created.
    SQL> commit;
    Commit complete.
    SQL>shutdown immediate;
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
    At this point I delete datafile users01 and restart:
    SQL> startup
    ORACLE instance started.
    Total System Global Area 167772160 bytes
    Fixed Size 1247900 bytes
    Variable Size 67110244 bytes
    Database Buffers 96468992 bytes
    Redo Buffers 2945024 bytes
    Database mounted.
    ORA-01157: cannot identify/lock data file 4 - see DBWR trace file
    ORA-01110: data file 4: 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA101RC\USERS01.DBF'
    restoring the backup taken before inserting the value 'pippo' in table names:
    RMAN> restore database;
    Starting restore at 06-OCT-07
    using channel ORA_DISK_1
    channel ORA_DISK_1: starting datafile backupset restore
    channel ORA_DISK_1: specifying datafile(s) to restore from backup set
    restoring datafile 00001 to C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA101RC\SYSTEM01.D
    BF
    restoring datafile 00002 to C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA101RC\UNDOTBS01.
    DBF
    restoring datafile 00003 to C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA101RC\SYSAUX01.D
    BF
    restoring datafile 00004 to C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA101RC\USERS01.DB
    F
    restoring datafile 00005 to C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA101RC\DATA01.DBF
    channel ORA_DISK_1: reading from backup piece C:\ORACLE\PRODUCT\10.2.0\DB_1\DATA
    BASE\0AITR52K_1_1
    channel ORA_DISK_1: restored backup piece 1
    piece handle=C:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\0AITR52K_1_1 tag=TAG20071006
    T181337
    channel ORA_DISK_1: restore complete, elapsed time: 00:02:07
    Finished restore at 06-OCT-07
    RMAN> recover database;
    Starting recover at 06-OCT-07
    using channel ORA_DISK_1
    starting media recovery
    media recovery complete, elapsed time: 00:00:05
    Finished recover at 06-OCT-07
    SQL> alter database open;
    Database altered.
    SQL> select * from names;
    NAME
    pippo
    SQL>
    enrico

  • Physical Standby Online Redo log  files,

    Hi,
    I'm trying to create a physical standby database (10.2.0.3). I'm a little confused about the requirement for online redo logs on the standby.
    in my standby alert log I get the following when I issue:
    SQL> alter database recover managed standby database disconnect from session
    "ORA-00313: open failed for members of log group 1 of thread 1
    ORA-00312: online log 1 thread 1: '/appl/oradata/prod/prod_1_redo_01_02.log'
    ORA-27037: unable to obtain file status
    SVR4 Error: 2: No such file or directory
    Additional information: 3"
    /appl/oradata/prod/prod_1_redo_01_02.log is the path to the location of the online redo logs on the production system. This file does not exist on the standby filesystem so the error is correct.
    I assume that it gets this information from the standby control file I created on the production system and copied over to the standby.
    Do I need to copy the online redo logs from the primary over to the standby site or do I need to create online redo logs on the standby?
    Does the standby need to have redo log files?
    I'm not talking about 'standby log files' of the type created using 'alter database add standby log file'. I've not got that far yet.
    I just need to establish if a physical standby requires online redo log files?
    Thanks in advance,
    user234564

    I wanted to update this thread since I've been dealing with the exact same errors. The basic question is: "does a physical standby need the online redo logs?"
    Answer: Not really, until one wants to switchover or failover (and become a primary database). Furthermore, whenever the MRP process is started, Oracle prepares for a possible switchover/failover by "clearing" the online redo logs (MetaLink note# 352879.1). It is not a big deal, since Oracle will build the actual redo files when the "alter database open resetlogs" is accomplished during a "role transition."
    In our situation, we have decided to use our standby for nightly exports. We stop MRP, open the database read-only, then restart MRP. We built these standby DBs with RMAN. The RMAN duplicate process will not build the online redo log files until the database is opened for read/write (with resetlogs). However, we haven't had a need for read/write (i.e. a switchover).
    Thus, every morning we have been getting the same errors that "user234564" posted above. At first the errors seemed scary, then we realized they were just a nusiance. In order to clean things up, all I did was just "cp" our stanby redo logs (SRL) into our online redo directories ensuring the names matched what was in v$logfile. When I restarted MRP, the alert log clearly showed Oracle clearing these "newly found" online redo logs.

  • The file structure online redo log, archived redo log and standby redo log

    I have read some Oracle documentation for file structure and settings in Data Guard environment. But I still have some doubts. What is the best file structure or settings in Oracle 10.2.0.4 on UNIX for a data guard environment with 4 primary databases and 4 physical standby databases. Based on Oracle documents, there are 3 redo logs. They are: online redo logs, archived redo logs and standby redo logs. The basic settings are:
    1. Online redo logs --- This redo log must be on Primary database and logical standby database. But it is not necessary to be on physical standby database because physical standby is not open. It doesn't generate redo log. However, if don't set up online redo log on physical standby, when primary failover and switch standby as primary. How can standby perform without online redo logs? In my standby databases, online redo logs have been set up.
    2. Archived redo logs --- It is obviously that primary database, logical and physical standby database all need to have this log file being set up. Primary use it to archive log files and ship to standby. Standby use it to receive data from archived log and apply to database.
    3. Standby redo logs --- In the document, it says A standby redo log is similar to an online redo log, except that a standby redo log is used to store redo data received from another database. A standby redo log is required if you want to implement: The maximum protection and maximum availability levels of data protection and Real-time apply as well as Cascaded destinations. So it seems that this standby redo log only should be set up on standby database, not on primary database. Am my understanding correct? Because I review current redo log settings on my environment, I have found that Standby redo log directory and files have been set up on both primary and standby databases. I would like to get more information and education from experts. What is the best setting or structure on primary and standby database?

    FZheng:
    Thanks for your input. It is clear that we need 3 type of redo logs on both databases. You answer my question.
    But I have another one. In oracle ducument, it says If you have configured a standby redo log on one or more standby databases in the configuration, ensure the size of the current standby redo log file on each standby database exactly matches the size of the current online redo log file on the primary database. It says: At log switch time, if there are no available standby redo log files that match the size of the new current online redo log file on the primary database. The primary database will shut down
    My current one data gurard envirnment setting is: On primary DB, online redo log group size is 512M and standby redo log group size is 500M. On the standby DB, online redo log group size is 500M and standby redo log group size is 750M.
    This was setup by someone I don't know. Is this setting OK? or I should change Standby Redo Log on standby DB to 512M to exactly meatch with redo log size on primary?
    Edited by: 853153 on Jun 22, 2011 9:42 AM

  • Online redo logs on a physical standby?

    A question on REDO logs on physical standby databases. (10.2.0.4 db on Windows 32bit)
    My PRIMARY has 3 ONLINE REDO groups, 2 members each, in ..ORADATA\LOCP10G
    My PHYSICAL STANDBY has 4 STANDBY REDO groups, 2 members each, in ..ORADATA\SBY10G
    I have shipping occurring from the primary in LGWR, ASYNC mode - max availablility
    However I notice the STANDBY also has ONLINE REDO logs, same as the PRIMARY, in the ..ORADATA\SBY10G folder
    According to the 10g Dataguard docs, section 2.5.1:
    "Physical standby databases do not use an online redo log, because physical standby databases are not opened for read/write I/O."
    I have tried to drop these on the STANDBY when not in apply mode, but I get the following:
    SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
    Database altered.
    SQL> ALTER DATABASE DROP LOGFILE GROUP 3;
    ALTER DATABASE DROP LOGFILE GROUP 3
    ERROR at line 1:
    ORA-01275: Operation DROP LOGFILE is not allowed if standby file management is
    automatic.
    I also deleted them while the STANDBY instance was idle, but it recreated them when moved to MOUNT mode.
    So my question is why is my PHYSICAL recreating and using these, if the docs say the shouldn't?
    I saw the same error mentioned here: prob. with DataGuard
    Is this a case of the STANDBY needing at least a notion of where the REDO logs will need to be should a failover occur, and if the files are already there, the standby database CONTROLFILE will hold onto them, as they are not doing any harm anyway?
    Or, is this a prooduct of having management=AUTOMATIC - i.e. the database will create these 'automatically'
    Ta
    bt

    According to the 10g Dataguard docs, section 2.5.1:
    "Physical standby databases do not use an online redo log, because physical standby databases are not opened for read/write I/O."yes, those are used when database is open.
    You should not perform any changes in Standby. Even if those exist online redo log files, whats the difficulty you have seen?
    These will be used whenever you performed switchover/failover. So nothing to worry on this.
    Is this a case of the STANDBY needing at least a notion of where the REDO logs will need to be should a failover occur, and if the files are already there, the standby database CONTROLFILE will hold onto them, as they are not doing any harm anyway?Then oracle functionality itself harm if you think in that way. When they not used in open then what the harm with that?
    Standby_File_management --> for example if you add any datafile, those information will be in archives/redos once they applied on standby those will be added automatically when it is set to AUTO if its manual, then it creates a unnamed file in $ORACLE_HOME/dbs location later you have to rename that file and recovery need to perform .
    check this http://docs.oracle.com/cd/B14117_01/server.101/b10755/initparams206.htm
    HTH.

  • Commit Completes although current online redo log file have been removed.

    Although i have removed current online redo log file in linux os (Oracle Linux),when i type "commit" it says that "commit complete".
    Is this fair for this princip?*:" if Only when all redo records associated with a given transaction are safely on disk in the online logs is the user process notified that the transaction has been committed."*
    I think that it can lead to loss of data in some cases..I'm using Oracle 11g R2 on OEL (x64)..
    Can anyone explain me ? I'm getting stuck in this situation..
    P.S : I haven't multiplexed current ORL group files...

    Javid wrote:
    Although i have removed current online redo log file in linux os (Oracle Linux),when i type "commit" it says that "commit complete".
    Is this fair for this princip?*:" if Only when all redo records associated with a given transaction are safely on disk in the online logs is the user process notified that the transaction has been committed."*
    I think that it can lead to loss of data in some cases..I'm using Oracle 11g R2 on OEL (x64)..
    Can anyone explain me ? I'm getting stuck in this situation..
    In *nix, a file that is open by a process isn't really deleted until the process that has it completes.  So even though you 'deleted' a redo log, oracle is still holding it.  As soon as you stop your database (maybe even as soon as the db does a log switch) the redo will really be gone and no longer available.  consider the implications for archive logging.
    P.S : I haven't multiplexed current ORL group files...You need to fix that. the online logs are the achilles heel of the database. That's why it is standard practice to multiplex them.

  • Application of online redo logs

    Dear all,
    In my organisation recently standby database has been configured. Now my task is to restore a full online+redo backup which is created in primary database in the standby database. Once it is over I have to apply the newly created redo logs generated after the online backup.
    I am planning to restore the online+redo backup using the following command
    brrestore -b "BRBACKUP log file" -m full. Once it is done I have to apply the online redo logs. I am confused how to apply manually the newly created redo logs. Is there any document regarding it. I searched and found many information in net but nothing seems to be very convincing as this is a critical activity.
    Best Regards,
    Tapan

    Hello Tapan,
    > brrestore -b "BRBACKUP log file" -m full. Once it is done I have to apply the online redo logs.
    Bad idea, you need a standby controlfile and not a backup controlfile on the standby site.
    > I am confused how to apply manually the newly created redo logs. Is there any document regarding it.
    You can do this manually by your own or by Oracle Dataguard.
    I would suggest that you get a training on Oracle Dataguard and then you will understand the concepts and will be able to setup a DR solution. It makes not much sense to explain you all the steps and the functions, because of in a critical moment you should know what to do and why.
    If you really want to try it by your own - so start with this:
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14239/toc.htm
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14230/toc.htm
    Regards
    Stefan

Maybe you are looking for