Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 logical standby and big updates on primary db  [new]
Lion
Member

Откуда: С. Петербург
Сообщений: 112
Привет, может кто сталкивался с проблемой. На primary сервере требуется добавить поле в большую таблицу порядка 50 млн записей и заполнить его где то дефолтным, а где то конкретным значением. Поначалу обновление было реализовано так, что бы быстрее прогнать обновление на primary

alter table a add fld3 number(1);
update a set fld3=case when fld1 in (200,400,250,650,700,100,120,600,620,500) then 0 else 1 end);
alter table a modify fld3 number(1) default 0;

в итоге на primary сервере операция заняла где то час, но на logical standby команда update без условия, растиражировалась как 50 млн update для каждой записи и процесс обновления выполнялся безумно долго, более 2х суток.
После анализа выяснили, что дефолтным значением заполнена большая часть данных порядка 45 млн. И решили заполнять поле на уровне ALTER TABLE
alter table a add fld3 number(1) default 0;
update a set fld3=1 where fld1 not in(200,400,250,650,700,100,120,600,620,500); 

поможет ли это убыстрить процесс обновления logical standby?
Oracle 10.2.0.4
21 окт 10, 13:08    [9648552]     Ответить | Цитировать Сообщить модератору
 Re: logical standby and big updates on primary db  [new]
AlexFF__|
Member

Откуда:
Сообщений: 2855
Lion,

естественно
21 окт 10, 13:44    [9648996]     Ответить | Цитировать Сообщить модератору
 Re: logical standby and big updates on primary db  [new]
Охрименко
Member

Откуда: Украина, Киев
Сообщений: 1440
А какие у вас вообще предпосылки для использования logical standby, а не physical standby? Просто интересно.
21 окт 10, 13:47    [9649029]     Ответить | Цитировать Сообщить модератору
 Re: logical standby and big updates on primary db  [new]
Lion
Member

Откуда: С. Петербург
Сообщений: 112
Требование заказчика, основная база сильно загруженная oltp, заказчик юзает logical для своих личных целей, mview, отчеты и тп.
21 окт 10, 13:56    [9649147]     Ответить | Цитировать Сообщить модератору
 Re: logical standby and big updates on primary db  [new]
Охрименко
Member

Откуда: Украина, Киев
Сообщений: 1440
Lion
Требование заказчика, основная база сильно загруженная oltp, заказчик юзает logical для своих личных целей, mview, отчеты и тп.


В таком случае можно требовать от заказчика под логический стендбай сервер идентичный продакшену. Вы же вкурсе чем отличается физический от логического? Никак нельзя ожидать адекватного быстродействия от медленного логического стендбая.
21 окт 10, 13:58    [9649178]     Ответить | Цитировать Сообщить модератору
 Re: logical standby and big updates on primary db  [new]
Lion
Member

Откуда: С. Петербург
Сообщений: 112
Охрименко
сервер идентичный продакшену.

Да похоже так оно и есть, идентичны. Только например если мы делаем апдейт на первичном

update a set f=1;

то на логическом похоже происходит примерно следующее
update a set f=1 where id=1;
update a set f=1 where id=2;
...
update a set f=1 where id=N;
21 окт 10, 14:57    [9649887]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить