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

Коллеги, поделитесь, пожалуйста, своим опытом кто как делает переключение БД в высоконагруженных системах. Т.е. интересен именно опыт 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
13.03.2018, 09:52
    #39613933
Q.Tarantino
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Быстрый switchover
еще желательно перед переключением на праймари выставить job_queue_processes=0
...
Рейтинг: 0 / 0
13.03.2018, 14:25
    #39614135
oracloud
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Быстрый switchover
mrp,
Использую Broker, сам все делает
...
Рейтинг: 0 / 0
13.03.2018, 16:04
    #39614198
Q.Tarantino
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Быстрый switchover
oracloudmrp,
Использую Broker, сам все делает
да, удобно.
но мож он его не юзает...
...
Рейтинг: 0 / 0
14.03.2018, 02:48
    #39614495
бурлесон_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Быстрый switchover
звучит так как будто автор считает данное поведение документированным и в саппорт не обращается.

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

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

В саппорт не надо отправлять, там все медленно и до реально знающих core людей там трудно достучаться.
...
Рейтинг: 0 / 0
14.03.2018, 17:18
    #39614903
Q.Tarantino
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Быстрый switchover
mrpКоллеги, broker это еще одно звено в цепи, которая итак "зависает".
ну как-то ни разу он не подводил.
да, он может "подвиснуть", если у тебя tnsping до стендбая отваливается с фразой "...timeout"
соответственно и "show database ..." будет подвисать.
...
Рейтинг: 0 / 0
14.03.2018, 17:21
    #39614905
Q.Tarantino
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Быстрый switchover
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
14.03.2018, 17:37
    #39614921
mrp
mrp
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Быстрый switchover
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
14.03.2018, 18:16
    #39614945
oracloud
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Быстрый switchover
mrp,
в транзакции заглядывали? Может там что-то долгоиграющее-неприбиваемое висит
...
Рейтинг: 0 / 0
14.03.2018, 19:46
    #39614993
DВА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Быстрый switchover
oracloudmrp,
в транзакции заглядывали? Может там что-то долгоиграющее-неприбиваемое висит
1.откатить все прибитое
2.отролбачить все умершее и разрулить распределенное
3.сделать чекпоинт
4.передать все на стендбай
5.дождаться пока накатится

это чисто навскидку
А вот старые логи хз нафиг они ему понадобились
...
Рейтинг: 0 / 0
25.05.2018, 14:48
    #39649951
fortnet
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Быстрый switchover
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
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Быстрый switchover / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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