Increase Apply Process Performance

Dear All,
I want to know how can I increase Apply Process Performance in Oracle Streams Setup.
I use Windows 2003 and Oracle 10g R2

Check metalink Note:335516.1
HTH...

Similar Messages

  • Logical Standby Apply Process Performance

    Hello,
    We are testing our logical standby database for sql apply process.We run batch jobs in our active database and monitor the standby database for the time it takes to bring the database in sync following are the steps we follow:
    1) Insure active and standby are in sync.
    2) Stop sql apply on standby database.
    3) Run Batch job on active database.
    4) After completion of the job on active,start sql apply on standby.
    Following are the details of the time taken by sql apply,based on the previous runs:
    1st. 654K volume = 4 hrs (2727 records per min)
    2nd. 810K volume = 8 hrs 45 mins (1543 records per min)
    3rd. 744K volume = 7 hrs 17 mins (1704 records per min)
    Following are the details of the logical stdby parameters :
    MAX_SGA 100
    MAX_SERVERS 15
    PREPARE_SERVERS 4
    APPLY_SERVERS 8
    MAX_EVENTS_RECORDED 10000
    RECORD_SKIP_ERRORS TRUE
    RECORD_SKIP_DDL TRUE
    RECORD_APPLIED_DDL FALSE
    RECORD_UNSUPPORTED_OPERATIONS FALSE
    EVENT_LOG_DEST DEST_EVENTS_TABLE
    LOG_AUTO_DELETE TRUE
    LOG_AUTO_DEL_RETENTION_TARGET 1440
    PRESERVE_COMMIT_ORDER TRUE
    ALLOW_TRANSFORMATION FALSE
    can we ensure SQL apply process to apply data in consistent volume,Is it okay for a sql apply process to take same amount of time what the actual batch takes in active instance,can we further tweak apply process to get better performance.
    Please help.
    Thank you !!

    Following are the details of the time taken by sql apply,based on the previous runs:
    1st. 654K volume = 4 hrs (2727 records per min)
    2nd. 810K volume = 8 hrs 45 mins (1543 records per min)
    3rd. 744K volume = 7 hrs 17 mins (1704 records per min)
    Following are the details of the logical stdby parameters :
    Hi,
    By looking at the above apply rate, the apply process is working normally and not having issues.
    Since it's a bulk batch data update in PRIMARY, it's obvious and quite normal that it will take time in STANDBY database to get applied and in sync with PRIMARY.
    Still, if you need to consider improving the performance, look out for adjusting the APPLIER & PREPARER process. (parameteres, APPLY_SERVERS & PREPAR_SERVERS).

  • Logical Standby Apply Processes Die when granting a user sysdba on Primary

    I've run into an issue where the sql apply processes are stopping when granting a user sysdba privilege on the primary.
    The error is insufficient privileges.
    Of course the workaround that we have used is to skip the transaction on the logical and then manually grant the sysdba privilege on the standby. I'm hoping there is a more elegant solution as I have 8 DBAs on my team and each on of the transactions will need to be skipped individually, and is a bit of a pain. Just thought I would ask if anyone out there has run into the same issue and has a better workaround.

    I think you misunderstand. We run our standby in guard_mode 'STANDBY', which allows sys to perform the grant operation directly on the logical. Where it is failing is when we grant on the primary. That or I misunderstand. Are you saying that if I put in the script on the primary, the alter session command, then it will propagate down cleanly? That is something I have not tried of course, but makes sense how that could work, unless it throws an error on the primary because it is not a standby.

  • BW 3.x : Increase Background processes for one loading

    Hello,
    in BW 3.x, I must load cube1 into cube2 (cube2 is a cube1's copy). => During loading, time process is due to writing fact table.
    I decrease parameter (infopackage parameter), in order to increase performance :
    Maximum size of a data packet in kByte
    I want to increase parallel processes in order to increase performance again (Data volume is so important). But How to increase this parameter : "Maximum number of dialog processes for sending data".
    Thanks in advance for your help.
    Best Regards,

    See note 631710.
    Or you can increase it at system source level (transaction SBIW/Main settings).
    Regards,
    Fred
    Edited by: FCI on Apr 28, 2009 6:02 PM

  • The Apply Process meet some errors when applying..

    Hi all,
    My OS is Win Server 2003, Oracle is 10.2.0
    I were setup my streams environtment one-way. All my works were ok. But today, when I open the OEM console, at the Apply node, I recognized that Total Received is 10 but Total Applied is 4 and status is APLLYING. I open the arlert log at the source database, have some errors:
    Propagation Schedule for (STRMADMIN.capture_src_bosc_q, BOCENTER.REGRESS.RDBMS.DEV.US.ORACLE.COM) encountered following error:
    ORA-25307: Enqueue rate too high, flow control enabled
    I use
    select propagation_name,status
    from dba_propagation;
    *==> STATUS is ENABLE*
    At the Aplly process, I set the DISABLE_ON_ERROR is N, but seem as the apply process was halt (not continue apply some change at destination database).
    Have any ideas for this problem ?
    Edited by: changemylife on Nov 2, 2009 8:38 AM

    I had same problem too , and by increasing the Streams pool , it solved .

  • Streams apply process keeps growing PGA

    A streams apply process which applies to a sql sever database is increasing its pga use continually until i stop the process and restart it.
    I need to stop it once every week or it will use too much of the pga and the database will hand causin paging etc.
    ANyone had this issue before?

    which version of database you are using? check for wait dependency bug?
    Thanks,
    <moderator edit  - delelted link signature - see FAQ on top right>

  • Capture LCR's  without Apply Process

    I want to capture the LCR's of a single table. So I have setup a capture process. When I do a SELECT * FROM V$STREAMS_CAPTURE I see that the value for "TOTAL_MESSAGES_ENQUEUED" increases BUT I don't get ANY messages in my queue_table that was setup for LCR's.
    Please note that I don't have a APPLY process running because I want to read the LCR's from an external process (directly from the LCR queue).
    So I have two questions:
    (1) Is it possible to use only a Capture Process (to collect the LCR's) and use an external Program (e.g. C++ program) that enqueues the LCR's from the queue (using OCI).
    (2) I have read a previous article where it was stated that if there is an external program the LCR's have to be re-enqueued? - What does this mean? - Do I have to move the LCR's in a different queue? - I thought the Apply Process is optional?

    You got to have an apply process(DML handler) that dequeues the LCRs from Capture process and re-enqueues them back to the same Streams queue. Only then you can dequeue LCRs from an external application.
    I'm using JMS to dequeue these LCRs.
    Does anybody face any perfromance issues while using JMS to dequeue LCRs? In my case PL/SQL could dequeue as fast as 40 messages/second while JMS could dequeue only 7 msgs/sec.
    Thanks

  • Increase work process to specific Reports..

    HI
    is it possible to increase work process time to specifi report, becasue i am getting below error while running the report
    The program "SAPLKARS" has exceeded the maximum permitted runtime without
    interruption and has therefore been terminated.
    After a specific time, the program is terminated to make the work area
    available to other users who may be waiting.
    This is to prevent a work area being blocked unnecessarily long by, for
    example:
    - Endless loops (DO, WHILE, ...),
    - Database accesses with a large result set
    - Database accesses without a suitable index (full table scan)
    The maximum runtime of a program is limited by the system profile
    parameter "rdisp/max_wprun_time". The current setting is 600 seconds. If this
    time limit is
    exceeded, the system attempts to cancel any running SQL statement or
    signals the ABAP processor to stop the running program. Then the system
    waits another 60 seconds maximum. If the program is then still active,
    the work process is restarted.
    please get me the solution asap
    thanks By engli

    You can set rdisp/max_wprun_time this value dynamically and chage it back to original value after your report is finished.
    before you start your reoprt or program do this,
    T-CODE --> RZ11 --> rdisp/max_wprun_time --> change value --> new value --> hit OK.
    After your report is finished you can switch back to old value.
    Regards
    SM.

  • BPM - Process Performance Indicators and Process Monitoring

    Hi,
    In SAP BPM, is there any way to get some reports or dashboard with key PPI (Process Performance Indicators). What we are really interested in is to know how many times a month a process or a specific task of a process has been run, how many time it took to complete the task, was the task completed on time, where are we in the process right now, etc?
    We have just started to look into SAP BPM, but my first impression is that it is more a modeling tool along with some taks coordinations. I feel like it's missing the key analytics to really drive innovation in our processes.
    Probably that I'm wrong and I've missed something. Please let me know if there is a way to do that, if there are any workarounds or if there are any SAP partners that offer a solution that we could use along with SAP BPM.
    Thanks a lot!
    Martin

    Thanks for your feedback.
    We want to implement a SAP BPM scenario in a finance process for the VAT Tax reporting. So basically, our accountant needs to run some SAP transactions along with some manual outside steps. Then the supervisor will perform some checks and finally the tax manager needs to approve it.
    There is some interactions with SAP but only for a small part of the process. What we want to achieve is to be able to see the key performance indicator for our process. But at the moment this is not delivered with SAP BPM. I've heard that this may come in the next release end of 2009, but in the meanwhile I'm wondering if other people have been able to implement some customization in Net Weaver or have found other alternatives to be able to monitor their process adequately.
    Thanks
    Martin

  • Apply process is aborting with:ORA-12801: error signaled in parallel query

    hi,
    We created a queue of a specific type, capture and apply process on the queue. Then we started the queue capture and the apply process. The problem is that the apply process is getting enabled and with in moments going into aborted state. wea re getting the follwoing error:
    ORA-12801: error signaled in parallel query server P000
    ORA-00600: internal error code, arguments: [kwqiceval:anyconv], [], [], [], [], [], [], []
    Any idea what could have gone wrong?
    scripts:
    exec dbms_aqadm.create_queue_table(queue_table=>'qt_anc',queue_payload_type=>'type_anc',multiple_consumers=> true, compatible => '9.0');
    exec dbms_aqadm.create_queue (queue_name => 'q_anc',queue_table=>'qt_anc');
    EXEC DBMS_AQADM.START_QUEUE (queue_name => 'q_anc');
    DECLARE
    emp_rule_name_dml VARCHAR2(300);
    emp_rule_name_ddl VARCHAR2(300);
    BEGIN
    DBMS_STREAMS_ADM.ADD_TABLE_RULES(
    table_name => 'ops.t_anc',
    streams_type => 'capture',
    streams_name => 'capture_anc',
    queue_name => 'strmadmin.q_anc',
    include_dml => true,
    include_ddl => false,
    source_database => null,
    dml_rule_name => emp_rule_name_dml,
    ddl_rule_name => emp_rule_name_ddl);
    DBMS_APPLY_ADM.SET_ENQUEUE_DESTINATION(
    rule_name => emp_rule_name_dml,
    destination_queue_name => 'strmadmin.q_anc');
    END;
    DECLARE
    emp_rule_name_dml VARCHAR2(300);
    emp_rule_name_ddl VARCHAR2(300);
    BEGIN
    DBMS_STREAMS_ADM.ADD_TABLE_RULES(
    table_name => 'ops.t_anc',
    streams_type => 'apply',
    streams_name => 'apply_anc',
    queue_name => 'strmadmin.q_anc',
    include_dml => true,
    include_ddl => false,
    source_database => null,
    dml_rule_name => emp_rule_name_dml,
    ddl_rule_name => emp_rule_name_ddl);
    DBMS_APPLY_ADM.SET_ENQUEUE_DESTINATION(
    rule_name => emp_rule_name_dml,
    destination_queue_name => 'strmadmin.q_anc');
    END;
    BEGIN
    DBMS_APPLY_ADM.START_APPLY(
    apply_name => 'apply_anc');
    END;
    BEGIN
    DBMS_CAPTURE_ADM.START_CAPTURE(
    capture_name => 'capture_anc');
    END;
    /

    Hello
    The above configuration is never supported. The implicit capture expects the queue payload to be SYS.ANYDATA and same with implicit apply also.
    However you can use Streams Messaging capability to achieve this. You need to wrap the messages with SYS.ANYDATA for this to work. The implicit capture uses a persistent logminer session to generate LCRs and it then wraps it with SYS.ANYDATA and enqueues into the capture queue, it then propagated to apply queue. You can generate LCRs and wrap it with SYS.ANYDATA and then enqueue into the capture queue then apply can recognise the messages.
    Here is an example on creating LCRs (tested in 10g):
    CREATE TABLE lcr_test (col1 NUMBER);
    DECLARE
         l_lcr SYS.LCR$_ROW_RECORD;
    BEGIN
         l_lcr :=
    SYS.LCR$_ROW_RECORD.CONSTRUCT
         source_database_name=>SYS_CONTEXT('USERENV','DB_NAME'),
         command_type=>'INSERT',
         object_owner=>USER,
         object_name=>'LCR_TEST'
         l_lcr.ADD_COLUMN('new','col1',SYS.AnyData.ConvertNumber(99));
         l_lcr.EXECUTE(TRUE);
         COMMIT;
    END;
    SELECT * FROM lcr_test;
    Converting to SYS.ANYDATA:
    DECLARE
         l_lcr SYS.LCR$_ROW_RECORD;
         l_anydata SYS.ANYDATA;
    BEGIN
         l_lcr :=
    SYS.LCR$_ROW_RECORD.CONSTRUCT
         source_database_name=>SYS_CONTEXT('USERENV','DB_NAME'),
         command_type=>'INSERT',
         object_owner=>USER,
         object_name=>'LCR_TEST'
         l_lcr.ADD_COLUMN('new','col1',SYS.AnyData.ConvertNumber(99));
         l_anydata:=SYS.ANYDATA.ConvertObject(l_lcr);
         ENQ_PROC(l_anydata);
         COMMIT;
    END;
    Thanks,
    Rijesh

  • Apply process restarting

    We are running bi-directional streams and we started to see the following errors in the alert log:
    Fri Oct 5 11:59:27 2007
    A001: apply user roles have changed
    Streams Apply Server P001 pid=26 OS id=601 stopped
    Streams Apply Reader P000 pid=25 OS id=599 stopped
    Streams Apply Server P001 pid=26 OS id=601 stopped
    Streams Apply Server P000 pid=25 OS id=599 stopped
    Fri Oct 5 11:59:29 2007
    Streams APPLY A001 started with pid=144, OS id=13431
    Has anyone seen this type of message before?
    I am concerned that the apply processes may stop and not restart.
    Thanks in advance.

    this just shows the status of an apply process. You need to find the reason why the apply process stoped. For that you can query the dab_apply_errors view and find out the reason, based on that you can take the action.
    Kapil.

  • ABORTED Apply Process

    I've been running into a error message that I can't seem to find much information on. I start my Apply process (that had previously been working), and it aborts a couple minutes later. The alert log shows:
    Mon Jan 03 11:54:55 2005
    Errors in file e:\oracle\cpd1db_p008_5716.trc:
    ORA-07445: exception encountered: core dump [ACCESS_VIOLATION] [0x108522D] [] [] [] []
    Streams Apply Reader P006 pid=67 OS id=7324 stopped
    Mon Jan 03 11:57:08 2005
    Errors in file e:\oracle\cpd1db_p006_7324.trc:
    ORA-10388: parallel query server interrupt (failure)
    Mon Jan 03 11:57:10 2005
    Streams APPLY A004 with pid=50, OS id=7272 stopped
    Mon Jan 03 11:57:10 2005
    Errors in file e:\oracle\cpd1db_a004_7272.trc:
    ORA-12805: parallel query server died unexpectedly
    The first trace file listed shows the aforementioned error message:
    source segcol number 6 not supported on target MySchema.MyTable.
    Does anyone know what this "source segcol number 6..." error refers to?

    Hi,
    I got this error in streams...Pls tell me how to fix it
    *** SESSION ID:(19.172) 2005-07-19 08:48:55.406
    *** 2005-07-19 08:48:55.406
    WARNING: the following transaction makes no progress
    WARNING: in the last 30 seconds for the given message!
    WARNING: xid = 0x000b.026.0000ab2e cscn = 27956820, message# = 3, slavid = 1
    KNACCPD: *******************************************************
    v$lock information for this slave is:
    type:PS, id1:1, id2:1, lmode:4, request:0
    type:SR, id1:1, id2:1, lmode:4, request:0
    type:TM, id1:12702, id2:0, lmode:3, request:0
    type:TX, id1:458788, id2:11336, lmode:6, request:0
    v$session_wait information for this slave is:
    event:STREAMS apply slave waiting for coord message, wait_time:-1, state:WAITED KNOWN TIME,seconds_in_wait:30
    p1:200, p1raw:
    p2:2, p2raw:
    p3:0, p3raw:
    v$session_event information for this slave is:
    event:STREAMS apply slave waiting for coord message, total_waits:2, total_timeouts:0, time_waited:0, average_wait:0, max_wait:0
    Current SQL for this slave is:
    KNACCPD: end ***************************************************
    knacrb: no offending session found (not ITL pressure)
    KNACDMP: *******************************************************
    KNACDMP: Dumping apply coordinator's context at 58fe6b0
    KNACDMP: Apply Engine # 1
    KNACDMP: Apply Engine name STRMADMIN_WALDO_DHFS_STAT
    KNACDMP: Coordinator's Watermarks ------------------------------
    KNACDMP: Apply High Watermark = 0x0000.01aa95cb
    KNACDMP: Apply Low Watermark = 0x0000.01aa95cb
    KNACDMP: Recovery Low Watermark = 0x0000.01aa95c7
    KNACDMP: Fetch Low Watermark = 0x0000.01aaa0d0
    KNACDMP: Oldest SCN = 0x0000.01aa9652
    KNACDMP: Last replicant syncpoint SCN = 0x0000.01aa95a6
    KNACDMP: Last syncpoint at primary SCN = 0x0000.01aa95c7
    KNACDMP: First partition max SCN = 0x0000.01aaa2c0
    KNACDMP: Last partition max SCN = 0xffff.ffffffff
    KNACDMP: Last processed SCN = 0x0000.01aa95cb
    KNACDMP: Conservative SCN = 0x0000.00000000
    KNACDMP: Coordinator's constants -------------------------------
    KNACDMP: number of apply slaves = 1
    KNACDMP: safety level (K) = 1
    KNACDMP: max txns in memory = 80
    KNACDMP: max constraints per table = 119
    KNACDMP: hash table size (in entries) = 8000
    KNACDMP: Coordinator's intervals -------------------------------
    KNACDMP: syncpoint interval (ms) = 0
    KNACDMP: write low watermark interval(ms)= 1
    KNACDMP: Coordinator's timers/counters -------------------------
    KNACDMP: current time = 1121780934
    KNACDMP: low watermark timer = 1121780904
    KNACDMP: shutdown counter = 0
    KNACDMP: syncpoint timer = 1121780904
    KNACDMP: Coordinator's txn counts -------------------------
    KNACDMP: total txns applied = 0
    KNACDMP: total applied at last plwm write= 0
    KNACDMP: apply prog. entries below plwm = 0
    KNACDMP: Coordinator's State/Flags -----------------------------
    KNACDMP: Coordinator's State = KNACST_APPLY_UNTIL_END
    KNACDMP: Coordinator's Flags = 0x104
    KNACDMP: Slave counts ------------------------------------------
    KNACDMP: number of reserved slaves = 0
    KNACDMP: number of admin slaves = 0
    KNACDMP: number of slaves in wait cmt = 0
    KNACDMP: number of safe slaves = 1
    KNACDMP: Slave Lists -------------------------------------------
    KNACDMP: Dumping All Slaves :-
    Slave id = 0, State = 8, Flags = 0, Not Assigned
    Slave id = 1, State = 5, Flags = 1, Assigned Xid = 0x000b.026.0000ab2e
    KNACDMP: End dumping all slaves
    KNACDMP: syncdep slaves = { }
    KNACDMP: cont chunk slaves = { }
    KNACDMP: cont slaves = { }
    KNACDMP: exec txn slaves = { }
    No idle slave
    *** 2005-07-19 08:49:08.750
    error 12805 in STREAMS process
    ORA-12805: parallel query server died unexpectedly
    OPIRIP: Uncaught error 447. Error stack:
    ORA-00447: fatal error in background process
    ORA-12805: parallel query server died unexpectedly

  • Ora-26753 in the apply process

    Yesterday my apply process began to notice me an ora-26753 mismatched columns error but when I re-execute the transaction from dba_apply_error the transaction is apply without problem. I don´t identify what happen. Also there not are mismatch between the columns in the replicate tables. I found in metalink about this error but I did not find anything.
    Thanks a lot in advance.

    Next time it happens, think to open a LCR and compare the list of columns. You can do it through script or using Grid for version is 10.2.0.5+
    For script I wrote a small article but you will need to install Smenu.
    http://sourceforge.net/apps/mediawiki/smenu/index.php?title=How_to_see_contents_of_queues
    For grid, refer to the doc, it is easy to find in the streams section.

  • Same rule set for two apply processes

    Hi!
    Can anyone tell me whether it is possible to use the same rule set and all rules in it for two apply processes? It would be easy for me to use such configuration, because sometimes I create LCRs myself, sometimes Oracle captures them. They're exactly the same.
    And second question - I tried the above configuration, but the apply process for user created LCRs aborts when it sees first message. Error is: "ORA-00600: internal error code, arguments: [knlcfpactx:any_knlso], [], [], [], [], [], [], []". Oracle MetaLink and Google know nothing about this error. I also don't know if it's somehow connected with these rule sets or is it a problem within my procedure which creates LCRs.
    Greetings

    I'm answering myself. Yes, it is possible, to use the same rule set for different processes. It is said in the documentation. It is also possible to use one rule in several rule sets according to documentation.
    And it seems that it has nothing to do with my ORA-00600 error.

  • Error in apply process while indexing for table

    Hi,
    I have successfully implemented downstream capture-apply process from 11g to 11g.
    But, my apply process is aborting due to following error:-
    ORA-01435: user does not exist
    for LCR Error:
    alter index testuser.batchload_stat rebuild
    How can i resolve this conflict or Is their a way to disable index rebuild in target database for given apply process?

    Hi,
    Unfortunately, I have no idea how you could disable index rebuilt. But, since testuser doesn't exist on your target database, why don't you exclude his schema from replication?

Maybe you are looking for

  • Transfer Objects in EJB 3.0

    Hello, I am building Enterprise application with EJB 3.0 and JSF. In many J2EE books there's that Trasfer Object pattern ( sometimes called Value Object or so), I just wonder what are your experiences in using TO in Java EE ( EJB 3.0). Because entity

  • Keeping the values in Request bean across more than 2 pages

    Hi..., I have created a Bean with request scope & want to access it across 3 different pages. From the 1st page once I submit the values , I do a forward (redirect=no) to the second page where I can print the values . From the 2nd page I then do a fo

  • When will Photoshop Touch be updated to support the new iPad (3)?

    Since the screen is now greater than HD and the camera has just been enhanced to 5 MP, PS Touch should be updated to support pictures larger than 1600 x 1600 as quickly as possible as well as adding direct support for the Retina screen. Otherwise it

  • Change Source of supply

    Hi Experts, We have done mandatory PR for PO in SU3 (EFB-01), we have ticked following things in OMET Display conditions, Enter conditions, W/o material and ref to purchase requisitions. Now when we want to change source of supply in PO or Purchase R

  • Excel report change sheet name

    Hello, iám using the report generation toolkit with LV8.5.1 and Excel. How can i change the name of the sheet? greetings schwede