Streams performance

Отличная статья, дающая представление о производительности streams 11g:

twp_streams_performance_11gr1.pdf (application/pdf Object)

В ранних релизах (9i) процесс майнинга реду (redo mining) был достаточно не быстрыми и пожирал процессорное время. Уже тогда можно было вынести его на отдельную машину. Но в 11g настроить downstream capture можно в несколько шагов:

- В БД источнике (source_db) нужно настроить log transport через

1) Alter system
alter system set log_archive_config='SEND,RECEIVE, DG_CONFIG=(target_db, source_db)' SCOPE=BOTH
alter system set log_archive_dest_2 = 'SERVICE=target_db ASYNC NOREGISTER VALID_FOR=(ONLINE_LOGFILE,PRIMARY_ROLE) DB_UNIQUEU_NAME=target_db';

- на целевой БД

2) Alter system

alter system set log_archive_config='SEND,RECEIVE, DG_CONFIG=(target_db, source_db)' SCOPE=BOTH
alter system set log_archive_dest_2 = 'LOCATION=/u01/app/oracle/11.1/source_db VALID_FOR=(STANDBY_LOGFILE,PRIMARY_ROLE) DB_UNIQUEU_NAME=target_db';

3) Вызвать dbms_capture_adm.create_capture

4) Настроить какие именно схемы или табличные пространтсва или отдельные таблицы вы хотите реплицировать с помощью ADD_*_RULES процедуры


Это все, ваши логи приезжают на другой сервер, где разбираются и применяются. Вам даже не нужно восстанавливать target_db из бекапа, вполне достаточно привести нужные схемы с помощью Data Pump или вообще позвать dbms_streams_adm.maintain_schemas который сам привезет все что нужно. Из ограничений downstream capture я нашел только, что это должна быть та же платформа, при этом target_db может быть и 11g, в то время как source_db - 10g.


Крайне рекомендуется к прочтению документация: Best Practices for Oracle Streams Replication Databases

Комментариев нет:

Отправить комментарий