0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<p>Теги: субд, базы данных, бд, show configuration, data guard broker, create configuration, add database, standby, primary, dgmgrl, switchover to <standby>, failover to <standby>, fast-start failover, spfile</p>
1
<p>Теги: субд, базы данных, бд, show configuration, data guard broker, create configuration, add database, standby, primary, dgmgrl, switchover to <standby>, failover to <standby>, fast-start failover, spfile</p>
2
<p>Классическая схема работы<strong>Standby</strong>меня в принципе всегда устраивала, но появилось желание перенастроить контроль за<strong>StandBy</strong>через<strong>Data Guard Broker</strong>.</p>
2
<p>Классическая схема работы<strong>Standby</strong>меня в принципе всегда устраивала, но появилось желание перенастроить контроль за<strong>StandBy</strong>через<strong>Data Guard Broker</strong>.</p>
3
<p>Итак, на входе у нас стабильно работающий физический<strong>StandBy</strong>. Настройка осуществляется через инструмент<strong>dgmgrl</strong>.</p>
3
<p>Итак, на входе у нас стабильно работающий физический<strong>StandBy</strong>. Настройка осуществляется через инструмент<strong>dgmgrl</strong>.</p>
4
<p>Подключаемся и смотрим конфигурацию:</p>
4
<p>Подключаемся и смотрим конфигурацию:</p>
5
dgmgrl / DGMGRL> show configuration; ORA-16525: The Oracle Data Guard broker is not yet available. Configuration details cannot be determined by DGMGRL DGMGRL><p>Конфигурации у нас нет, поэтому начинаем её создавать:</p>
5
dgmgrl / DGMGRL> show configuration; ORA-16525: The Oracle Data Guard broker is not yet available. Configuration details cannot be determined by DGMGRL DGMGRL><p>Конфигурации у нас нет, поэтому начинаем её создавать:</p>
6
DGMGRL> CREATE CONFIGURATION 'DGconf' AS PRIMARY DATABASE IS 'primary' > Connect identifier IS 'primary'; Error: ORA-16525: The Oracle Data Guard broker is not yet available. DGMGRL><p>Брокер не включен, поэтому включаем его через<strong>sqlplus</strong>. Но перед тем как включить, необходимо выключить дополнительные пути сохранения архив-логов на<strong>StandBy</strong>. Операцию проводим на обеих машинах:<strong>primary</strong>и<strong>standby</strong>:</p>
6
DGMGRL> CREATE CONFIGURATION 'DGconf' AS PRIMARY DATABASE IS 'primary' > Connect identifier IS 'primary'; Error: ORA-16525: The Oracle Data Guard broker is not yet available. DGMGRL><p>Брокер не включен, поэтому включаем его через<strong>sqlplus</strong>. Но перед тем как включить, необходимо выключить дополнительные пути сохранения архив-логов на<strong>StandBy</strong>. Операцию проводим на обеих машинах:<strong>primary</strong>и<strong>standby</strong>:</p>
7
ALTER SYSTEM SET log_archive_dest_2='' scope=both; ALTER SYSTEM SET dg_broker_start = true scope=both;<p>Теперь снова пробуем создать конфигурацию в<strong>dgmgrl</strong>:</p>
7
ALTER SYSTEM SET log_archive_dest_2='' scope=both; ALTER SYSTEM SET dg_broker_start = true scope=both;<p>Теперь снова пробуем создать конфигурацию в<strong>dgmgrl</strong>:</p>
8
Connected as SYSDG. DGMGRL> CREATE CONFIGURATION 'DGconf' AS PRIMARY DATABASE IS 'primary' > Connect identifier IS 'primary'; Configuration "DGconf" created with primary database "primary" DGMGRL><p>Добавляем<strong>StandBy</strong>в конфигурацию:</p>
8
Connected as SYSDG. DGMGRL> CREATE CONFIGURATION 'DGconf' AS PRIMARY DATABASE IS 'primary' > Connect identifier IS 'primary'; Configuration "DGconf" created with primary database "primary" DGMGRL><p>Добавляем<strong>StandBy</strong>в конфигурацию:</p>
9
DGMGRL> ADD DATABASE 'standby' as Connect identifier IS 'standby'; Database "standby" added DGMGRL> show configuration; Configuration - DGconf Protection Mode: MaxPerformance Members: primary - Primary database standby - Physical standby database Fast-Start Failover: DISABLED Configuration Status: DISABLED<p>Остаётся включить конфигурацию:</p>
9
DGMGRL> ADD DATABASE 'standby' as Connect identifier IS 'standby'; Database "standby" added DGMGRL> show configuration; Configuration - DGconf Protection Mode: MaxPerformance Members: primary - Primary database standby - Physical standby database Fast-Start Failover: DISABLED Configuration Status: DISABLED<p>Остаётся включить конфигурацию:</p>
10
<h2>И всё, Data Guard готов!</h2>
10
<h2>И всё, Data Guard готов!</h2>
11
<p>При необходимости можно сделать рабочее переключение SWITCHOVER TO <standby> и обратно. При падении основной базы можно активировать<strong>Standby</strong>командой FAILOVER TO <standby>.</p>
11
<p>При необходимости можно сделать рабочее переключение SWITCHOVER TO <standby> и обратно. При падении основной базы можно активировать<strong>Standby</strong>командой FAILOVER TO <standby>.</p>
12
<p>Если бизнес-правила требуют, то можно ещё настроить и<strong>Fast-Start Failover</strong>, чтобы<strong>Standby</strong>активировался автоматически при отказе основной базы.</p>
12
<p>Если бизнес-правила требуют, то можно ещё настроить и<strong>Fast-Start Failover</strong>, чтобы<strong>Standby</strong>активировался автоматически при отказе основной базы.</p>
13
<h2>Возможные проблемы</h2>
13
<h2>Возможные проблемы</h2>
14
<p>У меня встретились две: 1.<strong>Standby</strong>система была запущена без<strong>SPFILE</strong>. Лучше это исправить сразу. 2. Physical Standby Database standby Warning ORA-16792 -<strong>некорректные параметры</strong>можно посмотреть в логе и настроить корректно. Лог живет здесь:</p>
14
<p>У меня встретились две: 1.<strong>Standby</strong>система была запущена без<strong>SPFILE</strong>. Лучше это исправить сразу. 2. Physical Standby Database standby Warning ORA-16792 -<strong>некорректные параметры</strong>можно посмотреть в логе и настроить корректно. Лог живет здесь:</p>
15
/opt/oracle/diag/rdbms/<standby>/<standby>/trace/drc<standby>.log<p><em>Остались вопросы по настройке Data Guard Broker? Спрашивайте в комментариях!</em></p>
15
/opt/oracle/diag/rdbms/<standby>/<standby>/trace/drc<standby>.log<p><em>Остались вопросы по настройке Data Guard Broker? Спрашивайте в комментариях!</em></p>
16
16