HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <p>Теги: субд, базы данных, standby, датафайлы, управление базами данных</p>
1 <p>Теги: субд, базы данных, standby, датафайлы, управление базами данных</p>
2 <p>Иногда вследствие сбоев сети и определённых настроек удаления архивлогов возникает ситуация, что<strong>стэндбай</strong>перестаёт накатываться, часть логов утеряна, и просто догнать его не получается.</p>
2 <p>Иногда вследствие сбоев сети и определённых настроек удаления архивлогов возникает ситуация, что<strong>стэндбай</strong>перестаёт накатываться, часть логов утеряна, и просто догнать его не получается.</p>
3 <p>Как я писал, для 12-й версии возможна накатка по сети с помощью<strong>recover from service</strong>. Для 11-й версии тоже есть выход - сделать инкрементальный бэкап с момента последнего SCN на<strong>standby</strong>.</p>
3 <p>Как я писал, для 12-й версии возможна накатка по сети с помощью<strong>recover from service</strong>. Для 11-й версии тоже есть выход - сделать инкрементальный бэкап с момента последнего SCN на<strong>standby</strong>.</p>
4 <p>Выясняем, какой SCN на STANDBY:</p>
4 <p>Выясняем, какой SCN на STANDBY:</p>
5 SQL&gt;SELECT CURRENT_SCN FROM V$DATABASE;<p>Снимаем бэкап на<strong>primary</strong>:</p>
5 SQL&gt;SELECT CURRENT_SCN FROM V$DATABASE;<p>Снимаем бэкап на<strong>primary</strong>:</p>
6 RMAN&gt;BACKUP INCREMENTAL FROM SCN &lt;standby_scn&gt; DATABASE FORMAT '/nfs/ForStandby_%U' tag 'FORSTANDBY';<p>Добавляем бэкап в каталог<strong>STANDBY</strong>:</p>
6 RMAN&gt;BACKUP INCREMENTAL FROM SCN &lt;standby_scn&gt; DATABASE FORMAT '/nfs/ForStandby_%U' tag 'FORSTANDBY';<p>Добавляем бэкап в каталог<strong>STANDBY</strong>:</p>
7 RMAN&gt;CATALOG START WITH '/nfs/ForStandby';<p>Делаем восстановление:</p>
7 RMAN&gt;CATALOG START WITH '/nfs/ForStandby';<p>Делаем восстановление:</p>
8 RMAN&gt;RECOVER DATABASE NOREDO;<p>Теперь нужно, чтоб<strong>версия контролфайла совпадала с версиями датафайлов</strong>, поэтому снимаем копию с праймари:</p>
8 RMAN&gt;RECOVER DATABASE NOREDO;<p>Теперь нужно, чтоб<strong>версия контролфайла совпадала с версиями датафайлов</strong>, поэтому снимаем копию с праймари:</p>
9 RMAN&gt;BACKUP CURRENT CONTROLFILE FOR STANDBY FORMAT '/nfs/standby_ctl.bac';<p>и восстанавливаем на стэндбае:</p>
9 RMAN&gt;BACKUP CURRENT CONTROLFILE FOR STANDBY FORMAT '/nfs/standby_ctl.bac';<p>и восстанавливаем на стэндбае:</p>
10 RMAN&gt; SHUTDOWN IMMEDIATE ; RMAN&gt; STARTUP NOMOUNT; RMAN&gt; RESTORE STANDBY CONTROLFILE FROM '/nfs/standby_ctl.bac';<p>Остаётся последний важный важный момент, особенно, если у вас файлы на<strong>ASМ</strong>: после восстановления контролфайла все пути к файлам там теперь такие же, как на праймари.</p>
10 RMAN&gt; SHUTDOWN IMMEDIATE ; RMAN&gt; STARTUP NOMOUNT; RMAN&gt; RESTORE STANDBY CONTROLFILE FROM '/nfs/standby_ctl.bac';<p>Остаётся последний важный важный момент, особенно, если у вас файлы на<strong>ASМ</strong>: после восстановления контролфайла все пути к файлам там теперь такие же, как на праймари.</p>
11 <p>И тут есть 2 варианта: 1) делать руками<strong>rename</strong>; 2) воспользоваться более автоматизированной процедурой:</p>
11 <p>И тут есть 2 варианта: 1) делать руками<strong>rename</strong>; 2) воспользоваться более автоматизированной процедурой:</p>
12 SQL&gt; SHUTDOWN; SQL&gt; STARTUP MOUNT; RMAN&gt; CATALOG START WITH '+ASMDATA/datafile/'; RMAN&gt; SWITCH DATABASE TO COPY;<p>После этого не забудьте зачистить ваши<strong>логфайлы</strong>:</p>
12 SQL&gt; SHUTDOWN; SQL&gt; STARTUP MOUNT; RMAN&gt; CATALOG START WITH '+ASMDATA/datafile/'; RMAN&gt; SWITCH DATABASE TO COPY;<p>После этого не забудьте зачистить ваши<strong>логфайлы</strong>:</p>
13 ALTER DATABASE CLEAR LOGFILE GROUP [group number];<p>и можете вновь запускать ваш стэндбай в режиме<strong>подкачки</strong>.</p>
13 ALTER DATABASE CLEAR LOGFILE GROUP [group number];<p>и можете вновь запускать ваш стэндбай в режиме<strong>подкачки</strong>.</p>
14 <p><em>Вот и всё на сегодня. Чтобы узнать больше, записывайтесь на курс<a>"Реляционные СУБД"</a>!</em></p>
14 <p><em>Вот и всё на сегодня. Чтобы узнать больше, записывайтесь на курс<a>"Реляционные СУБД"</a>!</em></p>
15  
15