WARNING: This web is not used anymore. Please use PDBService.StreamsRecommendations instead!

Streams Recommendations

Check also metalink note 418755.1

Recommended patches

list of recommended Streams patches

Capture site

  • The capture process writes its own checkpoint information to its data dictionary tables in order to keep track of the SCN values already scanned by the capture process. By default, the capture process writes checkpoints very frequently and stores their data for a long time. On a very write-intensive system, the performance of the capture process can become severely degraded if the following parameters are not adjusted properly.
  • Checkpoint retention:
    • Periodically, the mining process checkpoints itself for quicker restart.
    • The capture parameter checkpoint_retention_time controls the amount of checkpoint data retained. Default: 60 days.
    • Reducing the checkpont_retention_time will move automatically move the first_scn forward. This would purge the the Streams metadata tables previous to this scn(FIRST_SCN) .
    • Since the first_scn is moved forward the restart SCN is automatically moved forward .Thus the Capture Process will scan through less archive logs.
    • Hence Capture Restart time is reduced.
    • General recommendation: set the checkpoint_retention_time to 7 days or less.
    • exec dbms_capture_adm.alter_capture(' %capture_name% ', checkpoint_retention_time => 7);
  • Checkpoint frequency:
    • Modify the frequency of logminer checkpoints especially in a database with significant LOB or DDL activity.
    • Increase the value of the capture parameter _checkpoint_frequency for active databases with significant redo generated per hour. Default: 10M
    • exec dbms_capture_adm.set_parameter(' %capture_name% ', '_checkpoint_frequency', ' %value% ');
    • ATLAS: 2048M, LHCB: 350M, LFC:50M
  • Restart the process to apply the changes.

Propagation site

  • Latency: maximum wait, in seconds, in the propagation window for a message to be propagated after it is enqueued.
  • latency=1
  • exec dbms_aqadm.alter_propagation_schedule(' %source_queue% ', ' %destination_db_link% ', destination_queue=>' %destination_queue% ', latency=>1);

Apply site

  • Performance can be improved by setting the following parameters:
    • _dynamic_stmts = 'Y'
    • _hash_table_size = '10000000'
    • _txn_buffer_size = The parameter should initially be set to 10. If individual transactions have a large number of row changes (100,000 or more) and apply parallelism is greater than 1, consider reducing _TXN_BUFFER_SIZE to a lower value.
  • exec dbms_apply_adm.set_parameter(' %apply_name% ', ' %parameter% ', ' %value% ');

Capture and Apply site - flow control threshold

  • By default flow control kicks when there are 5000 unbrowsed messages in a queue. This default behavior can be changed in 10.2 by applying the patch 5093060 which allows you to manipulate when buffer publisher flow control is activated. The fix is event based in
    • 10867: this event controls flow control threshold values for any buffered message publisher. The level of the event decides the threshold value.
      • Example: alter system set event=10867 trace name context forever, level 30000 scope=spfile;
    • 10868: this event controls flow control threshold values for only capture publisher. The level of the event decides the threshold value.
      • Example: alter system set event=10868 trace name context forever, level 20000 scope=spfile;
  • The fix is present in onwards and can be activated by setting the following hidden parameters:
    • alter system set "_capture_publisher_flow_control_threshold"=20000
    • alter system set "_buffered_publisher_flow_control_threshold"=30000
  • See metalink note 551516.1

Periodic maintenance

  • Dump fresh copy of Dictionary redo:
  • Prepare instantiation for the database objects captured by Streams:

  • How to check the oldest archive log that will be needed by the capture process:

  • How to display detailed information about Apply Errors:
    • (as SYSDBA):
    • (as strmadmin): print_LCR.sql: print_LCR.sql
    • To run this procedure after you have created it, enter the following:
       EXEC print_errors 
  • Logminer table: the access to this table can be very slow due to the high space fragmentation
    • How to reorganize SYSTEM.LOGMNR_RESTART_CKPT$?
      • stop the capture process
      • connect as system user
         alter table system.logmr_restart_ckpt$ enable row movement;
         alter table system.logmr_restart_ckpt$ shrink space;
         alter table system.logmr_restart_ckpt$ disable row movement;
      • re-start capture process
    • shrink_logminer_tables.txt: Script and job to shrink the logminer tables periodically

  • Queue tables: it is recommended to perform on regular basis a dynamic shrink of the AQ objects
Topic attachments
I Attachment History Action Size Date Who Comment
Unknown file formatsql minimum_archivelog.sql r1 manage 1.0 K 2007-06-19 - 11:33 EvaDafonte  
Unknown file formatsql print_LCR.sql r1 manage 5.1 K 2007-06-19 - 11:34 EvaDafonte  
Texttxt shrink_logminer_tables.txt r1 manage 3.7 K 2009-06-16 - 11:33 EvaDafonte Script and job to shrink the logminer tables periodically
Texttxt shrink_queue_tables.txt r1 manage 4.1 K 2009-06-16 - 11:34 EvaDafonte Script and job to shrink the queue tables periodically
Edit | Attach | Watch | Print version | History: r12 < r11 < r10 < r9 < r8 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r12 - 2009-06-16 - EvaDafonte
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    PSSGroup All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2022 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback