Fundamental questions on redo logs and rollbacks

Hi all,
Some basic questions, I really want to understand it very clearly.
Suppose that we have updated few records in a table. We know that the blocks to be updated will be fetched into buffer cache, they will be updated with new value and commited eventually. The questions I have are ,
1) What exact information will go to redo log ? is it a copy of the block before change and copy of the block after change ?
2) What exactly goes to rollback segment? is it copy of block before change (for update) and just the rowid for inserted row and the copy of block for a deleted row ?
3) Whatever we do, is it the whole block that goes to redo or rollback ? Means if there are 10 rows in the block and we update one of them, still whole block goes to redo or rollback ?
4) If we rollback, what goes where ? Is there anything that goes to redo if we rollback ?
Please explain.
Thanks.

Redo stores changes made in the database, and undo/rollback stores the reverse of those changes. Data blocks may be changed prior to a commit, and recorded in both locations.
So, when a database is recovered, redo is applied to the backup datafiles, rolling every change forward, and then undo is applied to reverse any uncomitted transactions.
Undo/rollback can also be used simply to roll back a transaction in an active instance. Redo is only used during instance recovery.
I don't know if this is tracked via the storage of block images, or if it just stores the change itself.
-cf

Similar Messages

  • Best practice - online redo logs and virtualization

    I have a 10.1.0.4 instance (soon to be migrated to 11gr2) running under Windows Server 2003.
    We use a non-standard disk distribution scheme -
    on the c: drive we have oracle_home as well as directories for control files and online redo logs.
    on the d: drive we have datafiles
    on the e: drive we have archive log files and another directory with online redo logs and another copy of control file
    my question is this:
    is it smart practice to have ANY online redo logs or control file on the same spindle with archive logs?
    Our setup works fairly well but we are in the process of migrating the instance first to ESX server and SAN and then secondly to 11gtr2 64bit under server 2008 64 and when we bring up our instance on the VM for testing we find that benchmarking the ESX server (dual Xeon 3.4ghz with 48gb RAM running against FalconStor NSS SAN with 15k SAS disks over iSCSI) against the production physical server (dual Xeon 2.0ghz with 4gb RAM using direct attached SATA 7200rpm drives) we find that some processes run faster on the ESX box and some run 40-100% slower. Running Statspack seems to identify lots of physical read waits as well as some waits for redo and controlfiles.
    Is it possible that in addition to any overhead introduced by ESX and iSCSI (we are running Jumbo Frames over 1gb) we may have contention because the archive logs are on the same "spindle" (virtual) as the online redo and control files?
    We're looking at multiple avenues to bring the 2 servers in line from a performance standpoint - db configuration, memory allocation, possible move to 10gb network, possible move to SSD storage tray, possible application rewrites. But from the simplest low hanging fruit idea, if these files should not be on the same spindle thats an easy change to make and possibly eke out an improvement.
    Ideas?
    Mike

    Hi,
    "Old" Oracle standard is to use as many spindles as possible.
    It looks to me, you have only 1 disk with several partitions on it ??
    In my honest opinion you should anyway start by physically seperating OS from Oracle, so let the C: drive to the Windows OS
    Take another physical seperate D: drive to install you application.
    Use yet another set of physical drives, preferably in RAID10 setup, for your database and redo logs
    And finally yet another disk for the archive logs.
    We have recently configured a Windows 2008 server with an 11G Db, which pretty much follows the above setup.
    All non RAID10 disks are RAID1 ( mirror ) and we even have some SSD's for hot tables and redo-logs.
    The machine, or must I say the database, operates like a high speed train, very, very fast.
    Ofcourse keep in mind the number of cores ( not only for licensing ) and the amount of memory.
    Try to prevent the system from swapping, because that is a performance killer!
    Edit: And even if you put a virtual layer in between, try to seperate the virtual disks as much as possible over physical disks
    Success!
    FJFranken
    Edited by: fjfranken on 7-okt-2011 7:19

  • 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

  • Multiplexing redo logs and control files to a separate diskgroup

    General question this one...
    I've been using ASM for a few years now and have always installed a new system with 3 diskgroups
    +DATA - for datafiles, control files, redo logs
    +FRA - for achive logs, flash recovery. RMAN backup
    Those I guess are the standards, but I've always created an extra (very small) diskgroup, called +ONLINE where I keep multiplexed copies of the redo logs and control files.
    My reasoning behind this is that if there are any issues with the +DATA diskgroup, the redo logs and control files can still be accessed.
    In the olden days (all those 5 years ago!), on local storage, this was important, but is it still important now? With all the striping and mirroring going on (both at ASM and RAID level), am I just being overtly paranoid? Does this additional +ONLINE diskgroup actually hamper performance? (with dual write overheads that are not necessary)
    Thoughts?

    Some of the decision will probably depend on your specific environment's data activity, volume, and throughput.
    Something to remember is that redo logs are sequential write, which benefit from a lower RAID overhead (RAID-10, 2 writes per IOP vs RAID-5, 4 writes per IOP). RAID-10 is often not cost-effective for the data portion of a database. If your database is OLTP with a high volume of random reads/writes, you're potentially hurting redo throughput by creating contention on the disks sharing data and redo. Again, that depends entirely on what you're seeing in terms of wait events. A low volume database would probably not experience any noticeable degraded performance.
    In my environment, I have RAID-5 and RAID-10 available, and since the RAID-10 requirement from a capacity perspective for redo is very low, it makes sense to create 2 diskgroups for online redo, separate from DATA, and separate from each other. This way, we don't need to be concerned with DATA transactions impacting REDO performance, and vice versa, and we still maintain redo redundancy.
    In my opinion, you can't be too paranoid. :)
    Good luck!
    K

  • Disk array configurations with oracle redo logs and flash recovery area.

    Dear Oracle users,
    We are planning to buy the new server for oracle database 10g standard edition. We put oracle database file, redo logs, and flash recovery area on each of disk array. My question is what is the best disk array configuration for redo logs and flash recovery area? RAID 10 or RAID 1? Is that possible we can duplicate Flash recovery area to the other location (such as net work drive) at the same time? Since we only have single disk array controller to connect to the disk arrays, I am try to avoid the single failure that will lose archive logs and daily backup.
    thanks,
    Belinda

    Thank you so much for the suggestion. Could you please let me know the answer for my question of FRA redundancy?
    “Is that possible we can duplicate Flash recovery area to the other location (such as net work drive) at the same time? Since we only have single disk array controller to connect to the disk arrays, I am try to avoid the single failure that will lose archive logs and daily backup.”

  • 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

  • Redo Log and Supplemental Logging related doubts

    Hi Friends,
    I am studying Supplemental logging in detail. Have read lots of articles and oracle documentation about it and redo logs. But couldnot found answers of some doubts..
    Please help me clear it.
    Scenario: we have one table with primary key. And we execute an update query on that table which is not using the primary key column in any clause..
    Question: In this case, does the redo log entry generated for the changes done by update query contain the primary columns values..?
    Question: If we have any table with primary key, do we need to enable the supplemental logging on primary columns of that table? If yes, in which circumstances, do we need to enable it?
    Question: If we have to configure stream replication on that table(having primary key), why do we actually need to enable its supplemental logging ( I have read the documentation saying that stream requires some more information so.., but actually what information does it need. Again this question is highly related to the first question.)
    Also please suggest any good article/site which provide inside details of redo log and supplemental logging, if you know.
    Regards,
    Dipali..

    1) Assuming you are not updating the primary key column and supplemental logging is not enabled, Oracle doesn't need to log the primary key column to the redo log, just the ROWID.
    2) Is rather hard to answer without being tautological. You need to enable supplemental logging if and only if you have some downstream use for additional columns in the redo logs. Streams, and those technologies built on top of Streams, are the most common reason for enabling supplemental logging.
    3) If you execute an update statement like
    UPDATE some_table
      SET some_column = new_value
    WHERE primary_key = some_key_value
       AND <<other conditions as well>>and look at an update statement that LogMiner builds from the redo logs in the absence of supplemental logging, it would basically be something like
    UPDATE some_table
      SET some_column = new_value
    WHERE rowid = rowid_of_the_row_you_updatedOracle doesn't need to replay the exact SQL statement you issued, (and thus it doesn't have to write the SQL statement to the redo log, it doesn't have to worry if the UPDATE takes a long time to run (otherwise, it would take as long to apply an archived log as it did to generate the log, which would be disasterous in a recovery situation), etc). It just needs to reconstruct the SQL statement from the information in redo, which is just the ROWID and the column(s) that changed.
    If you try to run this statement on a different database (via Streams, for example) the ROWIDs on the destination database are likely totally different (since a ROWID is just a physical address of a row on disk). So adding supplemental logging tells Oracle to log the primary key column to redo and allows LogMiner/ Streams/ etc. to reconstruct the statement using the primary key values for the changed rows, which would be the same on both the source and destination databases.
    Justin

  • Location of Redo log and control files?

    Dear all,
    I am checking the location of redo log and control files, but found that the redo log file (like log02a.dbf ....) in the same directory of data files. However, I couldn't find any control files in the data files directries.
    What could be the location of control files?
    Amy

    select name
      from v$controlfile
    or
    show parameter control_filesKhurram

  • Redo logs and Flash recovery area

    Hi,
    Is it a good practice to place a copy of the (multiplexed) online redo at the flash recovery area? Wouldn't it be better to place a copy of the archived log at the flash recovery area?

    user492400 wrote:
    Hi,
    Is it a good practice to place a copy of the (multiplexed) online redo at the flash recovery area? Wouldn't it be better to place a copy of the archived log at the flash recovery area?Its not only the archvielogs that should be placed in the FRA. FRA is supposed to contain one copy of the archive logs and the rest 9 destinations are given to you for the multiplexing of it. The idea of multiplexing the redo logs and placing them anywhere( not just on the FRA itself) is simply required so that you won't get to a situation where you would lose all the redo log files and thus have to recreate them, losing the data inside them. So aleast one copy of the log files should be there and where you want to put it, that would depend on you.
    HTH
    Aman....

  • Dataguard lost both Primary redo log and standby redo log files

    Hi,
    I am new to data guard, i came acorss a scenario where we loose both primary redo log file and standby redo log files.
    Can someone please help me understand how to recover from this situation.
    Thanks!

    >loose both primary redo log file and standby redo log files
    We have to be very clear.
    There are (set A) online redo log files  and (set B) standby redo log files at (location 1) Primary and (location 2) Standby.
    The standby redo log files, depending on the configuration, aren't strictly mandatory.  The standby can be applying redo without online redo log files present as well, depending on how it was setup.
    So, the question is  : Did you lose online redo log files at the primary ?  Didn't the primary shutdown itself then ? If so, you have to do an incomplete recovery at the primary OR switch over to the standby (which may or may not have received the last transaction, depending on how it was configured and operating)   OR restore from the standby (again, with possible loss of transactions) to the primary.
    Hemant K Chitale

  • ......Redo  Log and Recovery

    Hi,
    I am a bit confused on the Oracle Recovery structure. As far as we know, whenever oracle updates a row, it writes the new value in the DB Buffer Cache, Old value in the Undo Segment. Which value is then written in the Logfiles or the Logbuffer? How they can be used as recovery structure. Do they contain Old Value or the New Value.
    Your kind response will help most of us as we normally forget these basic things.
    It would be best if you can highlight the steps and values etc .
    Thanks once again:

    Redo logs contain two kinds of statements.
    SQL_UNDO and SQL_REDO
    SQL_UNDO is the statement which will revert the particular transaction (required if you need to rollback)
    SQL_REDO is the statement which will complete the transaction (required if you roll forward).
    Archive logs can be used via log miner to find out what was the statement fired to get the table to a particular state (lengthy job though).

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

  • Multiplex Redo Logs and Control File

    I am wanting to setup an existing Oracle Express 10g instance to multiplex the redo log files and the control file.
    Instance is using Oracle-Managed Files and the Flash Recovery Area.
    With these options being used what are the steps required to setup multiplexing?
    I tried setting the DB_CREATE_ONLINE_LOG_DEST_1 and DB_CREATE_ONLINE_LOG_DEST_2 parameters but this doesn't appear to have worked (I even bounced the db instance).
    BTW, the DB_CREATE_FILE_DEST is set to null and the DB_RECOVERY_FILE_DEST is set to the flash recovery area.
    Any help is much appreciated.
    Regards, Sheila

    Thanks for this. My instance originally had two log groups so I've added a new member to each group into the same flash recovery area directory, but have assigned a name. Is this why when I query v$logfile the is_recovery_dest_file is set to NO? Is it ok to assign a name & directory and if not, how do you add a new memeber and allow Oracle-Managed files to name them?
    Also, how can I check that the multiplexing is working (ie the database is writing to both sets of files)?
    Thanks again.

  • Question on Redo logs in RAC

    DB version:11.2
    Platform : Solaris 10
    We create RAC DBs manually. Below is a log of the DB creation from Node1 . Instance in Node2 is not yet created (only binary is installed in Node2).
    SQL> conn / as sysdba
    Connected to an idle instance.
    SQL> startup nomount pfile=/u03/oracle/11.2/db_1/dbs/initnehprd1.ora
    ORACLE instance started.
    Total System Global Area 1252643278 bytes                                      
    Fixed Size                  2219208 bytes                                      
    Variable Size             771752760 bytes                                      
    Database Buffers          469762048 bytes                                      
    Redo Buffers                8929280 bytes  
    SQL> CREATE DATABASE nehprd MAXINSTANCES 8 MAXLOGFILES 16 MAXLOGMEMBERS 4 MAXDATAFILES 1024
      2  CHARACTER SET AL32UTF8 NATIONAL CHARACTER SET AL16UTF16
      3  DATAFILE '+DG_DATA01/nehprd/nehprd_system01.dbf' SIZE 1000m EXTENT MANAGEMENT LOCAL
      4  SYSAUX DATAFILE '+DG_DATA01/nehprd/nehprd_sysaux01.dbf' SIZE 600m
      5  DEFAULT TEMPORARY TABLESPACE temp
      6  TEMPFILE '+DG_DATA01/nehprd/nehprd_temp01.dbf' SIZE 2000m EXTENT MANAGEMENT LOCAL UNIFORM SIZE 5m
      7  UNDO TABLESPACE undotbs11 DATAFILE '+DG_DATA01/nehprd/nehprd_undotbs1101.dbf' SIZE 700m
      8  LOGFILE
      9          GROUP 1 ('+DG_DATA01/nehprd/nehprd_log01.dbf') SIZE 150m,
    10          GROUP 2 ('+DG_DATA01/nehprd/nehprd_log02.dbf') SIZE 150m,
    11          GROUP 3 ('+DG_DATA01/nehprd/nehprd_log03.dbf') SIZE 150m
    12  /
    Database created.
    Elapsed: 00:00:18.95
    SQL> CREATE UNDO TABLESPACE undotbs12 DATAFILE '+DG_DATA01/nehprd/nehprd_undotbs1201.dbf' SIZE 700m;
    Tablespace created.
    Elapsed: 00:00:01.30
    SQL> ALTER DATABASE ADD LOGFILE thread 2 GROUP 4 '+DG_DATA01/nehprd/nehprd_log04.dbf' SIZE 150m;
    Database altered.
    Elapsed: 00:00:00.25
    SQL> ALTER DATABASE ADD LOGFILE thread 2 GROUP 5 '+DG_DATA01/nehprd/nehprd_log05.dbf' SIZE 150m;
    Database altered.
    Elapsed: 00:00:00.43
    SQL> ALTER DATABASE ADD LOGFILE thread 2 GROUP 6 '+DG_DATA01/nehprd/nehprd_log06.dbf' SIZE 150m;
    Database altered.But after the above activity, the following log files are created in the DB.
    6 log groups for each Instance and they all are on the same location +DG_DATA01/nehprd  !
    INST_ID     GROUP# STATUS  TYPE             MEMBER                                   IS_
             1          1         ONLINE  +DG_DATA01/nehprd/nehprd_log01.dbf             NO
             1          2         ONLINE  +DG_DATA01/nehprd/nehprd_log02.dbf             NO
             1          3         ONLINE  +DG_DATA01/nehprd/nehprd_log03.dbf             NO
             1          4         ONLINE  +DG_DATA01/nehprd/nehprd_log04.dbf             NO
             1          5         ONLINE  +DG_DATA01/nehprd/nehprd_log05.dbf             NO
             1          6         ONLINE  +DG_DATA01/nehprd/nehprd_log06.dbf             NO
             2          1         ONLINE  +DG_DATA01/nehprd/nehprd_log01.dbf             NO
             2          2         ONLINE  +DG_DATA01/nehprd/nehprd_log02.dbf             NO
             2          3         ONLINE  +DG_DATA01/nehprd/nehprd_log03.dbf             NO
             2          4         ONLINE  +DG_DATA01/nehprd/nehprd_log04.dbf             NO
             2          5         ONLINE  +DG_DATA01/nehprd/nehprd_log05.dbf             NO
             2          6         ONLINE  +DG_DATA01/nehprd/nehprd_log06.dbf             NO How was redo log group 4,5,6 created for thread 1 and how was redo log group 1,2,3 created for thread 2 ?

    Hi,
    To make things worse, when you query v$logfile , It will show 6 redo logfiles belonging to 6 redo groups for each instance.The fact that it shows all groups of redo does not mean it belongs to that instance. Try to query v$database or v$datafile, this means that database/datafiles belongs to only one instance, of course not.
    Isn't this a bit of a bug ?Of course not. It's concept.
    To understand it you need understand the difference between instance and database. An database (i.e files) can be opened by many instances.
    An Oracle database server consists of a database and at least one database instance (commonly referred to as simply an instance). Because an instance and a database are so closely connected, the term Oracle database is sometimes used to refer to both instance and database. In the strictest sense the terms have the following meanings:
    Database
    A database is a set of files, located on disk, that store data. These files can exist independently of a database instance.
    Database instance
    An instance is a set of memory structures that manage database files. The instance consists of a shared memory area, called the system global area (SGA), and a set of background processes. An instance can exist independently of database files.
    Database: (v$database)
    CONTROLFILE (v$controlfile)
    DATAFILE (v$datafile)
    ONLINELOG (v$logfile,v$log)
    ARCHIVELOG (v$archivelog)
    SPFILE
    These views above will show the same values in either instance, because if the file (database) is changed it is modified in all instances. That's means you not need use gv$ because the information are the same in all instances, also you not need get info connecting in each instance querying theses v$ because the inf are the same independent of the instance
    Instances: (v$instance)
    PARAMETERS (v$parameter)
    MEMORY STRUCTURE (e.g v$session)
    The view v$session will show information about sessions from that instance only. In RAC each instance have you own info about session so you will need query gv$session because it get information about session from others instances.
    The fact that each instance assign its own REDO/UNDO not mean they are part of the instances, REDO/UNDO are part of Database. They can be write by assigned instance and read by all instance (just it)
    It's not a bug when you query v$datafile, v$logfile, v$controlfile in all instances you will get same result, because it's the DATABASE. (An database (i.e files) can be opened by many instances).
    Levi Pereira

  • How could I find specified date of REDO log and archive REDO log ?

    we use Oracle11gr2 on win2008R2.
    1
    How could I find specified date of REDO log(2013/10/17,etc) and archive REDO log ?
    2
    What is the format of archive REDO log.? (zipped file ?)

    user12075536123 wrote:
    1)
    select * from v$archived_log;
    select * from v$log_history;
    but there is a possibility there is no old data
    below contains no filename column
    SQL> desc v$log_history
    Name                                      Null?    Type
    RECID                                              NUMBER
    STAMP                                              NUMBER
    THREAD#                                            NUMBER
    SEQUENCE#                                          NUMBER
    FIRST_CHANGE#                                      NUMBER
    FIRST_TIME                                         DATE
    NEXT_CHANGE#                                       NUMBER
    RESETLOGS_CHANGE#                                  NUMBER
    RESETLOGS_TIME                                     DATE
    there is NO data when archive mode is disabled

Maybe you are looking for

  • Downgrade multiple .pdf files to ver 5 compatibility

    I'm looking for a way to script or at least manually in bulk convert multiple .pdf files created using Acrobat pro V9 down to a Acrobat V5 compatible format. I have an automated OCR application that can't yet read higher than that version. We have se

  • Erratic pointer movement w/ Illustrator

    I work a lot with Photoshop and Illustrator and have noticed that my "pointer" is errantic when trying to select and/or move vector points in Illustrator. The only way to eliminate this problem is to go into System's "Accessibility" icon and change m

  • Broken screen...help!

    i don't know how or what happend but i whent to use my ipod after i whent like a week with out using it and the screen was broke. there is a little ink blotch under the screen. i asume i have to send it to apple. can they fix it and about how much wi

  • Itunes registry errors

    Registry error in my itunes and I have tried to reinstall a number of times and it doesn't fix it.

  • Considering stocks of both plants in special procure. type scenario.-urgent

    Hi dudes, Our client is using special procurement type 80(prod.in alternative plant), he is getting planned order in delivering plant as requirement generated by planning plant. while running MRP in both plants, it would consider only the stock of pl