powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Быстрый switchover
12 сообщений из 12, страница 1 из 1
Быстрый switchover
    #39613568
mrp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mrp
Гость
Всем, привет!

Коллеги, поделитесь, пожалуйста, своим опытом кто как делает переключение БД в высоконагруженных системах. Т.е. интересен именно опыт OLTP баз под нагрузкой.

Суть проблемы такая - нужно переключиться на стендбай с минимальным даунтаймом.

1) Делаешь подготовку к переключению (стендбай в маунт, посвичить логи, откатить все длинные транзакции, если такие есть)
2) Отстрелить сессии, посвичить логи еще раз, убедиться что они применились.
3) Нажать alter database commit to switchover to physical standby with session shutdown...
И вот тут может получиться ситуация, когда команда повисает, при этом ее никто не блокирует, в v$session_wait можно увидеть RFS сессии, которые пытаются переслать на стендбай какие-то старые логи, при этом в сеть машина не упирается и редо в логах не очень много. Праймари никак не может сформировать end of redo и получается, что переключение не может выполниться, а даунтайм уже идет. Рестарт команды commit to switchover не помогает,
помогает грубый рестарт праймари в restricted с повтором commit to switchover.

Хочется услышать кто как подготавливается к переключению и что делает в подобных случаях повисания (использует какой-нибудь специальный event или параметр чтобы "прочистить" мозги процессу формирования end of redo).

Уточню еще раз, это не проблема блокировок от пользовательских сессий или отката транзакций, это проблема на уровне MRP/RFS/чего-то еще.

База 12.1 linux_64

Как один из вариантов - перевыставление dest_x туда, куда переключаешься.

Спасибо заранее за ответы!
...
Рейтинг: 0 / 0
Быстрый switchover
    #39613933
Q.Tarantino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
еще желательно перед переключением на праймари выставить job_queue_processes=0
...
Рейтинг: 0 / 0
Быстрый switchover
    #39614135
oracloud
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mrp,
Использую Broker, сам все делает
...
Рейтинг: 0 / 0
Быстрый switchover
    #39614198
Q.Tarantino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oracloudmrp,
Использую Broker, сам все делает
да, удобно.
но мож он его не юзает...
...
Рейтинг: 0 / 0
Быстрый switchover
    #39614495
бурлесон_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
звучит так как будто автор считает данное поведение документированным и в саппорт не обращается.

или данная высоконагруженная система не на поддержке?
...
Рейтинг: 0 / 0
Быстрый switchover
    #39614871
mrp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mrp
Гость
Коллеги, broker это еще одно звено в цепи, которая итак "зависает".

Может у кого-то есть в закромах чьи-нибудь pdf'ки про "internals" механизма switchover ? Поделитесь, пожалуйста.

В саппорт не надо отправлять, там все медленно и до реально знающих core людей там трудно достучаться.
...
Рейтинг: 0 / 0
Быстрый switchover
    #39614903
Q.Tarantino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mrpКоллеги, broker это еще одно звено в цепи, которая итак "зависает".
ну как-то ни разу он не подводил.
да, он может "подвиснуть", если у тебя tnsping до стендбая отваливается с фразой "...timeout"
соответственно и "show database ..." будет подвисать.
...
Рейтинг: 0 / 0
Быстрый switchover
    #39614905
Q.Tarantino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mrpМожет у кого-то есть в закромах чьи-нибудь pdf'ки про "internals" механизма switchover ? Поделитесь, пожалуйста.
support.oracle.com:
11.2 Data Guard Physical Standby Switchover Best Practices using SQL*Plus (Doc ID 1304939.1)

не благодари.
...
Рейтинг: 0 / 0
Быстрый switchover
    #39614921
mrp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mrp
Гость
Q.TarantinomrpМожет у кого-то есть в закромах чьи-нибудь pdf'ки про "internals" механизма switchover ? Поделитесь, пожалуйста.
support.oracle.com:
11.2 Data Guard Physical Standby Switchover Best Practices using SQL*Plus (Doc ID 1304939.1)

не благодари.

Спасибо, там кроме, пожалуй, log_archive_trace=8191 ничего интересного :)

И все же может у кого-нибудь есть более internal файлики?
...
Рейтинг: 0 / 0
Быстрый switchover
    #39614945
oracloud
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mrp,
в транзакции заглядывали? Может там что-то долгоиграющее-неприбиваемое висит
...
Рейтинг: 0 / 0
Быстрый switchover
    #39614993
Фотография DВА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oracloudmrp,
в транзакции заглядывали? Может там что-то долгоиграющее-неприбиваемое висит
1.откатить все прибитое
2.отролбачить все умершее и разрулить распределенное
3.сделать чекпоинт
4.передать все на стендбай
5.дождаться пока накатится

это чисто навскидку
А вот старые логи хз нафиг они ему понадобились
...
Рейтинг: 0 / 0
Быстрый switchover
    #39649951
fortnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mrp3) Нажать alter database commit to switchover to physical standby with session shutdown...
И вот тут может получиться ситуация, когда команда повисает, при этом ее никто не блокирует, в v$session_wait можно увидеть RFS сессии, которые пытаются переслать на стендбай какие-то старые логи, при этом в сеть машина не упирается и редо в логах не очень много. Праймари никак не может сформировать end of redo и получается, что переключение не может выполниться, а даунтайм уже идет. Рестарт команды commit to switchover не помогает,
помогает грубый рестарт праймари в restricted с повтором commit to switchover.

База 12.1 linux_64


Где вы такие команды берете?
Все же просто :

1) Проверяем на primary:
alter database switchover to stand_db_name verify;

Например:
alter database switchover to stand_db_name verify
*
ERROR at line 1:
ORA-16475: succeeded with warnings, check alert log for more details

-- все OK.
Или

ALTER DATABASE SWITCHOVER TO stand_db_name VERIFY
*
ERROR at line 1:
ORA-16470: Redo Apply is not running on switchover target

Возможно на standby остановлен накат - , тогда на стендбае :

alter database recover managed standby database using archived logfile disconnect;
(здесь асинхронный накат через архивные журналы)
---------------------------------------------------------------------------------------
На primary дальше проверяем :
select open_mode, switchover_status from v$database;

OPEN_MODE SWITCHOVER_STATUS
-------------------- --------------------
READ WRITE TO STANDBY

И переключаемся:

alter database switchover to stand_db_name ;


Загвоздка может получиться , если вы не используете standby logs. Тогда их следует создать на обоих БД.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Быстрый switchover
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]