Excessive redo generation in Production DB?

my production database is generation lot of redo's since one month.Nearly 45 redo's its archiving per hour.b4 it use to generate 2 redo's per hour.The size of redolog file is 300M and we are having 3 redogroups.I want to know what is causing this much of redo to generate as system is same as before it is one month back.from where and how i have to start the invistigation.
Thankx...

Hello,
can you check if your tablespaces are in backup mode ?
for example like this:
select a.name, b.status from v$datafile a, v$backup b
where a.file# = b.file#;
does it say "ACTIVE" for any of the files ?

Similar Messages

  • Excessive Redo Generation After Upgrading on Oracle 10gR2

    We had our production database hosted on Oracle 9.2.0. Few months back we have migrated it to Oracle 10.2.0.4.0.
    After Migration I have noticed that redo generation has become very very high. In earlier case no. of log files generating in production hours were around 20 where as after migration it become around 200 files per day. I have run statspack report on this database. Statspack report is also saying that log file switch wait is become very high. Parameter timed_statistics has also been set to FALSE. Workload on the database is same before & after upgrade. Queries running in the sessions are also same before & after upgrade. All the parameters & memory structures are same after upgrade. Satatpack report is saying that db block change & disk write is become very high. I had used import export for upgrading the databases. Please provide a solution for this problem.
    Thanks In advance for all your favours....

    Hi;
    Please check below notes which could be helpful for your issue:
    Diagnosing excessive redo generation [ID 199298.1]
    Excessive Archives / Redo Logs Generation Troubleshooting [ID 832504.1]
    Troubleshooting High Redo Generation Issues [ID 782935.1]
    How to Disable (Temporary) Generation of Archive Redo Log Files [ID 177218.1]
    Regard
    Helios

  • How to reduce excessive redo log generation in Oracle 10G

    Hi All,
    Please let me know is there any way to reduce excessive redo log generation in Oracle DB 10.2.0.3
    previously per day there is only 15 Archive log files are generating but now a days it is increased to 40 to 45
    below is the size of redo log file members:
    L.BYTES/1024/1024     MEMBER
    200     /u05/applprod/prdnlog/redolog1a.dbf
    200     /u06/applprod/prdnlog/redolog1b.dbf
    200     /u05/applprod/prdnlog/redolog2a.dbf
    200     /u06/applprod/prdnlog/redolog2b.dbf
    200     /u05/applprod/prdnlog/redolog3a.dbf
    200     /u06/applprod/prdnlog/redolog3b.dbf
    here is the some content of alert message for your reference how frequent log switch is occuring:
    Beginning log switch checkpoint up to RBA [0x441f.2.10], SCN: 4871839752
    Thread 1 advanced to log sequence 17439
    Current log# 3 seq# 17439 mem# 0: /u05/applprod/prdnlog/redolog3a.dbf
    Current log# 3 seq# 17439 mem# 1: /u06/applprod/prdnlog/redolog3b.dbf
    Tue Jul 13 14:46:17 2010
    Completed checkpoint up to RBA [0x441f.2.10], SCN: 4871839752
    Tue Jul 13 14:46:38 2010
    Beginning log switch checkpoint up to RBA [0x4420.2.10], SCN: 4871846489
    Thread 1 advanced to log sequence 17440
    Current log# 1 seq# 17440 mem# 0: /u05/applprod/prdnlog/redolog1a.dbf
    Current log# 1 seq# 17440 mem# 1: /u06/applprod/prdnlog/redolog1b.dbf
    Tue Jul 13 14:46:52 2010
    Completed checkpoint up to RBA [0x4420.2.10], SCN: 4871846489
    Tue Jul 13 14:53:33 2010
    Beginning log switch checkpoint up to RBA [0x4421.2.10], SCN: 4871897354
    Thread 1 advanced to log sequence 17441
    Current log# 2 seq# 17441 mem# 0: /u05/applprod/prdnlog/redolog2a.dbf
    Current log# 2 seq# 17441 mem# 1: /u06/applprod/prdnlog/redolog2b.dbf
    Tue Jul 13 14:53:37 2010
    Completed checkpoint up to RBA [0x4421.2.10], SCN: 4871897354
    Tue Jul 13 14:55:37 2010
    Incremental checkpoint up to RBA [0x4421.4b45c.0], current log tail at RBA [0x4421.4b5c5.0]
    Tue Jul 13 15:15:37 2010
    Incremental checkpoint up to RBA [0x4421.4d0c1.0], current log tail at RBA [0x4421.4d377.0]
    Tue Jul 13 15:35:38 2010
    Incremental checkpoint up to RBA [0x4421.545e2.0], current log tail at RBA [0x4421.54ad9.0]
    Tue Jul 13 15:55:39 2010
    Incremental checkpoint up to RBA [0x4421.55eda.0], current log tail at RBA [0x4421.56aa5.0]
    Tue Jul 13 16:15:41 2010
    Incremental checkpoint up to RBA [0x4421.58bc6.0], current log tail at RBA [0x4421.596de.0]
    Tue Jul 13 16:35:41 2010
    Incremental checkpoint up to RBA [0x4421.5a7ae.0], current log tail at RBA [0x4421.5aae2.0]
    Tue Jul 13 16:42:28 2010
    Beginning log switch checkpoint up to RBA [0x4422.2.10], SCN: 4872672366
    Thread 1 advanced to log sequence 17442
    Current log# 3 seq# 17442 mem# 0: /u05/applprod/prdnlog/redolog3a.dbf
    Current log# 3 seq# 17442 mem# 1: /u06/applprod/prdnlog/redolog3b.dbf
    Thanks in advance

    hi,
    Use the below script to find out at what hour the generation of archives are more and in the hour check for eg. if MV's are running...or any programs where delete * from table is going on..
    L
      1  select
      2    to_char(first_time,'DD-MM-YY') day,
      3    to_char(sum(decode(substr(to_char(first_time,'HH24'),1,2),'00',1,0)),'999') "00",
      4    to_char(sum(decode(substr(to_char(first_time,'HH24'),1,2),'01',1,0)),'999') "01",
      5    to_char(sum(decode(substr(to_char(first_time,'HH24'),1,2),'02',1,0)),'999') "02",
      6    to_char(sum(decode(substr(to_char(first_time,'HH24'),1,2),'03',1,0)),'999') "03",
      7    to_char(sum(decode(substr(to_char(first_time,'HH24'),1,2),'04',1,0)),'999') "04",
      8    to_char(sum(decode(substr(to_char(first_time,'HH24'),1,2),'05',1,0)),'999') "05",
      9    to_char(sum(decode(substr(to_char(first_time,'HH24'),1,2),'06',1,0)),'999') "06",
    10    to_char(sum(decode(substr(to_char(first_time,'HH24'),1,2),'07',1,0)),'999') "07",
    11    to_char(sum(decode(substr(to_char(first_time,'HH24'),1,2),'08',1,0)),'999') "08",
    12    to_char(sum(decode(substr(to_char(first_time,'HH24'),1,2),'09',1,0)),'999') "09",
    13    to_char(sum(decode(substr(to_char(first_time,'HH24'),1,2),'10',1,0)),'999') "10",
    14    to_char(sum(decode(substr(to_char(first_time,'HH24'),1,2),'11',1,0)),'999') "11",
    15    to_char(sum(decode(substr(to_char(first_time,'HH24'),1,2),'12',1,0)),'999') "12",
    16    to_char(sum(decode(substr(to_char(first_time,'HH24'),1,2),'13',1,0)),'999') "13",
    17    to_char(sum(decode(substr(to_char(first_time,'HH24'),1,2),'14',1,0)),'999') "14",
    18    to_char(sum(decode(substr(to_char(first_time,'HH24'),1,2),'15',1,0)),'999') "15",
    19    to_char(sum(decode(substr(to_char(first_time,'HH24'),1,2),'16',1,0)),'999') "16",
    20    to_char(sum(decode(substr(to_char(first_time,'HH24'),1,2),'17',1,0)),'999') "17",
    21    to_char(sum(decode(substr(to_char(first_time,'HH24'),1,2),'18',1,0)),'999') "18",
    22    to_char(sum(decode(substr(to_char(first_time,'HH24'),1,2),'19',1,0)),'999') "19",
    23    to_char(sum(decode(substr(to_char(first_time,'HH24'),1,2),'20',1,0)),'999') "20",
    24    to_char(sum(decode(substr(to_char(first_time,'HH24'),1,2),'21',1,0)),'999') "21",
    25    to_char(sum(decode(substr(to_char(first_time,'HH24'),1,2),'22',1,0)),'999') "22",
    26    to_char(sum(decode(substr(to_char(first_time,'HH24'),1,2),'23',1,0)),'999') "23",
    27    COUNT(*) TOT
    28    from v$log_history
    29  group by to_char(first_time,'DD-MM-YY')
    30  order by daythanks,
    baskar.l

  • Question about redo generation

    select * from v$version;
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
    PL/SQL Release 11.2.0.1.0 - Production
    "CORE     11.2.0.1.0     Production"
    TNS for Linux: Version 11.2.0.1.0 - Production
    NLSRTL Version 11.2.0.1.0 - ProductionSetup for test
    create table parent_1 (id number(12) NOT NULL);
    alter table parent_1 add constraint parent_1_pk primary key (id);
    create table parent_2 (id number(12) NOT NULL);
    alter table parent_2 add constraint parent_2_pk primary key (id);
    create table child_table (ref_id number(12) NOT NULL,ref_id2 number(12) NOT NULL, created_at timestamp(6));
    alter table child_table add constraint child_table_pk primary key (ref_id, ref_id2);
    alter table child_table add constraint child_table_fk1 foreign key (ref_id) references parent_1(id);
    alter table child_table add constraint child_table_fk2 foreign key (ref_id2) references parent_2(id);
    insert into parent_1 select rownum from all_objects;
    insert into parent_2 values (1);
    insert into parent_2 values (2);
    insert into child_table (select id, 1, systimestamp from parent_1);
    insert into child_table (select id, 2, systimestamp from parent_1);
    commit;Code version 1:
    declare
       type t_ids is table of NUMBER(12);
       v_ids t_ids;
       start_redo NUMBER;
       end_redo NUMBER;
      cursor c_data is SELECT id FROM parent_1;
    begin
       select value into start_redo from v$mystat where statistic# = (select statistic# from v$statname where name like 'redo size');
       open c_data;
       LOOP
        FETCH c_data
        BULK COLLECT INTO v_ids LIMIT 1000;
        exit;
       end loop;
      CLOSE c_data;
        for pos in v_ids.first..v_ids.last LOOP
      BEGIN
        insert into child_table values (v_ids(pos), 2, systimestamp);
        EXCEPTION
          WHEN DUP_VAL_ON_INDEX THEN
            update child_table set created_at = systimestamp where ref_id = v_ids(pos) and ref_id2 = 2;
      END;
      END LOOP;
    end;
    /Version 2:
    declare
       type t_ids is table of NUMBER(12);
       v_ids t_ids;
       start_redo NUMBER;
       end_redo NUMBER;
      cursor c_data is SELECT id FROM parent_1;
      ex_dml_errors EXCEPTION;
      PRAGMA EXCEPTION_INIT(ex_dml_errors, -24381);
      pos NUMBER;
      l_error_count NUMBER;
    begin
       select value into start_redo from v$mystat where statistic# = (select statistic# from v$statname where name like 'redo size');
       open c_data;
       LOOP
        FETCH c_data
        BULK COLLECT INTO v_ids LIMIT 1000;
        exit;
       end loop;
      CLOSE c_data;
      BEGIN
        FORALL i IN v_ids.first .. v_ids.last SAVE EXCEPTIONS
        insert into child_table values (v_ids(i), 2, systimestamp);
      EXCEPTION
        WHEN ex_dml_errors THEN
          l_error_count := SQL%BULK_EXCEPTIONS.count;
          FOR i IN 1 .. l_error_count LOOP
            pos := SQL%BULK_EXCEPTIONS(i).error_index;
            update child_table set created_at = systimestamp where ref_id = v_ids(pos) and ref_id2 = 2;
          END LOOP;
      END;
       select value into end_redo from v$mystat where statistic# = (select statistic# from v$statname where name like 'redo size');
      dbms_output.put_line('Created redo : ' || (end_redo-start_redo));
    end;
    /Version 1 output:
    Created redo : 682644
    Version 2 output:
    Created redo : 7499364
    Why is version 2 generating significant more redo ?

    As both pieces of code erroneously replace non-procedural code by procedural code, ignoring the power of a RDBMS to process sets, and are examples of slow by slow programming,
    both pieces of code are undesirable, so the difference in redo generation doesn't matter.
    Sybrand Bakker
    Senior Oracle DBA

  • 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

  • Excess Qty confirmation than Production order qty

    Hi
    SAP Experts
    Is it possible to confirm excess qty of yield in co11n against Production order qty.
    pl. guide me the steps required.
    with Best Regards
    Yogesh

    Yes,
    If you do not waht to conform excess qty than the production order qty, then the following are the options
    - as our friend told in Work scheduling view the under/over delivery tolerance should be zero and unlimited delivery tick should not be active
    - In production order the under/over delivery tolerance should be zero and unlimited delivery tick should not be active.
    - In OPK4 fior the combintaion of plant and order type the following confirmation parameters are to be maintained
    Under delivery - X error if qty below under delivery tolarance
    Over delivery - X error if qty above over delivery tolarance.
    With this settings you can avoid what you wanted.

  • Reducing REDO generation from a current data refresh process

    Hello,
    I need to resolve an issue where a schema database is maintained with one delete followed by a tons of bulk insert. The problem is that the vast majority of deleted rows are reinserted as is. This process deletes and reinserts about 1 175 000 rows of data!
    The delete clause is:
    - delete from table where term >= '200705';
    The data before '200705' is very stable and doesn't need to be refreshed.
    The table is 9 709 797 rows big.
    Here is an excerpt of cardinalities for each term code:
    TERM      NB_REGS
    200001     117130
    200005      23584
    200009     123167
    200101     115640
    200105      24640
    200109     121908
    200201     117516
    200205      24477
    200209     125655
    200301     120222
    200305      26678
    200309     129541
    200401     123875
    200405      27283
    200409     131232
    200501     124926
    200505      27155
    200509     130725
    200601     122820
    200605      27902
    200609     129807
    200701     121121
    200705      27699
    200709     129691
    200801     120937
    200805      29062
    200809     130251
    200901     122753
    200905      27745
    200909     135598
    201001     127810
    201005      29986
    201009     142268
    201101     133285
    201105      18075This kind of operation is generating a LOT of redo logs: on average 25 GB per days.
    What are the best options available to us to reduce redo generation without changing to much the current process?
    - make tables in no logging ? (with mandatory use of append hint?)
    - use of a global temporary table for staging and merging against the true table?
    - use of partitions and truncate the reloaded one? this not reduce redo generated by subsequent inserts...?
    This has not to be mandatory transactionnal.
    We use 10gR2 on Windows 64 bits.
    Thanks
    Bruno

    yes, you got it, these are terms (Summer of 2007, beginning at May).
    Is the perverse effect of truncating and then inserting in direct path mode pushing the high water mark up day after day while having unused space in truncated partitions? Maybe we should not REUSE STORAGE on truncation...
    this data can be recovered easily from the datamart that pushes this data, this means we can use nologging and direct path mode without any «forever loss» of data.
    Should I have one partition for each term, or having only one for the stable terms and one for the refreshed terms?

  • Redo generation high

    Hi,
    We have a problem with redo generation. Last few days,redo generation is high than normal.No changes in application level.I don't know where to start.I tried to compare AWR report.But i did not get.
    1,Is it possilbe to find How much redo generated for a DML statement by Segment wise(table segment,index segment) when it's executed?
    For Ex : The table M_MARCH has 19 colums and 6 indexes.Another tables M_Report has 59 columns and 5 indexes.the query combines both tables.
    We need to find whether indexex are really is usable or not?
    2,Is there any other way to reduce redo geneation?
    Br,
    Rajesh

    High redo generation can be of two types:
    1. During a specific duration of the day.
    2. Sudden increase in the archive logs observed.
    In both the cases, first thing to be checked is about any modifications done either at the database level(modifying any parameters, any maintenance operations performed,..) and application level (deployment of new application, modification in the code, increase in the users,..).
    To know the exact reason for the high redo, we need information about the redo activity and the details of the load. Following information need to be collected for the duration of high redo generation.
    1] To know the trend of log switches below queries can be used.
    SQL> alter session set NLS_DATE_FORMAT='DD-MON-YYYY HH24:MI:SS';  Session altered.  SQL> select trunc(first_time, 'HH') , count(*)   2  from   v$loghist   3  group by trunc(first_time, 'HH')   4  order by trunc(first_time, 'HH');   TRUNC(FIRST_TIME,'HH   COUNT(*) -------------------- ---------- 25-MAY-2008 20:00:00          1 26-MAY-2008 12:00:00          1 26-MAY-2008 13:00:00          1 27-MAY-2008 15:00:00          2 28-MAY-2008 12:00:00          1 <- Indicate 1 log switch from 12PM to 1PM. 28-MAY-2008 18:00:00          1 29-MAY-2008 11:00:00         39 29-MAY-2008 12:00:00        135 29-MAY-2008 13:00:00        126 29-MAY-2008 14:00:00        135 <- Indicate 135 log switches from 2-3 PM. 29-MAY-2008 15:00:00        112
    We can also get the information about the log switches from alert log (by looking at the messages 'Thread 1 advanced to log sequence' and counting them for the duration), AWR report.
    1] If you are in 10g or higher version and have license for AWR, then you can collect AWR report for the problematic time else go for statspack report.
    a) AWR Report
    -- Create an AWR snapshot when you are able to reproduce the issue: SQL> exec DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT ();   -- After 30 minutes, create a new snapshot: SQL> exec DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT ();  -- Now run $ORACLE_HOME/rdbms/admin/awrrpt.sql
    b) Statspack Report
    SQL> connect perfstat/<Password> SQL> execute statspack.snap;  -- After 30 minutes SQL> execute statspack.snap; SQL> @?/rdbms/admin/spreport
    In the AWR/Statspack report look out for queries with highest gets/execution. You can check in the "load profile" section for "Redo size" and compare it with non-problematic duration.
    2] We need to mine the archivelogs generated during the time frame of high redo generation.
    -- Use the DBMS_LOGMNR.ADD_LOGFILE procedure to create the list of logs to be analyzed:     SQL> execute DBMS_LOGMNR.ADD_LOGFILE('<filename>',options => dbms_logmnr.new); SQL> execute DBMS_LOGMNR.ADD_LOGFILE('<file_name>',options => dbms_logmnr.addfile);  -- Start the logminer  SQL> execute DBMS_LOGMNR.START_LOGMNR(OPTIONS => DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG);       SQL> select operation,seg_owner,seg_name,count(*)  from v$logmnr_contents group by seg_owner,seg_name,operation;
    Please refer to below article if there is any problem in using logminer.
    Note 62508.1 - The LogMiner Utility
    We can not get the Redo Size using Logminer but We can only get user,operation and schema responsible for high redo.
    3] Run below query to know the session generating high redo at any specific time.
    col program for a10 col username for a10 select to_char(sysdate,'hh24:mi'), username, program , a.sid, a.serial#, b.name, c.value from v$session a, v$statname b, v$sesstat c where b.STATISTIC# =c.STATISTIC# and c.sid=a.sid and b.name like 'redo%' order by value;
    This will give us the all the statistics related to redo. We should be more interested in knowing "redo size" (Total amount of redo generated in bytes)
    This will give us SID for problematic session.
    In above query output look out for statistics against which high value is appeared and this statistics will give fair idea about problem.

  • Redo Generation in DDL

    I am using oracle 9i and windows xp professional.I enabled autotrace for scott user. Now when i issue select, insert, update,delete it is showing me statistics, but when i issue ALTER TABLE y ADD (XYZ NUMBER(1)); it did'nt give me any statistics. What does it mean:-
    1. DDLs do not generate REDO.
    2. What to do to get the statistics of every command ?
    Thanks & Regards

    Hello Sir,
    1. alter session set sql_trace=true;
    2. DMLs are not showing me information about redo generation
    3. set autotrace traceonly statistics; now it is showing statistics.
    but i wish to get the information regarding redo generated by DDLs. How ? I mean how much redo generated by DDL.
    Thanks
    I issued set autotrace traceonly statistics;

  • Excess goods issue against Production order

    HI PP Gurus,
    My requirement is to block excess goods issue of raw material against a production order.
    Ex. Production order qty = 10 , For producing 10 Finish goods i require 10 raw material. When i do confirmation via CO11N  the system automatically shows GR & GI Values in Goods Movement tab. there i change GI value of RM from 10 to 20 the system takes the value and does the GR & GI.
    My requirement is that the system should not do GR & GI if the GI value is more than that is calculated at the time of creation of Prod. Order.
    Thanks in Advance,
    Deven

    Hi,
    Rstriction of excess goods issue against production order is not possible in standard setting.
    For achiving this you have to go for User exit.
    The logic should be
    In MIGO check mvt. type 261
    Pass the order through table RESB and select all the components with quantity.
    Capture the header material of order and use this as input along with the order creation date, plant and BOM application to explode function module CS_BOM_EXPLOSION.
    THis will give you the BOM components which were valid at the time of order creation.
    Now compare these BOM components with the components from RESB with quantity.
    Here conditions will come in picture
    If quantity is exactly matching then GI will be possible
    or if you want to keep tolerance limit say for 10% then accordingly you can map the condition.
    Regards
    Amit Parkhi

  • How to stop excess goods issue against production order from MB1A

    Hi Gurus,
    In our organization goods issue against production order is done by using MB1A T.Code manually.Due to this reason sometimes excess quantity of RM issue against production order.Now I want to stop the excess goods issue against production order by using MB1A but I want to mainatain a certain tolerence.
    Please advice what to do?
    Regards
    Nirmal

    Hi ,
    Use user exit MBCF0002
    This is called when u do goods movement for production order.
    Regards,
    Vishal

  • Redo Generation Rate

    Hi,
    I am having problem with the redo generation rate. The size of redo logfiles in my DB is 400MB and log switch happens approximately after every 10 min which i think is very fast interval comparing to the size of my redo logfiles. I have even checked the log miner settings but i did not find any problem with it.
    SQL> select SUPPLEMENTAL_LOG_DATA_MIN,SUPPLEMENTAL_LOG_DATA_PK,SUPPLEMENTAL_LOG_DATA_UI from v$database;
    SUP SUP SUP
    NO NO NO
    Plz can anyone tell me what is wrong with the redo generation rate?

    First of all, it simply means your system is doing lots of work(generating 400MB redo per 10 minutes), well if you have work to do you need to do it. Besides, 400MB per 10 minutes is not that big for some busy system. So killing sessions may not be a good idea, your system just has so much work to do. If you have millions of rows need to be loaded, you just have to do it.
    Secondly, you many query v$sesstat for statistics name called "redo size" periodically (i.e. every 10 minutes) and get some idea when these happen during the day period. And user SQL_TRACE to get those SQL statements in the tkprof trace report, find out if you can optimize SQL to generate less redo, or other alternative ways. Some common options to minimize redo :
    insert /*+ append */ hint
    create table as (select ...)
    table nologging
    if updating millions of rows, can it be dont by creating new tables
    is it possible to use temp table feature (some applications use permanant tables but indeed they can use temp table)
    Anyway, you have to know what your database is doing while generating tons of redo. Until you find out what SQLs are generating the large redo, you can not solve the problem at system level by killing sessions or so.
    Regards,
    Jianhui

  • Append hint redo generation

    Hi,
    My question is about redo generation when using append hint . i have a database which is in FORCE loggind mode for standby database.if i use append hint , will it generate any redo ? i wonder will the standby db be same as primary after append hint usage ?
    thanks.

    Hi,
    thanks for answer.
    the sentence says
    "if the database is in ARCHIVELOG and FORCE LOGGING mode, then direct-path SQL generate data redo for both LOGGING and NOLOGGING tables." . This is my case.
    i have opened archive_log with dbms_logmnr but i could not find any redo . So i wonder standby db will not be in synchronize with primary ?
    thanks.

  • Partition table vs redo generation

    Hi all,
    I'm working with an enterprise 10.2.0.5 Oracle database
    I've a huge partitioned table and I'm interested in generate subpartitions.
    My question is if this process (create this subpartitions) will generate more redo or undo.
    Thanks,
    dbajug

    If you are only adding new, empty, SubPartitions, the redo generation will be minimal. If and when you load data into these SubPartitions, you will notice undo and redo generation, depending on how the data is loaded.
    If you SPLIT a non-empty Partition, Oracle has to "move" rows into the newly created partition. This will generate undo and redo.
    What you should do is to run a few tests of your planned actions and monitor the volume of undo and redo generated.
    Hemant K Chitale

  • Excessive redo log

    Hello all:
    Oracle10.2.0.3
    OS Windows2003
    Vendor app is running against the database and generating excessive redo switching logs every 10 minutes
    Online redologs are already 1GB. Vendor wants them to be increased further. Suggestions to troubleshoot please.
    multiblock_read_count is set to 128 and compatibility is set to 10.2.0.2.
    Thanks
    Sannidhi

    You need to figureout what is causing so that this much is redo being generated. If your redologs are of 1gb and till those are getting switched in a span of 10 min then definately there is some thing that is generating to much redo.
    Without analyzing the issue if you increase the redolog size, even that size may not be sufficient and may be filled quickly.
    with logminer you can find what is there in the log file. or find out and trace the session which are doing some activity while the frequent switch hapens.
    Edited by: sac on Sep 11, 2009 10:47 AM

Maybe you are looking for

  • IPod Nano (1st gen) not working... seems to be dead...HELP!

    Havent used my iPod in awhile. Went to plug it into computer to charge and got a screen that flashed the apple logo a few times and then went to a screen with a charging symbol but not the normal one (had gray plain background and lack symbol). Compu

  • Same file name FTP to FTP

    I would a dynamic source filename and I my goal is to have that name be exactly the same on my target system. So mainly I have FTP to FTP adapter, and I want the filenames to be the same on both ends, I have tried several things, but I am not having

  • Can I create a cert with the Java API only?

    I'm building a client/server app that will use SSL and client certs for authenticating the client to the server. I'd like for each user to be able to create a keypair and an associated self-signed cert that they can provide to the server through some

  • Filter on PTManagerExtAttAbs.INSERTWITHCOSTASSIGNMENT (BUS7011)

    Hello, Can anyone tell me how to create a filter in BD64 for PTManagerExtAttAbs.INSERTWITHCOSTASSIGNMENT. The standard delivery of SAP is that an idoc is always created upon release. So no filter values available in BD64. But what we need is that is

  • Expression for a cumulated key figures

    I would like to make an expression for a cumulated key figure (I set "cumulated" in properties of this KF) in Query Designer 3.5. If I try to make an expression, I'll get an expression for a key figure, and not for a cumulated key figure. Any ideas?