Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Почему на physical standby изменения применяются только после switch logfile / 13 сообщений из 13, страница 1 из 1
26.10.2018, 19:00
    #39723749
quest_asker
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему на physical standby изменения применяются только после switch logfile
Есть связка primary - physical standby. Версия 12.2.0.1.0
standby открыта в режиме read only with apply
все логи уходят на standby, но применяются не сразу, а только если на primary выполнить
Код: plsql
1.
alter system switch logfile;


например, на primary выполняю
Код: plsql
1.
2.
insert into cdc_user.Table1(Column1) Values('test1');
commit;


в archive log list на primary (остается также как было до insert'a):
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 13
Next log sequence to archive 15
Current log sequence 15


в standby новая запись не появляется
если после этого в primary выполнить
Код: plsql
1.
alter system switch logfile;

, то все sequence увеличиваются и новая запись появляется на standby:
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 14
Next log sequence to archive 16
Current log sequence 16


Подскажите, почему так происходит и как сделать, чтобы изменения сразу появлялись на standby
...
Рейтинг: 0 / 0
26.10.2018, 19:07
    #39723753
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему на physical standby изменения применяются только после switch logfile
1) разберитесь как работает standby
2) Прочитайте информацию о разнице между
real time apply
redo apply
...
Рейтинг: 0 / 0
26.10.2018, 19:12
    #39723755
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему на physical standby изменения применяются только после switch logfile
quest_asker,

change vector oracle redo log
+ упрощённое описание процесса наката
21202911
...
Рейтинг: 0 / 0
26.10.2018, 19:43
    #39723760
quest_asker
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему на physical standby изменения применяются только после switch logfile
Vadim Lejnin,
standby в режиме REAL TIME APPLY
В момент фиксации commit, этот блок пишется в redo, и commit complete сессия получает только в момент, когда вектор измененния данных запишется на диск в файл redo.
это не значит, что после commit'a новая запись должна появиться на STANDBY ?
...
Рейтинг: 0 / 0
26.10.2018, 23:46
    #39723815
mikhail.aksenov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему на physical standby изменения применяются только после switch logfile
нет, не значит

а значит, что будет применён файл с REDO записями на стенбай сервере, который будет отправлен на standby после переключения журнального файла

=> если сгорит основной сервер, то на стендбае потеря информации (отставание) будет составлять - один активный лог - CURRENT (в общем случае).
...
Рейтинг: 0 / 0
27.10.2018, 00:09
    #39723820
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему на physical standby изменения применяются только после switch logfile
mikhail.aksenovнет, не значит

а значит, что будет применён файл с REDO записями на стенбай сервере, который будет отправлен на standby после переключения журнального файла

=> если сгорит основной сервер, то на стендбае потеря информации (отставание) будет составлять - один активный лог - CURRENT (в общем случае).

Мессир, не надо путать других, если не уверены что знаете
прочитайте что такое real time apply
...
Рейтинг: 0 / 0
27.10.2018, 00:22
    #39723821
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему на physical standby изменения применяются только после switch logfile
quest_askerVadim Lejnin,
standby в режиме REAL TIME APPLY
В момент фиксации commit, этот блок пишется в redo, и commit complete сессия получает только в момент, когда вектор измененния данных запишется на диск в файл redo.
это не значит, что после commit'a новая запись должна появиться на STANDBY ?

Смотря что Вы понимаете
> после commit'a новая запись должна появиться на STANDBY
1) Асинхронный накат (maximum perfomance) не гарантирует что после commit вектор окажется на standby
то есть возможна потеря транзакций, если они не успели передаться на standby при аварии мастера

2) даже если у вас максимальная защита, то коммит завершится, когда вектор попадет в standby redo log, а не когда накат этого вектора произойдет.
...
Рейтинг: 0 / 0
27.10.2018, 00:50
    #39723825
quest_asker
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему на physical standby изменения применяются только после switch logfile
Vadim LejninСмотря что Вы понимаете
> после commit'a новая запись должна появиться на STANDBY
1) Асинхронный накат (maximum perfomance) не гарантирует что после commit вектор окажется на standby
то есть возможна потеря транзакций, если они не успели передаться на standby при аварии мастера

2) даже если у вас максимальная защита, то коммит завершится, когда вектор попадет в standby redo log, а не когда накат этого вектора произойдет.
я имею в виду, что в режиме real-time apply после выполнения на primary insert'a записи:
Код: sql
1.
2.
insert into cdc_user.Table1(Column1) Values('test1');
commit;


я ожидаю увидеть эту запись на standby (при штатной работе, без сбоев в сети или чего-то подобного), но почему-то я не вижу её на standby пока не выполню switch logfile (что в моем понимании соответствует redo apply).

Документацию читал, но безуспешно, physical standby настраивал не я, может в настройках что-то не так, но опять же по всяким статьям типа "HOW TO CHECK REAL TIME APPLY IS ENABLED" всё в порядке.
Код: sql
1.
select PROTECTION_MODE, PROTECTION_LEVEL, DATABASE_ROLE, SWITCHOVER_STATUS, OPEN_MODE, GUARD_STATUS from v$database;


На primary:
PROTECTION_MODE PROTECTION_LEVEL DATABASE_ROLE SWITCHOVER_STATUS OPEN_MODE GUARD_S
-------------------- -------------------- ---------------- -------------------- -------------------- -------
MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE PRIMARY TO STANDBY READ WRITE NONE
На standby:
PROTECTION_MODE PROTECTION_LEVEL DATABASE_ROLE SWITCHOVER_STATUS OPEN_MODE GUARD_S
-------------------- -------------------- ---------------- -------------------- -------------------- -------
MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE PHYSICAL STANDBY NOT ALLOWED READ ONLY WITH APPLY NONE

Код: sql
1.
select DEST_ID,dest_name,status,type,srl,recovery_mode from v$archive_dest_status where dest_id=1;


на standby:
DEST_ID DEST_NAME STATUS TYPE SRL RECOVERY_MODE
---------- ------------------------------ --------- ---------------- --- -----------------------
1 LOG_ARCHIVE_DEST_1 VALID LOCAL NO MANAGED REAL TIME APPLY

Должны ли внесенные в таблицу изменения на primary сразу появляться на standby в режиме real-time apply или я это в корне не верно понимаю?
...
Рейтинг: 0 / 0
27.10.2018, 06:42
    #39723839
Вячеслав Любомудров
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему на physical standby изменения применяются только после switch logfile
На стендбае проверь SRL (v$standby_log), в частности, что их размер равен (в новых версиях не меньше) размера опреративных журналов (v$log)
...
Рейтинг: 0 / 0
28.10.2018, 01:30
    #39723978
Vivat!San
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему на physical standby изменения применяются только после switch logfile
автор4. Differents in the Log Apply Services when using Standby Redo Logs
--------------------------------------------------------------------

In case you do not have Standby Redo Logs, an Archived Redo Log is created by the RFS process and when it has completed,
this Archived Redo Log is appliedto the Standby Database by the MRP (Managed Recovery Process) or the Logical
Apply in Oracle 10g when using Logical Standby. An open (not fully written) ArchiveLog file cannot be applied on the
Standby Database and will not be used in a Failover situation. This causes a certain data loss.

If you have Standby Redo Logs, the RFS process will write into the Standby Redo Log as mentioned above and when a
log switch occurs, the Archiver Process of the Standby Database will archive this Standby Redo Log to an Archived Redo Log,
while the MRP process applies the information to the Standby Database. In a Failover situation, you will also have access to the
information already written in the Standby Redo Logs, so the information will not be lost.

Starting with Oracle 10g you have also the Option to use Real-Time Apply with Physical and Logical Standby Apply.
When using Real-Time Apply we directly apply Redo Data from Standby RedoLogs. Real-Time Apply is also not able to apply Redo
from partial filled ArchiveLogs if there are no Standby RedoLogs. So Standby RedoLogs are mandatory for Real-Time Apply.

NOTE : In 12c DEFAULT MRP will go to REAL TIME APPLY mode.

Default Standby recovery in REAL time apply.
SQL>alter database recover managed standby database disconnect;
To Start MRP in non real time apply mode use,(in 12c)
SQL>alter database recover managed standby database using archived logfile disconnect;
...
Рейтинг: 0 / 0
28.10.2018, 11:41
    #39724013
stdio
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему на physical standby изменения применяются только после switch logfile
quest_asker...
Подскажите, почему так происходит и как сделать, чтобы изменения сразу появлялись на standbyкакой lag?
что показывает show configuration
покажи, что у тебя real time apply, из чего это следует.
...
Рейтинг: 0 / 0
28.10.2018, 13:52
    #39724064
Вячеслав Любомудров
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему на physical standby изменения применяются только после switch logfile
Vivat!Sanавтор4. Differents in the Log Apply Services when using Standby Redo Logs
--------------------------------------------------------------------

In case you do not have Standby Redo Logs, an Archived Redo Log is created by the RFS process and when it has completed,
this Archived Redo Log is appliedto the Standby Database by the MRP (Managed Recovery Process) or the Logical
Apply in Oracle 10g when using Logical Standby. An open (not fully written) ArchiveLog file cannot be applied on the
Standby Database and will not be used in a Failover situation. This causes a certain data loss.

If you have Standby Redo Logs, the RFS process will write into the Standby Redo Log as mentioned above and when a
log switch occurs, the Archiver Process of the Standby Database will archive this Standby Redo Log to an Archived Redo Log,
while the MRP process applies the information to the Standby Database. In a Failover situation, you will also have access to the
information already written in the Standby Redo Logs, so the information will not be lost.

Starting with Oracle 10g you have also the Option to use Real-Time Apply with Physical and Logical Standby Apply.
When using Real-Time Apply we directly apply Redo Data from Standby RedoLogs. Real-Time Apply is also not able to apply Redo
from partial filled ArchiveLogs if there are no Standby RedoLogs. So Standby RedoLogs are mandatory for Real-Time Apply.

NOTE : In 12c DEFAULT MRP will go to REAL TIME APPLY mode.

Default Standby recovery in REAL time apply.
SQL>alter database recover managed standby database disconnect;
To Start MRP in non real time apply mode use,(in 12c)
SQL>alter database recover managed standby database using archived logfile disconnect;Спасибо, интересно
...
Рейтинг: 0 / 0
28.10.2018, 13:55
    #39724066
Вячеслав Любомудров
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему на physical standby изменения применяются только после switch logfile
stdioquest_asker...
Подскажите, почему так происходит и как сделать, чтобы изменения сразу появлялись на standbyкакой lag?
что показывает show configuration
покажи, что у тебя real time apply, из чего это следует.Может DG Broker не настроен и не используется
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Почему на physical standby изменения применяются только после switch logfile / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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