powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / накат online redo с primary на standby
21 сообщений из 21, страница 1 из 1
накат online redo с primary на standby
    #39417802
псж2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
всем, привет!
возможен ли subject?
или только archived redo можно накатывать через register logfile?
...
Рейтинг: 0 / 0
накат online redo с primary на standby
    #39417810
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможен

Правда, в EE это делается автоматически с указанием транспорта LGWR и Standby Redo Logs. Но даже в том случае, если перед сбоем боевой навернулся канал передачи REDO-потока и последнее, что передалось -- это цельный архивлог, перед выполнением failover подкладываются Online Redo Logs (и недостающие архивлоги) и выполняется накат до последней записи в REDO
...
Рейтинг: 0 / 0
накат online redo с primary на standby
    #39417811
псж2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо, удавалось делать это на практике (подкладывать все недостающие archived logs и в конце online log(s))?

почему-то в документации Oracle не указано какой именно тип лог-файла можно использовать, с другой стороны какая разница между archived и online в ситуации когда от Primary целыми остались только логи и их нужно накатить на Standby?
...
Рейтинг: 0 / 0
накат online redo с primary на standby
    #39417813
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во времена 8-ки это было документировано, в том числе с самого появления стендбая, с 7.3 -- подкладывание REDO (и контролов для switchover) -- Graceful Switchover and Switchback of Oracle Standby Databases (Doc ID 76450.1)
То, что появился Managed Standby и SRL совсем не отменяет базовых вещей
...
Рейтинг: 0 / 0
накат online redo с primary на standby
    #39417959
псж2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
на основании этого документа online logs нужно скопировать из Primary в Standby, а не регистрировать и применять как archived logs
...
Рейтинг: 0 / 0
накат online redo с primary на standby
    #39418035
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На основании этого документа выполняется Graceful Switchover -- т.е. ты тащишь не только ONLINE REDO, но и контролы (или, в новой версии, пересоздаешь)
Поэтому REDO у тебя подхватятся сами, т.к. стендбайная БД будет выступать в роли Primary

Если тебе нужно докатить стендбай при сбое основного, то его контролы ничего не знают о состоянии оперативных журналов (их может и не быть), поэтому они не подхватятся. Поэтому скармливаешь их как архивные (если у тебя нет SRL или в них неактуальная информация). Хочешь, чтоб они пролезли в результате MANAGED RECOVERY -- регистрируй. А можно просто накатить руками
И, на мой взгляд, лучшее описание физики стендбая в доке по 8-ке (например, твой случай )
В новых уже куча всяких свистелок-перделок и как-то забывается, что накат физического стендбая и активация это не более чем накат обычных логов на бэкап и открытие после [не]полного восстановления
...
Рейтинг: 0 / 0
накат online redo с primary на standby
    #39418295
псж2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да, моя задача - докатить Standby при сбое Primary без потери данных (RPO=0): напр. я обновляю ОС на Standby и в это время происходит сбой на Primary (вероятность не очень велика, но она есть).
допустим сбой Primary DB не позволяет ее смонтировать и выполнить 'flush redo', но если иметь online/archived redo logs на площадке Standby (дисковая репликация), то задача решается
прекрасно понимаю, что дополнительный Standby убирает все эти вопросы, но он будет рассматриваться как один из нескольких при расчете TCO
...
Рейтинг: 0 / 0
накат online redo с primary на standby
    #39418778
fortnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав ЛюбомудровНа основании этого документа выполняется Graceful Switchover -- т.е. ты тащишь не только ONLINE REDO, но и контролы (или, в новой версии, пересоздаешь)
Поэтому REDO у тебя подхватятся сами, т.к. стендбайная БД будет выступать в роли Primary

Если тебе нужно докатить стендбай при сбое основного, то его контролы ничего не знают о состоянии оперативных журналов (их может и не быть), поэтому они не подхватятся. Поэтому скармливаешь их как архивные (если у тебя нет SRL или в них неактуальная информация

Пожалуйста, поясните, как это сделать.
...
Рейтинг: 0 / 0
накат online redo с primary на standby
    #39420217
псж2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нашел вот что: Doc ID 1634979.1
...
Рейтинг: 0 / 0
накат online redo с primary на standby
    #39420263
д0kХ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
псж2да, моя задача - докатить Standby при сбое Primary без потери данных (RPO=0): напр. я обновляю ОС на Standby и в это время происходит сбой на Primary (вероятность не очень велика, но она есть).
допустим сбой Primary DB не позволяет ее смонтировать и выполнить 'flush redo', но если иметь online/archived redo logs на площадке Standby (дисковая репликация), то задача решается
прекрасно понимаю, что дополнительный Standby убирает все эти вопросы, но он будет рассматриваться как один из нескольких при расчете TCO

вам надо делать приблизительно так :
авторLOG_ARCHIVE_DEST_X='SERVICE=standydb LGWR SYNC AFFIRM';


В случае если что то случиться со стендбаем праймари БД
замерзнет на комитах пока вы не отремонтируете стендбай.
А в нормальном режиме работы ожидания log file sync
вырастут на время ответа от стендбая.

Не говорите потом, что вас не предупреждали ....
...
Рейтинг: 0 / 0
накат online redo с primary на standby
    #39420969
MacDuck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
д0kХвам надо делать приблизительно так :
LOG_ARCHIVE_DEST_X='SERVICE=standydb LGWR SYNC AFFIRM';


Зачем SYNC?
...
Рейтинг: 0 / 0
накат online redo с primary на standby
    #39421151
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По-поводу наката
создал быстренько стендбайdupl_stb_tst.sh
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
NEW_NAME=newtst
mkdir -p $ORACLE_BASE/oradata/${NEW_NAME} $ORACLE_BASE/admin/${NEW_NAME}/arch $ORACLE_BASE/admin/${NEW_NAME}/audit
orapwd file=$ORACLE_HOME/dbs/orapw${NEW_NAME} password=sys ignorecase=y force=y

cat > $ORACLE_HOME/dbs/init${NEW_NAME}.ora <<EOF
*.db_name=tst
*.db_unique_name=${NEW_NAME}
EOF

ORACLE_SID=${NEW_NAME}; export ORACLE_SID
sqlplus / as sysdba << EOF
startup pfile=$ORACLE_HOME/dbs/init${NEW_NAME}.ora nomount force
EOF

ORACLE_SID=tst; export ORACLE_SID
rman target / auxiliary sys/sys@${NEW_NAME} <<EOF
duplicate target database for standby
from active database
password file
spfile
    parameter_value_convert='tst', '${NEW_NAME}'
    set db_file_name_convert='/tst/', '/${NEW_NAME}/'
    set log_file_name_convert='/tst/', '/${NEW_NAME}/'
    set db_unique_name='${NEW_NAME}'
    set db_domain='xxx.ru'
    reset fal_server
    reset fal_client
    reset log_archive_dest_2
    reset log_archive_dest_3
;
EOF
Убираем SRL и запускаем накат
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
hercules.oracle> ORACLE_SID=${NEW_NAME}; export ORACLE_SID                                                                                              
hercules.oracle> sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Fri Mar 17 13:27:13 2017

Copyright (c) 1982, 2011, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> shutdown immediate
ORA-01109: database not open


Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.

Total System Global Area  801939456 bytes
Fixed Size                  2163592 bytes
Variable Size             176168056 bytes
Database Buffers          612368384 bytes
Redo Buffers               11239424 bytes
Database mounted.
SQL> select group# from v$standby_log;

    GROUP#
----------
         4
         5

SQL> alter database drop logfile group 5;

Database altered.

SQL> alter database drop logfile group 4;

Database altered.

SQL> select group# from v$standby_log;

no rows selected

SQL> recover managed standby database disconnect 
Media recovery complete.
Настраиваем путь с боевой
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
$ ORACLE_SID=tst sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Fri Mar 17 13:43:24 2017

Copyright (c) 1982, 2011, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL>  alter system set log_archive_dest_4='service=newtst lgwr async=20480 noaffirm reopen=10 register optional valid_for=(online_logfiles, primary_role) db_unique_name=newtst';

System altered.
Работаем, иммитируем сбойНа боевой
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
$ ORACLE_SID=tst sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Fri Mar 17 13:43:24 2017

Copyright (c) 1982, 2011, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> alter system switch logfile;

System altered.

SQL> select member from v$logfile where group#=
  2  (select group# from v$log where status='CURRENT');

MEMBER
--------------------------------------------------------------------------------
 /u/app/oracle/oradata/tst/redo02.log 

SQL> create table system.t1 tablespace users as select * from dual;

Table created.

SQL> shutdown abort
ORACLE instance shut down.
Standby alert.log
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Fri Mar 17 13:48:05 2017
Media Recovery Log /u/app/oracle/admin/newtst/arch/1_31425_667124704.arc
Media Recovery Waiting for thread 1 sequence 31426 (in transit)
Fri Mar 17 13:50:51 2017
RFS[2]: Possible network disconnect with primary database
Fri Mar 17 13:50:51 2017
RFS[1]: Possible network disconnect with primary database
Fri Mar 17 13:50:51 2017
RFS[3]: Assigned to RFS process 18740
RFS[3]: Possible network disconnect with primary database
Fri Mar 17 13:50:54 2017
FAL[client]: Error fetching gap sequence, no FAL server specified
Ну и собственно, сам failoverСтендбай
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
SQL> recover managed standby database cancel;
Media recovery complete.
SQL> recover standby database
ORA-00279: change 18111428929 generated at 03/17/2017 13:47:10 needed for
thread 1
ORA-00289: suggestion : /u/app/oracle/admin/newtst/arch/1_31426_667124704.arc
ORA-00280: change 18111428929 for thread 1 is in sequence #31426


Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
 /u/app/oracle/oradata/tst/redo02.log 
Log applied.
Media recovery complete.
SQL> alter database activate standby database;

Database altered.

SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-01139: RESETLOGS option only valid after an incomplete database recovery
--- А вот раньше, насколько помню, всегда RESETLOGS требовала
--- Правда, оно все равно в новой инкарнации создается

SQL> alter database open;

Database altered.

SQL> desc system.t1
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 DUMMY                                              VARCHAR2(1)
Standby alert.log
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
Fri Mar 17 13:53:13 2017
ALTER DATABASE RECOVER  standby database
Media Recovery Start
 started logmerger process
Fri Mar 17 13:53:13 2017
Managed Standby Recovery not using Real Time Apply
Parallel Media Recovery started with 32 slaves
ORA-279 signalled during: ALTER DATABASE RECOVER  standby database  ...
Fri Mar 17 13:53:44 2017
ALTER DATABASE RECOVER    LOGFILE '/u/app/oracle/oradata/tst/redo02.log'
Media Recovery Log /u/app/oracle/oradata/tst/redo02.log
Fri Mar 17 13:53:44 2017
Incomplete recovery applied all redo ever generated.
Recovery completed through change 18111429189 time 03/17/2017 13:50:50
Media Recovery Complete (newtst)
Completed: ALTER DATABASE RECOVER    LOGFILE '/u/app/oracle/oradata/tst/redo02.log'
Fri Mar 17 13:54:03 2017
alter database activate standby database
ALTER DATABASE ACTIVATE [PHYSICAL] STANDBY DATABASE (newtst)
Begin: Standby Redo Logfile archival
End: Standby Redo Logfile archival
RESETLOGS after complete recovery through change 18111429189
Resetting resetlogs activation ID 2004787725 (0x777ea20d)
Online log /u/app/oracle/oradata/newtst/redo01.log: Thread 1 Group 1 was previously cleared
Online log /u/app/oracle/oradata/newtst/redo02.log: Thread 1 Group 2 was previously cleared
Online log /u/app/oracle/oradata/newtst/redo03.log: Thread 1 Group 3 was previously cleared
Standby became primary SCN: 18111429187
Fri Mar 17 13:54:04 2017
Setting recovery target incarnation to 4
ACTIVATE STANDBY: Complete - Database mounted as primary
Completed: alter database activate standby database
Fri Mar 17 13:54:14 2017
alter database open resetlogs
ORA-1139 signalled during: alter database open resetlogs...
alter database open
...
...
Рейтинг: 0 / 0
накат online redo с primary на standby
    #39421890
д0kХ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MacDuckд0kХвам надо делать приблизительно так :
LOG_ARCHIVE_DEST_X='SERVICE=standydb LGWR SYNC AFFIRM';


Зачем SYNC?

что бы стимулировать ТС НЕ создавать велосипеды , которые
при реальном сбое никогда не сработают.

А выбрать наиболее подходящий для него Protection Mode.

Вся эта ручная накатка - представляет интерес для понимания процессов восстановления
но как рабочий план восстановления продуктива никуда не годится, потому что ничего не гарантирует.

Тут нельзя быть умным и красивым одновремено

ТС упрямо движется в сторону ансаппортед конфигурации за деньги ТСО.,
за что , в конечном итоге, может получить по шапке.

Это не выбор между умный и красивый,

Я понимаю если бы у него небыло саппорта , можно было бы придумвывать велосипеды
но создавать ансаппортед конфигурацию и считать TCO - выбор между глупым и уродливым.

ps ничего личного .
...
Рейтинг: 0 / 0
накат online redo с primary на standby
    #39422051
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ставить SYNC с одним стендбаем -- это однозначно поиметь проблем
Два стендбая -- это уже другие денежки

У ТС один стендбай, да и тот будет недоступен на время перетрубаций
Конечно, лучший вариант -- второй стендбай, но тут могут быть вопросы как лицензионного плана, так и просто наличие свободной железяки соответствующей мощности.

По поводу "велосипеды , которые при реальном сбое никогда не сработают" -- это как раз самый настоящий штатный механизм
...
Рейтинг: 0 / 0
накат online redo с primary на standby
    #39422076
псж2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
господа, всем спасибо за помощь!
при сравнении различных вариантов отказоустойчивости обязательно буду докладывать руководству кроме ТСО и RPO/RTO еще и поддержку вендора по этому вопросу и связанные с этим риски
решение принимает руководство - далее в рабочем порядке.
...
Рейтинг: 0 / 0
накат online redo с primary на standby
    #39422987
д0kХ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вячеслав ЛюбомудровСтавить SYNC с одним стендбаем -- это однозначно поиметь проблем
Два стендбая -- это уже другие денежки

У ТС один стендбай, да и тот будет недоступен на время перетрубаций
Конечно, лучший вариант -- второй стендбай, но тут могут быть вопросы как лицензионного плана, так и просто наличие свободной железяки соответствующей мощности.

По поводу "велосипеды , которые при реальном сбое никогда не сработают" -- это как раз самый настоящий штатный механизм

Мне лень повторять, но с 2 мя стендбаями
активация одного из стендбаев

alter database activate standby database

с resetlogs делает второй стендбай не валидным.
Второй стендбай путается какой же инкарнации он стендбай .

Велосипед состоит в том что прежде чем делать
alter database activate standby database
параметры LOG_ARCHIVE_CONFIG нужно
приветти в правильное состояние,
в результате второй стендбай тоже должен resetlogs - нуться.

Там не все так тривиально как кажется....
...
Рейтинг: 0 / 0
накат online redo с primary на standby
    #39423074
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сейчас (с 10.2, вроде) стендбай вполне себе проскакивает RESETLOGS без дополнительных приседаний. Только перепустить накат надо

Лень повторять ему... Ну-ну
...
Рейтинг: 0 / 0
накат online redo с primary на standby
    #39423369
dimsy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вячеслав ЛюбомудровСтавить SYNC с одним стендбаем -- это однозначно поиметь проблем

Можно подробней?
Годами работает стендбай с SYNC, переживал и switchover и upgrade версий.
...
Рейтинг: 0 / 0
накат online redo с primary на standby
    #39423678
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имеется ввиду, что стендбай (единственный) может стать недоступен и тогда подвиснет боевая
Все-таки за стендбайной машинкой пригляда поменьше и ее часто используют для всяких тестовых и т.п.
Если у вас не так -- то только приветствую и естественно, к вам такое не относится
...
Рейтинг: 0 / 0
накат online redo с primary на standby
    #39423902
Вячеслав Любомудровстендбай (единственный) может стать недоступен и тогда подвиснет боевая
net_timeout=(1|10|100) + max availability, а не max protection
...
Рейтинг: 0 / 0
накат online redo с primary на standby
    #39423960
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но первоначальная задержка все-равно будет?
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / накат online redo с primary на standby
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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