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