REDO scanning goes in infinite loop and Too much ARCHIVE LOG

After we restart DATABASE, capture process REDO scanning goes in infinite loop and Too much ARCHIVE LOG being generated.
No idea whats going on.... otherwise basic streams functionality working fine.

What's your DB version

Similar Messages

  • System I/O and Too Many Archive Logs

    Hi all,
    This is frustrating me. Our production database began to produce too many archived redo logs instantly --again. This happened before; two months ago our database was producing too many archive logs; just then we began get async i/o errors, we consulted a DBA and he restarted the database server telling us that it was caused by the system(???).
    But after this restart the amount of archive logs decreased drastically. I was deleting the logs by hand(350 gb DB 300 gb arch area) and after this the archive logs never exceeded 10% of the 300gb archive area. Right now the logs are increasing 1%(3 GB) per 7-8 mins which is too many.
    I checked from Enterprise Manager, System I/O graph is continous and the details show processes like ARC0, ARC1, LGWR(log file sequential read, db file parallel write are the most active ones) . Also Phsycal Reads are very inconsistent and can exceed 30000 KB at times. Undo tablespace is full nearly all of the time causing ORA-01555.
    The above symptoms have all began today. The database is closed at 3:00 am to take offline backup and opened at 6:00 am everyday.
    Nothing has changed on the database(9.2.0.8), applications(11.5.10.2) or OS(AIX 5.3).
    What is the reason of this most senseless behaviour? Please help me.
    Thanks in advance.
    Regards.
    Burak

    Selam Burak,
    High number of archive logs are being created because you may have massive redo creation on your database. Do you have an application that updates, deletes or inserts into any kind of table?
    What is written in the alert.log file?
    Do you have the undo tablespace with the guarentee retention option btw?
    Have you ever checked the log file switch sequency map?
    Please use below SQL to detirme the switch frequency;
    SELECT * FROM (
    SELECT * FROM (
    SELECT   TO_CHAR(FIRST_TIME, 'DD/MM') AS "DAY"
    +, TO_NUMBER(SUM(DECODE(TO_CHAR(FIRST_TIME, 'HH24'), '00', 1, 0)), '999') "00:00"+
    +, TO_NUMBER(SUM(DECODE(TO_CHAR(FIRST_TIME, 'HH24'), '01', 1, 0)), '999') "01:00"+
    +, TO_NUMBER(SUM(DECODE(TO_CHAR(FIRST_TIME, 'HH24'), '02', 1, 0)), '999') "02:00"+
    +, TO_NUMBER(SUM(DECODE(TO_CHAR(FIRST_TIME, 'HH24'), '03', 1, 0)), '999') "03:00"+
    +, TO_NUMBER(SUM(DECODE(TO_CHAR(FIRST_TIME, 'HH24'), '04', 1, 0)), '999') "04:00"+
    +, TO_NUMBER(SUM(DECODE(TO_CHAR(FIRST_TIME, 'HH24'), '05', 1, 0)), '999') "05:00"+
    +, TO_NUMBER(SUM(DECODE(TO_CHAR(FIRST_TIME, 'HH24'), '06', 1, 0)), '999') "06:00"+
    +, TO_NUMBER(SUM(DECODE(TO_CHAR(FIRST_TIME, 'HH24'), '07', 1, 0)), '999') "07:00"+
    +, TO_NUMBER(SUM(DECODE(TO_CHAR(FIRST_TIME, 'HH24'), '08', 1, 0)), '999') "08:00"+
    +, TO_NUMBER(SUM(DECODE(TO_CHAR(FIRST_TIME, 'HH24'), '09', 1, 0)), '999') "09:00"+
    +, TO_NUMBER(SUM(DECODE(TO_CHAR(FIRST_TIME, 'HH24'), '10', 1, 0)), '999') "10:00"+
    +, TO_NUMBER(SUM(DECODE(TO_CHAR(FIRST_TIME, 'HH24'), '11', 1, 0)), '999') "11:00"+
    +, TO_NUMBER(SUM(DECODE(TO_CHAR(FIRST_TIME, 'HH24'), '12', 1, 0)), '999') "12:00"+
    +, TO_NUMBER(SUM(DECODE(TO_CHAR(FIRST_TIME, 'HH24'), '13', 1, 0)), '999') "13:00"+
    +, TO_NUMBER(SUM(DECODE(TO_CHAR(FIRST_TIME, 'HH24'), '14', 1, 0)), '999') "14:00"+
    +, TO_NUMBER(SUM(DECODE(TO_CHAR(FIRST_TIME, 'HH24'), '15', 1, 0)), '999') "15:00"+
    +, TO_NUMBER(SUM(DECODE(TO_CHAR(FIRST_TIME, 'HH24'), '16', 1, 0)), '999') "16:00"+
    +, TO_NUMBER(SUM(DECODE(TO_CHAR(FIRST_TIME, 'HH24'), '17', 1, 0)), '999') "17:00"+
    +, TO_NUMBER(SUM(DECODE(TO_CHAR(FIRST_TIME, 'HH24'), '18', 1, 0)), '999') "18:00"+
    +, TO_NUMBER(SUM(DECODE(TO_CHAR(FIRST_TIME, 'HH24'), '19', 1, 0)), '999') "19:00"+
    +, TO_NUMBER(SUM(DECODE(TO_CHAR(FIRST_TIME, 'HH24'), '20', 1, 0)), '999') "20:00"+
    +, TO_NUMBER(SUM(DECODE(TO_CHAR(FIRST_TIME, 'HH24'), '21', 1, 0)), '999') "21:00"+
    +, TO_NUMBER(SUM(DECODE(TO_CHAR(FIRST_TIME, 'HH24'), '22', 1, 0)), '999') "22:00"+
    +, TO_NUMBER(SUM(DECODE(TO_CHAR(FIRST_TIME, 'HH24'), '23', 1, 0)), '999') "23:00"+
    FROM V$LOG_HISTORY
    WHERE extract(year FROM FIRST_TIME) = extract(year FROM sysdate)
    GROUP BY TO_CHAR(FIRST_TIME, 'DD/MM')
    +) ORDER BY TO_DATE(extract(year FROM sysdate) || DAY, 'YYYY DD/MM') DESC+
    +) WHERE ROWNUM < 8+
    Ogan

  • ABAP-query going in infinite loop

    Hello all,
    I have one on abap-query in which i am displaying data for delivery details that is table LIKP and LIPS.
    In this query i also have some code to get the sale order details from the  the delivery details.
    I have also used one FM module in this query as well as select endselet  stamt.
    When i run my quey it i going in infinite loop.  I am not getting any thing . Each time i have to exit the screen.
    Can anyone please tell me wat is the problem, why it is going in infinite  loop.
    Thanks and regards
    Sachin yadav

    thanks for your help,
    But may i know how to display my internal table data to out put screen.
    As i am new to the query i do not know how to display internal table data to report along with my data coming from ABAp-query.
    for eg i have three field to display suppose A , B and C.
    Field A and B are coming from query and i have to display field C from internal table.
    How to do that
    thanks in advance

  • I execute my progrem its goes to infinite loop?

    Hi frnds,
    I execute my program its goes to infinite loop? How can i stop that program, before goes to dump?

    why  don't you  put a break point before the loop and just check why it is not  finishing up. u can always set conditions when to exit from such loops when required.
    Loop ...
    if  some cond
    exit.
    endif
    endloop.

  • htmlb:fileupload goes into infinite loop

    Hello all,
    We use the tag <htmlb:fileupload> in our bsp page. Now if the user enters a file name directly, ie:without using the browse button the user simply enters a filename, say 'Resume.doc' in the input field and hits the save button on the page, then the system is going into an infinite loop and the system hangs, the users cannot proceed further and they need to restart the browser all over again(it is not necessary that the file must exist in the system, the user just types in a file name and performs the save action). This is a cause of concern for some of our customers, they expect that we should provide a meaningful message to the user and the processing should end. Is this a known issue in BSPs ?? Can anyone suggest me how to get rid of this problem ?
    Thanks and Best Regards,
    Viqar Ali.

    Hello All,
    I use the following code in my bsp:
    <phtmlb:matrix width="100%" >
      <phtmlb:matrixCell row = "1"
                         col = "1" />
        <phtmlb:formLayout design           = "HEADING_ONLY_SOLID"
                           customizationKey = "<%= controller->context %>" >
        <%-- Upload --%>
        <phtmlb:formLayoutItem label    = "<%= controller->file_label %>"
                               idOfItem = "upload" >
          <htmlb:fileUpload id   = "upload"
                            size = "30" />
        </phtmlb:formLayoutItem>
    Everything works fine if the user selects a file using the browse button to select a file. Instead if the user enters a file name directly, then the system runs into an infinite loop. I have put a breakpoint in DO_HANDLE_DATA & DO_REQUEST of the controller class. However the control doesnt come till this point also and i cannot even debug anything. The breakpoints are hit if the user selects the file using the browse button. If anyone has a similar scenario working correctly in their application pls update me with the code.
    Thanks and Best Regards,
    Viqar Ali.

  • Findforward() results in infinite loop and server exits

    I have a dataform which has struts html text field and 3 poplist bound
    to database fields. I do a submit on the event onChange in the first poplist and it
    will call a custom method in app module, which will setup the VO for populating the second poplist, based on
    the data from the first list. In the action class, I override the findforward() to go to
    DataAction to execute this custom method. On sucess from DataAction a forward is set to the first page
    which display the second poplist. When i run the action from struts-config.xml,
    the oc4j server goes on to loop and exits with message "Process exited with exit code 128".
    Any ideas why this is happing ?.

    One or several of the events handled by the page are still present because you keep forwarding between actions.
    The onChange event is still hanging around when it is forwarded to the next action and this action may act on it in an unpredictable way.
    There is currently code in the ADF framework to insure that an event is not executed by more than one action but in your case you may have your own events. Make sure to act on possible event being forwarded around.
    Charles.

  • OIM11gR2:Event handler goes into infinite loop

    Hi Experts,
    I have created an event handler where i am doing some functionality on execute function, that updates some UDF's when a user modifies value from the user modify form.
    I am calling the event hanlder on modify action of User entity
    Now the problem i am facing is that the eventhandler goes into infinte loop and modifies the values again and again without any break.
    Please help out, i am not able to kill the process unitill i restart the server :-(

    You can use something like below to get old values :
    HashMap<String, Serializable> interEvtDataMap = orchestration.getInterEventData();
              User newUserState = (oracle.iam.identity.usermgmt.vo.User) interEvtDataMap.get("NEW_USER_STATE");
              User oldUserState = (oracle.iam.identity.usermgmt.vo.User) interEvtDataMap.get("CURRENT_USER");
              newFirstName = (String)newUserState.getAttribute("First Name");
              oldFirstName = (String)oldUserState.getAttribute("First Name");     
    Thanks
    Suren

  • Export CSV Cmdlet goes to infinite loop

    I'm trying to aggregate data from various CSV's into one using the following line of code
    “ ls -n *.csv | %{ ipcsv $_} | epcsv allinone.csv -NoTypeInformation “ 
    It worked fine until I changed the exported csv name to OneWorldFile.csv. It looks like PS lands into an infinite loop and appends the data into the CSV. I’ll have to eventually halt the process.
    “ ls -n *.csv | %{ ipcsv $_} | epcsv OneWorldFile.csv -NoTypeInformation “
    Here is the screenshot for your verification : http://note.io/1pNoee3. Is there any reason for this behaviour? Did I miss something?
    Thank you in advance for your reply.
    Vimal.

    Thank you, Noah.  I've understood what causes this behaviour -> Parallel Processing.
    I did get an interesting reply from powershell.org forum (http://bit.ly/Tzoy3R) and the problem sorts out if pipeline is not used. Thanks to Mike F Robbins.
    Import-Csv-Path(Get-ChildItem-Name*.csv)|Export-Csv-Path .\OneWorldFile.csv-NoTypeInformation
     

  • HT1349 Successfully loaded ios7 to iphone 4S from iTunes...now iphone asks me to agree to terms and privacy, then it locks up and won't accept my "agree." Goes in a loop and can't get past this screen.  Pls help.  thanks.

    successfully loaded ios7 to iphone 4s.
    now iphone asks me to agree to terms and privacy, then it locks up and won't accept my "agree."
    goes in a loop and can't get past this screen.  Pls help.  thanks.

    Have you tried resetting the device?
    Hold down the home and lock buttons until you see an Apple Logo, then release the buttons.
    If that doesn't work, you should check to see if you have a backup because you may have to restore your device.

  • Tried to install OS X Yosemite on my MacBook. Got message that it could not be installed on my computer due to error while extracting files from package "Essentials.pkg". When i quit the installer as recommended it goes in a loop and gets stuck.

    Tried to install OS X Yosemite on my MacBook. Got message that it could not be installed on my computer due to error while extracting files from package "Essentials.pkg". When i quit the installer as recommended it goes in a loop and gets stuck.

    Hey corrafromlondon,
    Thanks for the question. After reviewing your post, it sounds like the installer file isn't working. Have you tried deleting the installer and redownloading the installer? I would recommend that you read this article, it may be able to help you isolate or resolve the issue.
    How to install OS X Yosemite on your Mac - Apple Support
    you can find the Yosemite installer app in your Applications folder or Launchpad. 
    Thanks for using Apple Support Communities.
    Have a nice day,
    Mario

  • [svn] 4870: TextView with textAlign="justify" causes infinite loop and eventual RTE.

    Revision: 4870
    Author: [email protected]
    Date: 2009-02-05 15:33:52 -0800 (Thu, 05 Feb 2009)
    Log Message:
    TextView with textAlign="justify" causes infinite loop and eventual RTE. Vellum sometimes returns width and/or height larger than the request width/height due to rounding error. This triggers a contentWidth/Height change event which triggers the scroller which comes back in to TextView updateDisplayList, etc.
    QE Notes:
    Doc Notes:
    Bugs: SDK-19144
    Reviewers: Gordon
    Ticket Links:
    http://bugs.adobe.com/jira/browse/SDK-19144
    Modified Paths:
    flex/sdk/branches/i10/frameworks/projects/flex4/src/mx/components/TextView.as

  • Create procedure is generating too many archive logs

    Hi
    The following procedure was run on one of our databases and it hung since there were too many archive logs being generated.
    What would be the answer? The db must remain in archivelog mode.
    I understand the nologging concept, but as I know this applies to creating tables, views, indexes and tablespaces. This script is creating procedure.
    CREATE OR REPLACE PROCEDURE APPS.Dfc_Payroll_Dw_Prc(Errbuf OUT VARCHAR2, Retcode OUT NUMBER
    ,P_GRE NUMBER
    ,P_SDATE VARCHAR2
    ,P_EDATE VARCHAR2
    ,P_ssn VARCHAR2
    ) IS
    CURSOR MainCsr IS
    SELECT DISTINCT
    PPF.NATIONAL_IDENTIFIER SSN
    ,ppf.full_name FULL_NAME
    ,ppa.effective_date Pay_date
    ,ppa.DATE_EARNED period_end
    ,pet.ELEMENT_NAME
    ,SUM(TO_NUMBER(prv.result_value)) VALOR
    ,PET.ELEMENT_INFORMATION_CATEGORY
    ,PET.CLASSIFICATION_ID
    ,PET.ELEMENT_INFORMATION1
    ,pet.ELEMENT_TYPE_ID
    ,paa.tax_unit_id
    ,PAf.ASSIGNMENT_ID ASSG_ID
    ,paf.ORGANIZATION_ID
    FROM
    pay_element_classifications pec
    , pay_element_types_f pet
    , pay_input_values_f piv
    , pay_run_result_values prv
    , pay_run_results prr
    , pay_assignment_actions paa
    , pay_payroll_actions ppa
    , APPS.pay_all_payrolls_f pap
    ,Per_Assignments_f paf
    ,per_people_f ppf
    WHERE
    ppa.effective_date BETWEEN TO_DATE(p_sdate) AND TO_DATE(p_edate)
    AND ppa.payroll_id = pap.payroll_id
    AND paa.tax_unit_id = NVL(p_GRE, paa.tax_unit_id)
    AND ppa.payroll_action_id = paa.payroll_action_id
    AND paa.action_status = 'C'
    AND ppa.action_type IN ('Q', 'R', 'V', 'B', 'I')
    AND ppa.action_status = 'C'
    --AND PEC.CLASSIFICATION_NAME IN ('Earnings','Alien/Expat Earnings','Supplemental Earnings','Imputed Earnings','Non-payroll Payments')
    AND paa.assignment_action_id = prr.assignment_action_id
    AND prr.run_result_id = prv.run_result_id
    AND prv.input_value_id = piv.input_value_id
    AND piv.name = 'Pay Value'
    AND piv.element_type_id = pet.element_type_id
    AND pet.element_type_id = prr.element_type_id
    AND pet.classification_id = pec.classification_id
    AND pec.non_payments_flag = 'N'
    AND prv.result_value &lt;&gt; '0'
    --AND( PET.ELEMENT_INFORMATION_CATEGORY LIKE '%EARNINGS'
    -- OR PET.element_type_id IN (1425, 1428, 1438, 1441, 1444, 1443) )
    AND NVL(PPA.DATE_EARNED, PPA.EFFECTIVE_DATE) BETWEEN PET.EFFECTIVE_START_DATE AND PET.EFFECTIVE_END_DATE
    AND NVL(PPA.DATE_EARNED, PPA.EFFECTIVE_DATE) BETWEEN PIV.EFFECTIVE_START_DATE AND PIV.EFFECTIVE_END_DATE --dcc
    AND NVL(PPA.DATE_EARNED, PPA.EFFECTIVE_DATE) BETWEEN Pap.EFFECTIVE_START_DATE AND Pap.EFFECTIVE_END_DATE --dcc
    AND paf.ASSIGNMENT_ID = paa.ASSIGNMENT_ID
    AND ppf.NATIONAL_IDENTIFIER = NVL(p_ssn, ppf.NATIONAL_IDENTIFIER)
    ------------------------------------------------------------------TO get emp.
    AND ppf.person_id = paf.person_id
    AND NVL(PPA.DATE_EARNED, PPA.EFFECTIVE_DATE) BETWEEN ppf.EFFECTIVE_START_DATE AND ppf.EFFECTIVE_END_DATE
    ------------------------------------------------------------------TO get emp. ASSIGNMENT
    --AND paf.assignment_status_type_id NOT IN (7,3)
    AND NVL(PPA.DATE_EARNED, PPA.EFFECTIVE_DATE) BETWEEN paf.effective_start_date AND paf.effective_end_date
    GROUP BY PPF.NATIONAL_IDENTIFIER
    ,ppf.full_name
    ,ppa.effective_date
    ,ppa.DATE_EARNED
    ,pet.ELEMENT_NAME
    ,PET.ELEMENT_INFORMATION_CATEGORY
    ,PET.CLASSIFICATION_ID
    ,PET.ELEMENT_INFORMATION1
    ,pet.ELEMENT_TYPE_ID
    ,paa.tax_unit_id
    ,PAF.ASSIGNMENT_ID
    ,paf.ORGANIZATION_ID
    BEGIN
    DELETE cust.DFC_PAYROLL_DW
    WHERE PAY_DATE BETWEEN TO_DATE(p_sdate) AND TO_DATE(p_edate)
    AND tax_unit_id = NVL(p_GRE, tax_unit_id)
    AND ssn = NVL(p_ssn, ssn)
    COMMIT;
    FOR V_REC IN MainCsr LOOP
    INSERT INTO cust.DFC_PAYROLL_DW(SSN, FULL_NAME, PAY_DATE, PERIOD_END, ELEMENT_NAME, ELEMENT_INFORMATION_CATEGORY, CLASSIFICATION_ID, ELEMENT_INFORMATION1, VALOR, TAX_UNIT_ID, ASSG_ID,ELEMENT_TYPE_ID,ORGANIZATION_ID)
    VALUES(V_REC.SSN,V_REC.FULL_NAME,v_rec.PAY_DATE,V_REC.PERIOD_END,V_REC.ELEMENT_NAME,V_REC.ELEMENT_INFORMATION_CATEGORY, V_REC.CLASSIFICATION_ID, V_REC.ELEMENT_INFORMATION1, V_REC.VALOR,V_REC.TAX_UNIT_ID,V_REC.ASSG_ID, v_rec.ELEMENT_TYPE_ID, v_rec.ORGANIZATION_ID);
    COMMIT;
    END LOOP;
    END ;
    So, how could I assist our developer with this, so that she can run it again without it generating a ton of logs ? ?
    Thanks
    Oracle 9.2.0.5
    AIX 5.2

    The amount of redo generated is a direct function of how much data is changing. If you insert 'x' number of rows, you are going to generate 'y' mbytes of redo. If your procedure is destined to insert 1000 rows, then it is destined to create a certain amount of redo. Period.
    I would question the <i>performance</i> of the procedure shown ... using a cursor loop with a commit after every row is going to be a slug on performance but that doesn't change the fact 'x' inserts will always generate 'y' redo.

  • One process generating too much archives

    Hi all,
    DB-Oracle 9.2
    OS- Aix
    One of my friend ask me how to find out which process generating too mcuh archive logs
    below are some of the parameters
    log_checkpoint_interval integer 30000
    log_checkpoint_timeout integer 1800
    log_checkpoints_to_alert boolean FALSE
    log_buffer  1048576
    log_archive_max_processes  2
    fast_start_mttr_target 0please suggest me

    hi,
    you have killed the seesion.. but insert operations are not needed or what? if you don't want any insert from that user then give priveleges acccordingly.
    coz, the import may be needed for some application. or else increase the redo log files.
    to find which process
    check the holding session from dba_waiter and check whether the session using any insert or update statement..(find the query).. even u can check from ps-ef |grep arch..
    instead of killing you can do any other alteration or inform user to import at a less consuption DB time..
    regards,
    Deepak

  • How much of logging is too much of logging?

    Hi All,
    OK, that was my question, how much of logging is too much of logging?
    Recently one of my co-worker (not me, not me at all) had written about 100 classes and after getting the framework right, he has now been asked to log all those bunch of classes and methods.
    He is damn bored and fed up with logging and he needs to log it in a ratio of 1 line of logging per 10 lines of code (approximately). And he also must log "ENTERING", "EXITING" in each method whenever he enters and exits a method.
    I personally like to log as little as possible, although we don't log everything in INFO and we do log a lot of things in DEBUG logging level, logging every method doesn't feel correct to me.
    And I hate too much of logging because to me it makes the code unreadable. Many of you will disagree this point, but I feel the important log statements often get messed up with those "ENTERING" and "EXITING" kind of log statements.
    And another question, when is the right time to log? Logging as and when we are writing the code or logging it after everything is done (like how the pure dude is doing now). The former seems to be the better.
    Your thoughts??
    Thank you

    Hi All,
    OK, that was my question, how much of logging is too
    much of logging?Too general for a one size fits all answer.
    And he also must log
    "ENTERING", "EXITING" in each method whenever he
    enters and exits a method.Sounds fine, especially if it logs the parameters passed to the method, as well as what it returned (if not void) or if it returned via exception.
    >
    I personally like to log as little as possible,
    although we don't log everything in INFO and we do
    log a lot of things in DEBUG logging level, logging
    every method doesn't feel correct to me.It's reasonable. During development, logging may be very verbose, but it can be useful. During production, you can configure the logging to not log at the DEBUG level, so you wouldn't see these log messages anyway and it shouldn't impact performance enough to be a concern.
    And I hate too much of logging because to me it makes
    the code unreadable. Many of you will disagree this
    point, but I feel the important log statements often
    get messed up with those "ENTERING" and "EXITING"
    kind of log statements.This is a perfect fit for AOP (Aspect Oriented Programming). Rather than clutter the code with these log messages, these can be "woven" into the bytecode at compile-time or run-time.
    Aspect-J is one popular AOP framework.
    http://www.eclipse.org/aspectj/

  • Too many Archive Log

    Hi,
    I have a problem on a production server: our support partner told me that we are creating too many Archive Log files. They are not sure at all of what is happening.
    Please, do you know if there is any System View which we could obtain more information about Archive Logs usage?
    Thanks in advance.
    Best Regards,
    Joan Padilla

    Hi Joan,
    The sensible number of archive logs is determined by your backup and recovery strategy. You can delete them, once you have back-upped the database and the archivelogs. Further info in the Backup and Recovery Concepts manual.
    You can find information on them in v$archived_log.
    If you decide to delete them without having read the aforementioned manual, I will pray for you you don't suffer a hard disk crash.
    You may want to review the relationship with your support partner too.
    Their advice is not exactly professional.
    Sybrand Bakker
    Senior Oracle DBA

Maybe you are looking for