|
Сдвиг последовательностей
|
|||
---|---|---|---|
#18+
Доброго времени суток, коллеги. Часто слышу, что при переключении на стендбай или миграции на другую БД путем переключения администраторы сдвигают последовательности в БД. Например, в докладе Яндекса при миграции с оракла на постгрес тоже это упоминается. Можете объяснить в чем необходимость этого мероприятия, желательно на примере, чтобы легче понять. Пробовал найти нормальное объяснение в Гугле, но не нашел то, что меня удовлетворило бы. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2019, 19:24 |
|
Сдвиг последовательностей
|
|||
---|---|---|---|
#18+
Ну кто-то сдвигает, а кто-то синхронизирует ) Кому лень синхронизировать после того как приехали все данные, те сдвигают, чтобы не нарваться на дублирующие значения в том случае, когда миграция ddl предшествует миграции данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2019, 19:35 |
|
Сдвиг последовательностей
|
|||
---|---|---|---|
#18+
То есть получается. У меня есть база - primary. Все нормально работает, есть несколько последовательностей. При переключении на стендбай у меня эти последовательности не будут продолжаться идти с того номера, который был последний на праймери до переключения, а они будут как бы обнулены и начнут свой счёт с самого начала? В таком случае могут возникать проблемы при вставке и чтобы этого избежать мы искусственно сдвигаем последовательности или синхронизируем их, как вы это отметили. Я все правильно понял? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2019, 21:06 |
|
Сдвиг последовательностей
|
|||
---|---|---|---|
#18+
Dr. OracleПри переключении на стендбайТы не видишь никакой принципиальной разницы с переходом на какую-то хрень? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2019, 07:26 |
|
Сдвиг последовательностей
|
|||
---|---|---|---|
#18+
Dr. OracleПри переключении на стендбайЗначение сиквенса, с учетом кеша, это такая же транзакция, как любая другая. C физическим стендбаем есть возможность накосячить с целостностью только промеж нескольких систем. В логическом возможностей значительно больше. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2019, 07:39 |
|
Сдвиг последовательностей
|
|||
---|---|---|---|
#18+
-2-Dr. OracleПри переключении на стендбайЗначение сиквенса, с учетом кеша, это такая же транзакция, как любая другая. Мнеее, не уверен. Номера сиквенсов не откатываются при откатах транзакций, хотите сказать, что каждый nextval пишется в redo? Есть у меня по этому поводу сомнения. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2019, 08:31 |
|
Сдвиг последовательностей
|
|||
---|---|---|---|
#18+
AserYZНомера сиквенсов не откатываются при откатах транзакций, хотите сказать, что ... Не домысливайте. Речь идёт об отношениях primary со standby... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2019, 08:37 |
|
Сдвиг последовательностей
|
|||
---|---|---|---|
#18+
AserYZНомера сиквенсов не откатываются при откатах транзакцийОбновление сиквенса при откате транзакции, изменяющей его, откатывается, как любой другой апдейт. AserYZкаждый nextval пишется в redo?Каждый cache. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2019, 08:57 |
|
Сдвиг последовательностей
|
|||
---|---|---|---|
#18+
Но при switchover Primary нормально кладется и поэтому последнее значение записывается в БД Поэтому при открытии Standby в качестве Primary возьмется следующее значение ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2019, 10:04 |
|
Сдвиг последовательностей
|
|||
---|---|---|---|
#18+
-2-Обновление сиквенса при откате транзакции, изменяющей его, откатывается, как любой другой апдейт. Не могли бы Вы дать ссылку или продемонстрировать? Что конкретно Вы имеете ввиду под "обновлением сиквенса"? Я пока не нашел признаков отката. Оракла под рукой нет, нашел консоль в инете, 11 версия, нет логов выполнения скриптов, к сожалению. Создал сиквенс, создал таблицу, сделал 10 инсертов с NEXTVAL, откатил транзакцию. Следующий NEXTVAL вернул 11. Должен был вернуть 1? Или речь идет о кеше? Сделал то же самое, но вставил 30 записей (чтобы выбрать все значения из кеша). Смотрим на сиквенс - LAST_NUMBER 41, откатываем. Проверяем NEXTVAL - 31 Проверяем LAST_NUMBER - 41 Что именно откатывается при откате транзакции? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2019, 14:46 |
|
Сдвиг последовательностей
|
|||
---|---|---|---|
#18+
AserYZЧто конкретно Вы имеете ввиду под "обновлением сиквенса"? Код: plsql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2019, 14:50 |
|
Сдвиг последовательностей
|
|||
---|---|---|---|
#18+
Это делается в рекурсивной (автономной) транзакции и не откатывается вместе с порождающей ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2019, 15:09 |
|
Сдвиг последовательностей
|
|||
---|---|---|---|
#18+
Вячеслав Любомудров, Я так понял это как раз и есть изменение LAST_NUMBER чтобы при потере кешированных значений не выдать их еще раз. У меня это стандартными способами управления транзакциями откатить не получилось, может -2- знает как... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2019, 16:41 |
|
|
start [/forum/topic.php?fid=52&msg=39795488&tid=1882632]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
43ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 291ms |
total: | 435ms |
0 / 0 |