Excessive generation of Redo and Undo

Hi,
In the application we are trying to update 5500 records, application has the facility to submit a batch job, which is still running for nearly 5 hours, and it has already generated 10 GB of redo and 5 GB of undo, until now only nearly 4000 records have been processed.
Before we have updated nearly 25K-30K records and they took only half hour max. to finish processing.
We have not applied any patch nor there is any change in the application.
What exactly is causing so much redo and undo to be generated, how can I identify the problem area?
Please advice.
Database version 10.2.0.2 on Win2K3

No, I confirmed no backup was/is running, again there is no change in the DATA or the conditions (as I mentioned earlier it's a sorta batch facility provided by the application), however, I found out that the custom table being used by the application is using is not having appropriate indexes on it, but right now the table is locked and I can't create the correct index, having said that,
what I can think of is that since it's performing FTS, I notice "db file sequential read", that's ok that it'll take a long time to finish, but then why so much of UNDO and REDO?
I further confirm there are no other processes running.
SGA_TARGET = 1200M
shared pool                                                             472
large pool                                                               16
java pool                                                                 8
streams pool                                                             16
DEFAULT buffer cache                                                    760
log_buffer 6984704

Similar Messages

  • Redo and undo operations in lingo.

    I wanted to know how you people develop redo and undo method in a director project using lingo? Is there any standard function which keeps track of user interactions and provide the traditional method of redo and undo? Else should i develop a own logic? I'm new to lingo programming, so asking you experienced people how to go about it?

    Thanks, finally i was able to create undo operation in lingo! Lists are very helpfull in lingo, i got to know these just after coding undo action, i was able to create with counters and two lists.
    Here is just sample i did, not too great though!
    global clicklist, counter, undolist, undocounter
    on mouseUp me
    -- store values in variables for undo operation
      spriteName = undolist.getAt(undocounter - 2)
      spriteX = undolist.getAt(undocounter - 1)
      spriteY = undolist.getlast(undocounter) 
      sprite(spriteName).loc = point(spriteX, spriteY)
      undolist.deleteAt(undocounter)
      undolist.deleteAt(undocounter-1)
      undolist.deleteAt(undocounter-2)
      undocounter = undocounter - 3
    end

  • Why can't i redo and undo on indesign?

    i recently downloaded indesign and i can not redo or undo

    Drag to the desktop first, that downloads the photo. Then from the desktop into iPhoto.

  • Segment shrinking and UNDO tablespace

    When i issued
    alter table <table_name> shrink space cascade;
    I got the error 'Unable to extend UNDO ...by 8' . Does Segment shrinking consume space from UNDO tablespace?
    Message was edited by:
    for_good_reason

    As Jonathan said, shrinking segment generates redo and undo data.
    But, this phoenomenon of undo shortage is not normal case.
    Shrinking segment might invole continous DML(deleting and re-inserting),
    but it's transaction seems to be committed internally at regular intervals.
    For this reason, shrinking operation should not hold undo area that long.
    But have no knowledge on exact behavior of shrink operation.
    Someone else will shed a light.
    How big your table and indexes?
    Some cases are reorted that shrinkage on big segment generates really large amount of undo data.
    This might be related with your problem. But not sure.
    Visit metalink note# 3888229.

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

  • High REDO Generation for enqueue and dequeue

    Hi,
    We have found high redo generation while enqueue and dequeue. Which is in-turn affecting our database performance.
    Please find a sample test result below :
    Create the Type:-
    CREATE OR REPLACE
    type src_message_type_new_1 as object(
    no varchar(10),
    title varchar2(30),
    text varchar2(2000))
    Create the Queue and Queue Table:-
    CREATE OR REPLACE procedure create_src_queue
    as
    begin
    DBMS_AQADM.CREATE_QUEUE_TABLE
    (queue_table => 'src_queue_tbl_1',
    queue_payload_type => 'src_message_type_new_1',
         --multiple_consumers => TRUE,
         compatible=>10.1,
         storage_clause=>'TABLESPACE EDW_OBJ_AUTO_9',
    comment => 'General message queue table created on ' ||
    TO_CHAR(SYSDATE,'MON-DD-YYYY HH24:MI:SS'
         commit;
    DBMS_AQADM.CREATE_QUEUE
    (queue_name => 'src_queue_1',
    queue_table => 'src_queue_tbl_1',
    comment => 'Test Queue Number 1'
         commit;
    dbms_aqadm.start_queue
    ('src_queue_1');
         commit;
    end;
    Redo Log Size:-
    select
    n.name, t.value
    from
    v$mystat t join
    v$statname n
    on
    t.statistic# = n.statistic#
    where
    n.name = 'redo size'
    Output:-
    595184
    Enqueue Message into the Queue Table:-
    CREATE OR REPLACE PROCEDURE enque_msg_ab
    as
    queue_options DBMS_AQ.ENQUEUE_OPTIONS_T;
    message_properties DBMS_AQ.MESSAGE_PROPERTIES_T;
    message_id raw(16);
    my_message dev_hub.src_message_type_new_1;
    begin
    my_message:=src_message_type_new_1(
    '1',
    'This is a sample message',
    'This message has been posted on');
    DBMS_AQ.ENQUEUE(
    queue_name=>'dev_hub.src_queue_1',
    enqueue_options=>queue_options,
    message_properties=>message_properties,
    payload=>my_message,
    msgid =>message_id);
    commit;
    end;
    Redo Log Size:-
    select
    n.name, t.value
    from
    v$mystat t join
    v$statname n
    on
    t.statistic# = n.statistic#
    where
    n.name = 'redo size'
    Output:-
    596740
    Can any one tell us the reason for this high redo generation and how can this can be controlled?
    Regards,
    Koushik

    Please find my answers below :
    What full version of Oracle?
    - 10.1.0.5
    How large is the average message?
    - in some byets only, at max 1-2 KB and not more than this.
    What kind of performance problem is 300G of redo causing? How? Have you ran a statspack report? What did it show?
    - Actually we are facing some performance issue as a overall prespective for our daily batch processing, which now causing a delay in the batch SLA. So we have produced an AWR report for our database and from there we have found that total redo generation is around 400 GB, amoung which 300 GB has been generated by enqueue-dequeue process.
    What other activity is taking place on this instance? That is, is all this redo really being generated as the result of the AQ activity or is some of it the result of the messages being processed? How are the messages created?
    - Normal batch process everyday. Batch process also generates REDO but the amount is low compare to enqueue-dequeue process.
    Have you looked at providing a separate physical disk stripe for the online redo logs and for the archive log location from the database data file physical disk and IO channels?
    - No, as we are not the production DBA so we don't have the direct access to production database.
    What kind of file system and disk are you using?
    - I am not sure about it. I will try to confirm it by production DBA. Is there any other way to find it out, whether it is on filesystem or raw device?
    Can you please provide any help in this topic.
    Regards,
    Koushik

  • Redo and standby

    Hi Gurus!
    Let's assume this question is for 10.2.0.4 which seems to be the most common edition out there right now despite end of support coming up quicky...
    My question is regarding redo and standby. As I understand, the standby will receive redo from the primary (I am not interested in which MAXIMUM mode its in right now) via the Redo Transport Service.
    This "redo", this is redo from the redo log file or the redo buffer?
    As I understand, the redo logs contain committed and uncommitted changes (LGWR writing out to the discs).
    So when we talk about "redo" being sent to the secondary, we are actually considering uncommitted and committed changes??
    Could this be clarified please?
    Many thanks!
    DA

    Yes the redo protocol sent to the standby contains change vectors of block changes on behalf of committed & uncommitted transactions.
    It is (in case of physical standby) applied in exactly the same way as archivelogs and online logs are applied during recovery. We just do the same block modifications on the standby as on the primary and do not care about commit.
    Should we ever need to open the standby, then the before images (undo) of blocks that have been modified on behalf of uncommitted transactions get used to rollback these changes. So in the end, only committed transactions are seen.
    Kind regards
    Uwe Hesse
    http://uhesse.wordpress.com

  • DBWn and Undo

    Hello,
    I have an Oracle concept's question.
    I've read "Concepts" doc and some forum messages, but one thing is still not clear to me.
    I change data in the table (insert or update). Undo data are generated, LGWR writes redo and suppose that DBWN has already been writing blocks to datafiles. So there are some uncommitted data in the datafiles. In the end I rollback the transaction, so those new data should be erased from datafiles, right?
    How is it working? How Oracle know what to erase?
    Thx in advance
    A.

    Hi,
    Things are not that simple as they look.When you change some thing, Oracle first tries to find the block that you are willing to modify.When it gets the block either in the cache or by a physical read from the datafile to the cache, the transaction header of the block is checked and your transaction occupies some thing called ITL(interested transaction list) slot and maintains over there ITE(Interested transaction entry).For the same Oacle maintains an entry in the UNDO block and there it updates the information of your old image.The same information is maintained in V$transaction and X$ktuxe table.From there than Oracle update teh log buffer and maintains the change entry over there.Oracle maintains some thing called RBA(redo byte address) in your block header from where it knows where is the changed entry of your transaction is maintained in the redo plus it is also having an info where does your undo image is maintainesd in the same transaction header in a portion called UBA(undo byte address).From here Oracle knows that using the info that is stored at this location, it has to rollback the transaction in case we discard the transaction.Now if your block is in the cache only then there isnot much issue.Oracle will discard your snapshot blocks(CR blocks) releases teh ITL enteries and thus updates that the transaction is over.Also from the undo the information will be released/erased that the block is now not a part of transaction.If your block was flushed to the hard disk before the rollback happened, then some thing called Delayed block clean out will kick in.Wehn you would issue the rollback, Oracle will release the undo trnsacation table saying that the transaction is over but it will not immediately go to the datafile to update the block header for the same.It will cause too much of the physical IO forOracle to do.So whenthe next time you would pull the block, SCNs will be matched and if Oracle finds that there is still an active transaction entry maintained in the block heder, it will verify it from the undo that whether we have to use some old consistent copy for the block or not.Undo will tell that the transaction is over from its side so Oracle will clear the block status.
    Well I am sure there is alot more happening than what I have told you.Lets wait to hear from others too.
    Aman....

  • Rollback and UNDO

    Hi,
    I'm confuse about Rollback and Undo concepts, can some one explain it to me please?
    Felipe :)

    This is a copy of a previous post I made some time ago:
    There might be confusion while undo and rollback segment terms are used interchangeably in db world. It is due to the compatibility issue of oracle.
    Undo
    Oracle Database must have a method of maintaining information that is used to roll back, or undo, changes to the database. Such information consists of records of the actions of transactions, primarily before they are committed. These records are collectively referred to as undo.
    Undo records are used to:
    * Roll back transactions when a ROLLBACK statement is issued
    * Recover the database
    * Provide read consistency
    * Analyze data as of an earlier point in time by using Flashback Query
    When a ROLLBACK statement is issued, undo records are used to undo changes that were made to the database by the uncommitted transaction. During database recovery, undo records are used to undo any uncommitted changes applied from the redo log to the datafiles. Undo records provide read consistency by maintaining the before image of the data for users who are accessing the data at the same time that another user is changing it.
    Undo vs Rollback
    Earlier releases of Oracle Database used rollback segments to store undo. Oracle9i introduced automatic undo management, which simplifies undo space management by eliminating the complexities associated with rollback segment management. Oracle strongly recommends (Oracle 9i and on words) to use undo tablespace (automatic undo management) to manage undo rather than rollback segments.
    To see the undo management mode and other undo related information of database-
    SQL> show parameter undo
    NAME TYPE VALUE
    undo_management string AUTO
    undo_retention integer 900
    undo_tablespace string UNDOTBS1
    Since the advent of Oracle9i, less time-consuming and suggested way is—using Automatic Undo Management—in which Oracle Database creates and manages rollback segments (now called “undo segments”) in a special-purpose undo tablespace. Unlike with rollback segments, we don’t need to create or manage individual undo segments—Oracle Database does that for you when you create the undo tablespace. All transactions in an instance share a single undo tablespace. Any executing transaction can consume free space in the undo tablespace, and when the transaction completes, its undo space is freed (depending on how it’s been sized and a few other factors, like undo retention). Thus, space for undo segments is dynamically allocated, consumed, freed, and reused—all under the control of Oracle Database, rather than manual management by someone.
    Switching Rollback to Undo
    1. We have to create an Undo tablespace. Oracle provides a function (10g and up) that provides information on how to size new undo tablespace based on the configuration and usage of the rollback segments in the system.
    DECLARE
    utbsiz_in_MB NUMBER;
    BEGIN
    utbsiz_in_MB ;= DBMS_UNDO_ADV.RBU_MIGRATION;
    end;
    CREATE UNDO TABLESPACE UNDOTBS
    DATAFILE ‘/oradata/dbf/undotbs_1.dbf’
    SIZE 100M AUTOEXTEND ON NEXT 10M
    MAXSIZE UNLIMITED RETENTION NOGUARANTEE;
    Note: In undo tablespace creation, “SEGMENT SPACE MANAGEMENT AUTO” can not be set
    2.Change system parameters
    SQL> alter system set undo_retention=900 scope=both;
    SQL> alter system set undo_tablespace=UNDOTBS scope=both;
    SQL> alter system set undo_management=AUTO scope=spfile;
    SQL> shutdown immediate
    SQL> startup
    UNDO_MANAGEMENT is a static parameter. So database needs to be restarted.
    Reference: 10gR2 Administration Guide and Concepts
    Regards,
    Francisco Munoz Alvarez

  • Differance between Rollback Segements and Undo Tablespace/segments

    Hi everyone.
    I have some confusion that how Rollback Segements and Undo Tablespace/segments and different? Functionally they seem to be the same but why then Oracle recommends not using Rollback segments?...please explain. Kindly post any links useful in this regard.
    Thanks,
    Mukesh

    1.when does the changed data written to the undo tablespace?It never gets moved to the undo tablespace.
    The ORIGINAL data gets moved to the rollback/undo. Oracle assumes that most of the time the transaction is going to commit, so the change is made to the real block (in memory). At that time, enough information to roll back that change is written into the rollback segment.
    2.which process writes the changed data to the undo tbs?The server process. The one to which the user connects. The one the user gets by contascting the listener.
    3.What are the identifiactions which is used to undo the changes made(like SCN) ? plz...AFAIK, Transaction Id is the only thing used. SCN, a redo log construct, may be used to recreate the transaction ID in the rollback.

  • I have 3rd generation iPad retina and it seriously overheats?

    I have I pad 3rd generation retina display and purchased this after 2nd generation was stolen and found overseas (had no home insurance) as recently was going through a bad 24 year marriage divorce and had to stop working a month later due to illness cancer.  I had to use last of savings to replace my sons iPad. As I was ill I did not really use the new I pad for at least six months my son who it belongs to was 11 years old and as I put it in leather case and had rules about charging whilst using iPad ( meaning He Was Not Allowed To USE whilst on charge) I did not notice the problem in the beginning although after that noticed iPad 3 seriously heated whilst charging and also prolonged use this has became more and more of a problem lately to the stage where you can't use it for more than 20 mins without actually hurting your hands. My granddaughter who owns her own iPad 2 picked up my iPad recently what was charging in my sons bedroom without a case or cover and she got that much of a shock when she picked it up that dropped it and cracked the screen. Apart from that her eight finger tips were red and on one hand tiny blisters were apparent on two fingers surely this is a problem. And as not in warranty this does should not affect my statuary rights as a consumer under consumer laws can anyone help ?

    Hi Mich10,
    Your situation is definitely a problem, you have my sympathies. I can pretty much be sure that Apple will at least want to hear about this. I don't know what they will do but any iPad that overheats enough to burn someone they want to know about. 
    Contact Apple using www.apple.com/support/contact if you are in a country that supports it or call the appropriate phone number on this page. Alternatively carry the iPad in to an Apple retail store or service provider. Tell them exactly what happend. Apple is always concerned about the safety of their customers.

  • HT1551 I ordered a rental movie on my computer and want to watch it on my 1st generation apple TV and it is not showing up there...any suggestions?

    I ordered a rental movie on my computer and want to watch it on my 1st generation apple TV and it is not showing up there...any suggestions?

    I had same problem last night with a movie rental not showing up under the 'Rented' tab in iTunes/Movies on my iMac: as I had no other rentals, there was no 'Rented' tab at all.
    In iTunes 11, the Downloads icon only appears next to the Search bar while there is an active download. Once any  downloads are finished, the icon disappears.  I had no icon so I had to assume the downloading had finished (in the previous UI you could check download progress even after they had finished).
    My movie rental did, however, show up under 'Rented Movies' under the 'Movies' tab in iTunes/Devices/(select any i/device) so I knew it was somewhere in my iTunes.  Yet, we couldn't access it via Apple TV.
    I fiddle around for a bit, restarting iTunes, restarting the iMac, to no avail.  Then I did a little housekeeping and moved a different movie I'd imported awhile ago, from the 'Home Videos' tab under iTunes/Movies.  Under File/Get Info, the 'Media Kind' was incorrectly set to 'Home Video' so I changed it to 'Movie'.  Thus the file was moved over into the Movies tab.  Hey Presto!  The Rented tab suddenly showed up, and there was my rented movie!
    This is the second time a movie rental did not show up after downloading.  Unfortunately my husband initiated the download so we figured he must've messed up somehow as he's not as familiar with iTunes as me.  Hence we opted to download the movie under a different iTunes account, which worked the second time with no problem.  Needless to say the invoice for the original download had no problem in finding us, hence we were effectively being charged twice for the same movie!  We have to contact apple support (such a hassle) but hopefully they will understand the issue (that's the difficult bit) and they are usually good at refunding when they finally accept the customer is genuine in their claim.
    In case anyone is tempted to critique my method, we download rentals through iTune on our computer as we had too many problems trying to rent via Apple TV.  Often the movie was not available to watch for many hours after it was rented, even though we'd start 'download' halfway through the day and sit down at night to watch it!  We have also had problems with movies that kept stopping during viewing because it wasn't streaming fast enough.  We'd give some time and come back to viewing, only to encounter the same.  One time we gave gave up and tried again the next evening, only to find the movie expired.  There is meant to be 48 hours after you've started viewing to resume watching a movie.  Apple's only response to this was to advise we needed a broadband internet connection to stream the movie - this was despite me already telling them we have broadband.
    Anyway, I hope this helps anyone experiencing similar issues with movie downloads.

  • I erroneously deleted some background icons, that now have left me with only thumbnail images, what appears when I want to enlarge is a grey circle containing a black exclamation symbol, how can I get back full function and undo my mistake

    I have erroneoulsy deleted icons repetious images from the computer which then affected my iphoto images, leaving me in some cases only with the thembnail image.   When I try to enlarge or perform any other function all that appears is a black field containing a grey circle with a black exclamation symbol( !)
    within it.  How to I get back full function of these affected images and undo my goof up.   I have tried restore, but my attempts have not proved successful. 
    Help !!!
    silvercoho

    What exactly did you do to delete these?
    How did you try to "restore" and what did you try to restore?
    Probably the only solution is to restore your backup of the iPhoto library  from before you did this
    LN

  • I have a 3rd generation iPod Touch and just did the update to IOS 5. Now I can't connect to my Netgear wifi router. My iPhone connects fine along with all of my other laptops etc. I have the router set with WPA-PSK [TKIP] security and an access list.

    I have a 3rd generation iPod Touch and just did the update to IOS 5. Now I can't connect to my Netgear wifi router. My iPhone connects fine along with all of my other laptops etc. I have the router set with WPA-PSK [TKIP] security and an access list. I've confirmed the mac address is included on that list and that the password is correct. Under choses netwrok I select the network and it just goes into a spin. I have tried removing the password and the access list settings and it still will not complete the connection to the router thus no internet access. The routers firmware is also up to date. This thing worked fine before this update and I've already tried to restore from backup. Any ideas or is the wifi nic bad in this thing with the new apple firmware update? Any fix?

    Thanks Bob, I don't know why but it all of a sudden worked a few days later. It's a mystery but at least problem solved.

  • Hi guys well huge issue my Ipod 4th generation shuffle died and I tried to chrge it I plugged it into the USB port and the red light came on and after 5 seconds  turned off the whole Ipod is dead and I've tried in wall chargers as well that doesn't charge

    Hi guys well huge issue my Ipod 4th generation shuffle died and I tried to chrge it I plugged it into the USB port and the red light came on and after 5seconds turned off the whole Ipod is dead and I've tried in wall chargers as well that doesn't charge what should I do is there a solution or should I claim my warrenty and have it fixed??

    Also my Itunes and computer won'r reconize it

Maybe you are looking for