Difference Between Redo logfiles,Undo Tablespace,Archive logfiles, Datafile

Can some please highlight difference between Redo and Undo logs
Also why do we need seperate archive logs when the data from redo logs can be directly written to Datafiles..
You help will be highly appreciated...

Also why do we need seperate archive logs when the data from redo logs can be directly written to Datafiles..
Redo logs are the transaction logs of yours database , it is exactly a recorder of yours database activity ,by using redo logs i can take my database to a particular state, for further detail lets take an example.
Suppose i have three disk (disk1,disk2 and disk3),i have one datafile in my database which is f1.dbf on my disk1,i have 2 redo log file i.e r1.log and r2.log which are on disk2.At disk3 i copy my database file f1.dbf from disk1 daily at 12:00 PM. On Monday i have successfully copied the f1.dbf file from disk1 to disk3 at 12:00 PM , at 1 PM on monday i insert some record in a table "test".
Insert into test values (1)
It means on monday at 1:00 PM within my datafile f1.dbf i have modified a block and this block contain the record of table test (1 values) , at 1:00 PM if you compare datafile f1.dbf at disk1 from disk3 , you will find only that f1.dbf will contain a new record of test table with values 1 but this will not be within backed up datafile f1.dbf at disk3 . At disk2 r1.log contain those record which i inserted on monday at 1:00 PM, it means i have redo (transactions log) of this datafile f1.dbf within r1.log, i can redo (again inserting) that record from redo log r1.log which i have done at 1:00 PM.
Suppose at 2 PM on monday my disk1 smoked out , if disk1 smoked out f1.dbf has been also smoked out , then what will i do , i will put a new hard disk disk4 and will copy the database file f1.dbf from backup disk3 , this f1.dbf would not have record of "Insert into test values (1)" which occured after backup at 1:00 PM.After coping f1.dbf to new hard disk disk4 i will start reading and applying my redo log file r1.log after 12:00 PM which contain the (redo entry i.e redo vectors) "insert into test values (1)" to my new restored file f1.dbf at new disk4 , in short it is going to replay from recorder of my transactions log (r1.log) and after applying the redo from r1.log i will have exact data before crashing the hard disk1 at 2:00 PM.The only purpose of redo log file in this scenario is to recover the database in case of media failure , if i do not have r1.log then i can only recover my database till 12:00 PM which was copied from disk1 to disk3 but this recovered backup file does not have entry of "insert into test values (1)", i can only bring back my database to before failure current backup at 12:00 PM not just exact before the failure.
You may think why the wastage of three disk for one information , one is at disk1 (f1.dbf),another one is at disk2 (r1.log) and last one is at disk3 for coping f1.dbf from disk1.You may think that it is ok with two disk (disk1 and disk3) why do we need another storage area for r1.log , basically r1.log is the transactions log until between yours current backup to the next backup.It does not contain the whole redo (transaction logs) of yours database but have information (transaction log) till yours next backup which is going to be start on next day tuesday at 12:00 PM ,when it gets filled it is switched to another redo log r2.log, when r2.log is filled then it switched back to r1.log , it overwrites whatever written at 12:00 PM "insert into test values (1)" with new database transactions , for the safety of this overcome this redo is archived and keep save till yours next backup.Redo log switching depneds on yours database transaction pace and its size, the more database activity the quickest redo filling and in turn redo log switching.
Thats all why we need redo and archived log files, as far as the data from redo logs can be directly written to Datafiles is wrong , whenever you do any activity i.e DML , this DML modify the two block one is in within DB buffer cache another one in redo buffer cache , at every 3 seconds or 1/3 filing of redo buffer or commit occurs whichever occur first LGWR write transactions log from redo buffer to online redo log file.
DBWR writes data (dirty buffer) from database buffer cache when checkpoint occurs (checkpointing a process which updates alls datafile headers with the SCN) before Oracle 8.0 it was LGWR which does the job of CKPT to update alls datafile header with SCN , but after Oracle 8.0 CKPT is now responsible to do this activity cause LGWR already keep involved in writing redo buffer data to redo log file.

Similar Messages

  • Difference between Technical and Business transaction archiving?

    Hi Guys,
    Can any one explain the difference between Technical and business transaction archiving with practical example?
    When we will go for Technical archiving and when we will go for business transaction archiving?
    Thanks,
    Vinod.

    Hello Vinod,
    To me, Archiving Objects can be separated into 3 categories; Technical, Master Data and Transactional.  Technical Archiving would include archive objects such as IDOC's, BC_SBAL (application logs), BDCLOGPROD (batch input logs), etc.  Master Data Archive Objects would include MM_MATNR (material master), FI_ACCPAYB (vendor master data), FI_ACCRECV (customer master data), etc.  And, Transactional Archive Objects would include FI_DOCUMNT (financial documents), SD_VBAK (sales orders), MM_EKKO (purchase orders), etc.
    Techincal Archive Objects usually are easier to implement and require less resources.  Master Data and Transactional Archive Objects usually take longer to implement as they will require business testing and sign-off.
    This is a high-level explanation and I hope it helps answer your questions.
    Best Regards,
    Karin Tillotson

  • Difference between running Disk Utility and "Archive and Install"

    Hi all,
    I'm one of the poor souls who is having trouble with the software update 10.4.6. My iMac stopped halfway while doing the update, and when it attempted to do a restart, the iMac froze. I did the mistake of forcing it to shutdown, instead of just letting it take its time.
    Last night, I attempted the Safe Boot but it did not work. The progress indicator kept on spinning for hours! SHOULD I TRY IT AGAIN?
    Also, can someone tell me the difference between unning Disk Utility and "Archive and Install"? I figure I might have to do one of them to repair my iMac. I just want to do something that will reduce the chances of me wiping out my files. I also have the TechTool Deluxe CD with me. Should I be using that instead?
    Please help.

    i just had a simialr issue with my powerbook. I stress similar, but in the end i had the same issue with the start up screen (light blue, apple icon and the spinning indicator below it. I could not get past it.
    I ran disk utility from the boot disk, and got a kernel panic on verifying and and repairing permissions.
    So (and this is what Im suggesting you try) in disk utility I made a disk image of my internal hard drive and saved it to an external hard drive. Takes a while but a worthy precaustion.
    Second I went ahead and installed the OS on the external drive. Once that was done I boted from the external to oprn the disk image back up of my powerbooks internal drive. After that checked out i wnet back to the boot disk and did a clean install of the OS (wiping the internal) and things were fine after that.
    maybe wait and see how other people respond to this before jumping into it, but its smart to back everything up on an external any day.
    much luck to you
    -justin!

  • Difference between switch logfile and checkpoint

    Hi All,
    what is the difference between
    Forcing log file switches:
    ALTER SYSTEM switch logfile;
    and
    ALTER SYSTEM checkpoint;
    when i should use one and not use the other
    Thanks very much

    I don't know that checkpoint will increase the scn. In a way it can be called correct but there are multitudes of SCN floating around. For example, for the matching of the datafiles and controlfles, there are two scn's which are used, stop scn and checkpoint scn. Than for the block, there can be , commit scn , transaction scn , High scn and low scn. There is one counter that is there for both checkpoint and SCN and checkpoint number is generated from SCN itself. I am sure that there is a missing link here some where but still, to some extent this is correct.
    Checkpointing is an event which happens at certain conditions and SCN is always there, just like in a clock, there is always a time.
    HTH
    Aman....

  • How the storage will be allocated on Undo tablespace made of datafiles?

    I have a UNDO tablespace with two data files. Wherein one data file with Auto Extend as Yes and other as No.
    In the case of multiple datafiles in UNDO tablespace,
    1. Will the storage be allocated of same size on each datafile ?
    2. What will be the case when the datafile with Auto Extent as NO reached it's max size?
    3. Will the storage be allocated proportion to the datafile size in each file?

    But when I use the following query, its not getting fired. Its taking "INDEX FULL SCAN"I would have thought that the later part of the above statement contradicts with the earlier part of the statement.
    its not getting firedcontradicts this statement:
    Its taking "INDEX FULL SCAN"Since the birth_dt is not the leading column of your index ...
    Is it doing a INDEX FULL SCAN on the GPM_PERSONPROFILEDEMO_DOB2_IDX index?
    if you have queries that involve profile_update_dt + birth_dt and some others that involve only birth_dt, then why not have the index in birth_dt + profile_update_dt instead?

  • Is there a Difference between permanent and default tablespace

    Hi Guys!
    Thanx.

    The segments which are permanent in a tablespace we called it as permanent tablespace.where as in case of temporary tablespace segments are for temporary purpose only.All the tablespaces in oracle are permanent tablespaces except temporary tablespace.There is no special clause to create permanent tablespace unlike temporary tablespace.I think you will nevr find a word permanent tablespace in any of the oracle documentation.We call permanent tableself ourself just for understanding.

  • Recovery lost  undo tablespace and Redo log

    Recovery undo tablespace
    [email protected]> shutdown
    Database closed.
    Database dismounted.
    ORACLE instance shut down.e
    [email protected]> exit
    Disconnected from Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
    With the Partitioning, OLAP and Oracle Data Mining options
    JServer Release 9.2.0.1.0 - Production
    [ora920@tkyte-pc-isdn ora920]$ ls
    control01.ctl cwmlite01.dbf indx01.dbf redo02.log redo0B.log temp01.dbf
    users01.dbf
    control02.ctl drsys01.dbf odm01.dbf redo03.log redo0C.log tools01.dbf
    xdb01.dbf
    control03.ctl example01.dbf redo01.log redo0A.log system01.dbf undotbs01.dbf
    [ora920@tkyte-pc-isdn ora920]$ mv undotbs01.dbf undotbs01.dbf.xxx
    [ora920@tkyte-pc-isdn ora920]$ sqlplus /nolog
    SQL*Plus: Release 9.2.0.1.0 - Production on Sat Sep 28 08:33:29 2002
    Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
    idle> connect / as sysdba
    Connected to an idle instance.
    idle> startup
    ORACLE instance started.
    Total System Global Area 143725064 bytes
    Fixed Size 451080 bytes
    Variable Size 109051904 bytes
    Database Buffers 33554432 bytes
    Redo Buffers 667648 bytes
    Database mounted.
    ORA-01157: cannot identify/lock data file 2 - see DBWR trace file
    ORA-01110: data file 2: '/usr/oracle/ora920/OraHome1/oradata/ora920/undotbs01.dbf'
    idle> show parameter undo
    NAME TYPE VALUE
    undo_management string AUTO
    undo_retention integer 10800
    undo_suppress_errors boolean FALSE
    undo_tablespace string UNDOTBS1
    idle> alter system set undo_management = manual scope=spfile;
    System altered.
    Note: disabling the undo tablespace here, this'll let us go back to "rollback segments"
    and we'll use the system RBS to get back on our feet
    idle> shutdown
    ORA-01109: database not open
    Database dismounted.
    ORACLE instance shut down.
    idle> exit
    Disconnected from Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
    With the Partitioning, OLAP and Oracle Data Mining options
    JServer Release 9.2.0.1.0 - Production
    [ora920@tkyte-pc-isdn ora920]$ !sql
    sqlplus /nolog
    SQL*Plus: Release 9.2.0.1.0 - Production on Sat Sep 28 08:35:34 2002
    Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
    idle> connect / as sysdba;
    Connected to an idle instance.
    idle> startup
    ORACLE instance started.
    Total System Global Area 143725064 bytes
    Fixed Size 451080 bytes
    Variable Size 109051904 bytes
    Database Buffers 33554432 bytes
    Redo Buffers 667648 bytes
    Database mounted.
    ORA-01157: cannot identify/lock data file 2 - see DBWR trace file
    ORA-01110: data file 2: '/usr/oracle/ora920/OraHome1/oradata/ora920/undotbs01.dbf'
    Note: we still have to get rid of that thing..
    idle> alter database datafile '/usr/oracle/ora920/OraHome1/oradata/ora920/undotbs01.dbf'
    2 offline drop;
    Database altered.
    idle> alter database open;
    Database altered.
    idle> drop tablespace undotbs1;
    Tablespace dropped.
    idle> create UNDO tablespace undotbs1
    2 datafile '/usr/oracle/ora920/OraHome1/oradata/ora920/undotbs01.dbf' size 25m
    3 autoextend on next 1m maxsize 1024m;
    Tablespace created.
    idle> alter system set undo_management = auto scope=spfile;
    System altered.
    Now, we've put the undo tablespace "back" by creating a new one. Just bounce...
    idle> shutdown
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
    idle> exit
    Disconnected from Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
    With the Partitioning, OLAP and Oracle Data Mining options
    JServer Release 9.2.0.1.0 - Production
    [ora920@tkyte-pc-isdn ora920]$ !sql
    sqlplus /nolog
    SQL*Plus: Release 9.2.0.1.0 - Production on Sat Sep 28 08:40:51 2002
    Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
    idle> connect / as sysdba;
    Connected to an idle instance.
    idle> startup
    ORACLE instance started.
    Total System Global Area 143725064 bytes
    Fixed Size 451080 bytes
    Variable Size 109051904 bytes
    Database Buffers 33554432 bytes
    Redo Buffers 667648 bytes
    Database mounted.
    Database opened.
    idle> show parameter undo
    NAME TYPE VALUE
    undo_management string AUTO
    undo_retention integer 10800
    undo_suppress_errors boolean FALSE
    undo_tablespace string UNDOTBS1
    idle>
    and we are right back where we started from
    RECOVERY REDO TABLESPACE
    STARTUP MOUNT;
    RESTORE DATABASE;
    RECOVER DATABASE UNTIL SEQUENCE $v_seq THREAD 1;
    ALTER DATABASE OPEN RESETLOGS;

    [email protected] wrote:
    just ignore first one like title
    Alter database open resetlog is not necessary to open database ?
    Regards
    kmphttp://download.oracle.com/docs/cd/B19306_01/backup.102/b14191/osrecov.htm#i1007426
    About Opening with the RESETLOGS Option
    The RESETLOGS option is always required after incomplete media recovery or recovery using a backup control file.
    You did not do an incomplete media recovery nor a recovery using a backup control file.

  • Switch undo tablespace

    Hello,
    I created a new undo tablespace and have successfully switched the database to use the new undo tablespace. Now I want to drop the old undo tablespace.
    What is the process for me to drop the old undo tablespace?
    Is it drop tablespace undotabsOLD; ? What are the 'gotachas' I should be aware before drop a tablespace that was unsed as an undo tablespace? Thank you in advance.

    undo_retention is not a 'gotcha' in this case,
    according the Oracle document I posted earlier,
    the undo tablespace is ready to be dropped when all active transactions gone. It will not wait for undo_retention
    see following examples,
    --Make a bigger retention just in case
    SQL> show parameter undo
    NAME                                 TYPE        VALUE
    undo_management                      string      AUTO
    undo_retention                       integer     3600
    undo_tablespace                      string      UNDOTBS_01
    -- Now create a new undo
    SQL> CREATE UNDO TABLESPACE undotbs_02
      2   DATAFILE '/u02/oradata/undo/undo2.dbf' SIZE 100M REUSE AUTOEXTEND ON
      3  /
    Tablespace created.
    --  Before we switch make an uncommited transaction on other session
    --  Then
    SQL> ALTER SYSTEM SET UNDO_TABLESPACE = undotbs_02;
    System altered.
    SQL> show parameter undo
    NAME                                 TYPE        VALUE
    undo_management                      string      AUTO
    undo_retention                       integer     3600
    undo_tablespace                      string      UNDOTBS_02
    -- Try to drop UNDOTBS_01
    SQL> drop tablespace UNDOTBS_01 including contents and datafiles
      2  /
    drop tablespace UNDOTBS_01 including contents and datafiles
    ERROR at line 1:
    ORA-30013: undo tablespace 'UNDOTBS_01' is currently in use
    -- Run a query to list PENDING OFFLINE rollback segments
    SQL> SELECT NAME, XACTS "ACTIVE TRANSACTIONS"
      2        FROM V$ROLLNAME, V$ROLLSTAT
      3        WHERE STATUS = 'PENDING OFFLINE'
      4          AND V$ROLLNAME.USN = V$ROLLSTAT.USN;
    NAME                           ACTIVE TRANSACTIONS
    _SYSSMU10$                                       1
    -- Now commit on other session
    SQL> select sysdate from dual
      2  /
    SYSDATE
    2007-06-21 03:49:49
    SQL> SELECT NAME, XACTS "ACTIVE TRANSACTIONS"
      2        FROM V$ROLLNAME, V$ROLLSTAT
       3       WHERE STATUS = 'PENDING OFFLINE'
      4          AND V$ROLLNAME.USN = V$ROLLSTAT.USN;
    NAME                           ACTIVE TRANSACTIONS
    _SYSSMU10$                                       0
    -- Wait a few seconds
    SQL> select sysdate from dual;
    SYSDATE
    2007-06-21 03:50:00
    SQL> SELECT NAME, XACTS "ACTIVE TRANSACTIONS"
      2    FROM V$ROLLNAME, V$ROLLSTAT
      3   WHERE STATUS = 'PENDING OFFLINE'
      4   AND V$ROLLNAME.USN = V$ROLLSTAT.USN;
    no rows selected
    -- NOW, drop the tablespace
    SQL> drop tablespace UNDOTBS_01 including contents and datafiles;
    Tablespace dropped.
    Done

  • (10gR2)Full UNDO tablespace

    (10gR2)Full UNDO tablespace
    ============================
    PURPOSE
    10gR2 에서 UNDO tablespace 을 NO AUTOEXTEND로 생성한 경우 ,
    transaction 이 실행중인 database 에서는 UNDO tablespace 가
    FULL인 현상을 보게 됩니다.
    이는 10gR2 에서 max retention 을 보장하는 undo retention 의
    메카니즘이 소개되어 autoextend off 인 경우의 UNDO tablespace
    에서 나타나는 현상입니다.
    dba_undo_extents 에서 많은 UNEXPIRED undo segment 가 보이는 것이
    확인되고 UNDO tablespace 가 100% full 인것처럼 나타나는 현상을 볼 수
    있으며 그럼에도 불구하고 ORA-1555 나 ORA-30036 에러는 발생하지 않습니다.
    Explanation
    다음과 같이 많은 UNEXPIRED undo segment 가 조회됩니다.
    SQL> select count(status) from dba_undo_extents where status = 'UNEXPIRED';
    COUNT(STATUS)
    463
    SQL> select count(status) from dba_undo_extents where status = 'EXPIRED';
    COUNT(STATUS)
    20
    SQL> select count(status) from dba_undo_extents where status = 'ACTIVE';
    COUNT(STATUS)
    21
    dba_free_space 을 조회 결과 UNDO tablespace 의 free space 가 존재합니다.
    SUM(BYTES)/(1024*1024) TABLESPACE_NAME
    3 UNDOTBS1
    58.4375 SYSAUX
    3 USERS3
    4.3125 SYSTEM
    103.9375 USERS04
    Transaction 이 실행되면 UNDO tablespace 에 free space 가 조회되지 않는
    FULL 인것처럼 보입니다.
    SUM(BYTES)/(1024*1024) TABLESPACE_NAME
    58.25 SYSAUX
    98 USERS3
    4.3125 SYSTEM
    87.9375 USERS04
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    다음은 AUM 에서의 Undo Block 할당 알고리즘은 다음과 같습니다.
    1. current extent 에 free block 이 있으면 다음 free block 이
    할당됩니다.
    2. 그러나, free block 이 없으면, next extent 가 expired 되었다면 next extent 을
    warp 한후 그 next extent 의 처음 block 을 return 합니다.
    3. 만약 next extent 가 expired 되지 않았다면 UNDO tablespace 로부터 먼저
    space 을 찾습니다. 이때 free extent 가 존재한다면 이를 transaction table 에
    할당하고 해당 next extent 의 첫번째 block 을 return 합니다.
    4. 만약 UNDO tablespace 에 free extent 가 없다면 offline 된 transaction table
    에서 steal 합니다.
    offline 된 transaction table 에서 extent 을 deallocate 한후 이를
    current transaction table 에 add한후 그 add 한 extent 의 첫번째 free block 을
    return 합니다.
    5. offline 된 transaction table 에서 찾을수 없으면 , online 되어 있는
    transaction table 에서 steal 합니다. offline 된 transaction table 에서 extent 을
    deallocate 한후 이를 current transaction table 에 add한후 , 그 add 한 extent 의
    첫번째 free block 을 return 합니다.
    6. 1번~5번 까지 하여도 free block 을 얻지 못하면 이제 UNDO tablespace 의 file 을
    extend 합니다.
    file 이 extend 된다면 이후 current transaction table 에 extent 을 add 한후 ,
    그 extent 의 첫번째 free block 을 return 합니다.
    7. 6번 에서 UNDO tablespace 의 file 을 extend 하지 못했다면 , 자기의 transaction table
    에서 unexpired 된 extent 을 재사용합니다. 그런데 이때 모든 extent 가 busy 하다면
    즉 모두 uncommitted 된 정보라면 8번으로 갑니다. 아니라면 wrap 하여 unexpired 된
    extent 을 사용합니다.
    8. offline 된 transaction table 에서 unexpired 된 extent 을 steal 합니다. 이것이
    실패한다면 online 된 transaction table 에서 unexpired 된 extent 을 steal 합니다.
    9. 8 번까지 수행하고도 free block 을 얻지 못하면 이때서야 오라클에서는
    "ORA-30036 unable to extend segment by %s in undo tablespace '%s' " 에러를
    뿌리며 실패합니다.
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    fixed size UNDO tablespace 라 함은 autoextend 가 off 라 datafile 을 자동으로
    더 이상 확장할 수 없음을 말합니다.
    autoextend 가 off 인 경우 10.2 부터는 max retention 이 36 시간 입니다.
    undo_retention 을 900 초(15 분) 으로 설정을 한다고 해도 10gR2 에서는
    max retention 이 36 시간이라 이에 해당하는 undo extent 을 UNEXPIRED 으로 만듭니다.
    그러나 이것이 가용한 undo extent 가 없다는 것이 아니고 , transaction 이 실행되게 되면
    UNEXPIRED undo segment 을 재사용하게 됩니다.
    References
    < Note 413732.1 - Full UNDO Tablespace In 10gR2 >

    A undo tablespace almost full is not necessarily a problem with Oracle 10g ... unless you have some ORA-XXXX errors in the database instance alert.log or in client programs connected to the instance. Is this the case ?
    You should also have a look to V$UNDOSTAT which stores undo statistics for the last 7 days.
    This view has also 2 interesting columns about possible errors related to undo space:
    SOLDERRCNT      NUMBER      Identifies the number of times the error ORA-01555 occurred. You can use this statistic to decide whether or not the UNDO_RETENTION initialization parameter is set properly given the size of the undo tablespace. Increasing the value of UNDO_RETENTION can reduce the occurrence of this error.
    NOSPACEERRCNT      NUMBER      Identifies the number of times space was requested in the undo tablespace and there was no free space available. That is, all of the space in the undo tablespace was in use by active transactions. The corrective action is to add more space to the undo tablespace.

  • What is the difference between undo tablespace and online redo log files.

    what is the difference between undo tablespace and online redo log files. I am confused
    as per my knowledge undo tablespace is used to store the undo information when a table is being updated so that, just incase we need to rollback a transaction we know what was present in the table earlier.
    when a transaction fails the SMON performs the rollback of the data.
    This undo data is stored in the undo tablespace and read consistency if any is enforced.
    is my understanding till here correct?
    Now, can this undo data/before image not be stored in the redo log buffer and online redolog files?
    can redo-log files not store this information?
    in fact, is it that when undo tablespaces exist in a database, the undo data/before image is stored in both the undo tablespace and also the redo log files?
    kindly clarify my doubt.
    thank you.

    This question has been asked many times before. The answer is always the same.
    Yes, redo contains the before image of data (and the after-image). Therefore, it **COULD** be used to roll back a transaction.
    BUT... Redo is written sequentially. Using it to rollback your transaction would involve reading through all the redo written by maybe thousands of other people. It would be painfully slow.
    Your transaction is, however, directly linked to just the UNDO that it generates (which is JUST the before image of the data). So, your undo is your undo and doesn't share space with anyone else's undo. Therefore, using it to roll back YOUR transaction is fast.
    The fact that undo is only the before image of the data also makes it faster than wading through a sea of before and AFTER images as you'd find in redo. About twice as fast, in fact, since there's half the data. Roughly.
    Redo also gets written and flushed to disk whenever there's a commit, 3 seconds are up or too much (1MB, actually) redo gets generated between flushes caused by other factors. Your redo gets flushed when those things happen, even if you haven't actually committed your transaction. And redo logs recycle themselves, meaning that your redo -even if your transaction hasn't been committed yet- can be over-written by later transactions. Try rolling back when that's happened, if redo was the source of your rollback data!
    Undo, however, cannot be over-written if the transaction has not been committed. Ever. If you don't commit for three years, there will be three years' undo stored in your database (assuming you had the space, of course!).
    I could go on, but that will do. Redo is there fore RECOVERY, after catastrophe. Undo is there for read-consistency (and the occasional change of mind). Two different functions. Two different mechanisms. Each one highly tuned to doing what it does, why it does it, most efficiently and effectively.

  • Difference Between Rollback Segments and UNDO Tablespace

    Hi guys,
    Can you tell difference between Rollabck segments and UNDO Tablespaces.
    I think that rollback Segemnts and UNDO tablespaces are similar both are used for storing before imags of data, which is going to be modified.
    but my question still both the rollback abck segments and UNDO tablespaces exists.
    why and what is the reason of both existing and at what time, we can use..them at which scenarios's
    Regards,
    Pavan Kumar N

    Undo segments in undo tablespaces, introduced in 9i, are the successor of rollback segments.
    They are automatically managed by Oracle.
    Rollback segments exist for reasons of backwards compatibility.
    That said, you should switch to undo segments and stop using rollback segments.
    Other than that: could you please avoid rehearsing the complete documentation in this forum?
    Sybrand Bakker
    Senior Oracle DBA

  • Db_writer_processes and the location of the redo logfile

    Is any beneficiary relationship between the number of the DBWR and the location of the redo logfiles? i.e if I spread out the redo logfile to several disks, will that benefit system with multiple DBWR? My system is 10g r2 on AIX 5.3 L with 4 CPU and 4 HDs (73.6 G each).
    Message was edited by:
    user508054

    Is any beneficiary relationship between the number of
    the DBWR and the location of the redo logfiles? i.e
    if I spread out the redo logfile to several disks,
    will that benefit system with multiple DBWR? NO. DBWR writes modified db buffers from the buffer cache to disk (datafiles). So multiple DBWn helps speed up the process (not for Redo Logs)
    One of the benefits you get from spreading out the redo logfile to several disks is easier recoverability against damage(with different log members on different disks). This is because LGWR (not DBWR) writes the same redo information to the multiple logfiles you greate.

  • REDO LOGFILES Backup

    Actually What  are Redo logfiles  .........?
    HOw can i take backup of Redo logfiles from SAP4.7 and ecc6.0 ............?
    And in  Real time scenario HOw often do we take backup of Redo logfiles.........?

    Hi Gibbs,
    Redolog files that will be containing the change log for database update.
    You can take backup of redolog files using BRTOOLS for ecc6 and SAPDBA for 4.7e.
    Normally it should be taken regularly to avoid archive stuck.Better you schedule it regularly using T-code DB13.
    check this link
    http://help.sap.com/saphelp_nw70/helpdata/EN/8c/09503e30a9d549e10000000a114084/content.htm
    Regards
    Ashok

  • Difference between roll back and undo segment.

    Hi ,
    Oracle 10.2.0.1.0
    whats the difference between roll back and undo segemnt ? are they one and same as per changing version of oracle ? please help

    Hi,
    Both will do the same functionality,but in oracle 9i they made it simplify ,because if u are using rollback segments ,u need to put them online in init.ora and u need to take care space management etc.
    so in oracle 9i they introduced undo tablespaces on that u can creage undo segments and space management will be take care by oracle managed files ,so its reduces the burden of dba
    Regards,
    Simma....

  • What is the difference between a tablespace, a segment and an extent ?

    What is the difference between a tablespace, a segment and an extent ? Please explain in layman terms since I'm a total newbie to Oracle.
    Regards
    Gony

    Hi,
    These are logical structure of database
    1. Tablespace : A database is divided into logical storage units called tablespaces, which group related logical structures together. For example, tablespaces commonly group together all application objects to simplify some administrative operations.
    2.Segments
    Above extents, the level of logical database storage is a segment. A segment is a set of extents allocated for a certain logical structure. The following table describes the different types of segments.
    Segment Description
    Data segment
    Each nonclustered table has a data segment. All table data is stored in the extents of the data segment.
    For a partitioned table, each partition has a data segment.
    Each cluster has a data segment. The data of every table in the cluster is stored in the cluster's data segment.
    Index segment
    Each index has an index segment that stores all of its data.
    For a partitioned index, each partition has an index segment.
    Temporary segment
    Temporary segments are created by Oracle when a SQL statement needs a temporary work area to complete execution. When the statement finishes execution, the extents in the temporary segment are returned to the system for future use.
    Rollback segment
    If you are operating in automatic undo management mode, then the database server manages undo space using tablespaces. Oracle Corporation recommends that you use "Automatic Undo Management" management.
    3. Extents
    The next level of logical database space is an extent. An extent is a specific number of contiguous data blocks, obtained in a single allocation, used to store a specific type of information.

Maybe you are looking for

  • Help with sending emails to multiple users.

    Currently we have a process to send mail to muliple users by looping through the list of users and sending each individual an email <Action id='1' name='sendEmail' application='com.waveset.provision.WorkflowServices'> <Argument name='op' value='notif

  • 6085 Memory Problem - need help

    I have a new 2 Gb memory card installed in my 6085.  I have formatted the card and loaded some music using PC Suite.  I can get around 550 Megs of music loaded and when I try to load the next song I get a message "...cannot copy ______ the device has

  • Now to configure Non Deductible VAT in SAP

    Dear Friends, I have one specific requirement for non deductible VAT. In this case the VAT amount should be posted to Inventory and credit to VAT payable account to create the liability. We have created the separate tax code and assigned with NVV wit

  • Sort Nested Object - 2 properties

    Hello, I am trying to sort based on a few properties of an object. The only issue i am having is the properties are within a nested object. For example. I would like to stort the following object by StreetNumber and StreetName, but these properties a

  • Click wheel won't work and battery discharges

    My iPod is about two years old, so way past the warranty. Neither the click wheel nor the button will respond anymore. It does still respond to the hold switch, as toggling it will cause the icon on the display to change and turn on the backlighting.