Утилита Data Recovery Advisor

Андрей Волков

Андрей Волков

Системное, сетевое администрирование +DBA. И немного программист!))  Профиль автора.

Утилита Data Recovery Advisor (Советник по восстановлению данных) представляет собой средство, которое помогает устранять неполадки, связанные с повреждением или потерей данных на диске. Она позволяет легко диагностировать и исправлять подобные неполадки с данными и сокращает среднее время восстановления (Mean Time To Repair — MTTR). Она помогает своевременно обнаруживать и устранять проблемы с данными до перехода базы в неисправное состояние и предоставляет оценку последствий неполадок в виде отчета. Вдобавок она определяет наилучшие пути восстановления и, хотя может выполнять процедуры восстановления автоматически, оставляет право на принятие окончательного решения за администратором баз данных. В частности, Data Recovery Advisor помогает диагностировать неполадки следующих типов:

  • недоступные поля данных и управляющие файлы;
  • файлы данных, старее прочих файлов в базе данных;
  • физическое повреждение;
  • проблемы с вводом-выводом, например, из-за ошибок в работе аппаратного обеспечения или неполадок в работе операционной системы.

Получать доступ к Data Recovery Advisor можно через интерфейс Database Control или Grid Control в Enterprise Manager. Однако давайте рассмотрим, как получать доступ к Data Recovery Advisor с помощью RMAN, поскольку такой подход позволит лучше разобраться в том, как работают различные команды Data Recovery Advisor.

 

Работа с Data Recovery Advisor

База данных Oracle Database может обнаруживать неполадку при столкновении с ошибками наподобие поврежденных данных. В подобном случае она запускает автоматические процедуры проверки целостности данных, которые приводят к проведению диагностики неполадок среди данных и занесению результатов в Data Recovery Advisor. Эти процедуры проверки целостности данных можно также вызывать и вручную в профилактических целях. Запускать диагностическую проверку можно через интерфейс Health Monitor (Монитор работоспособности), а проверку на предмет повреждения блоков — командами VALIDATE и BACKUP VALIDATE. Независимо от того, запускается процедура проверки автоматически в ответ на какую-то текущую ошибку или вручную администратором базы данных для профилактических целей, генерируемые во время нее данные анализа неполадок сохраняются в так называемом автоматическом репозитории диагностики (Automatic Diagnostic Repository — ADR). Вызывать Data Recovery Advisor можно только после записывания информации о неполадках в этот репозиторий. Анализировать неполадку можно по следующим отображаемым для нее свойствам.

  • Состояние (failure status). Состояние неполадки остается открытым до тех пор, пока не будет выполнена операция по ее устранению. После устранения неполадки, ее состояние становится закрытым.
  • Степень важности (failure priority). Неполадке может присваиваться высокая, средняя и низкая степень важности. База данных присваивает только высокую и среднюю степень важности, но при наличии уверенности в том, что база данных может игнорировать данную неполадку, пока не будут устранены другие более важные неполадки, эту степень можно легко превращать в низкую и тем самым ограничивать вывод команды LIST FAILURE, которая отображает перечень всех явных неполадок со средней или высокой степенью важности.
  • Группа (failure grouping). Data Recovery Advisor объединяет все связанные между собой поднеполадки в одну неполадку. При желании можно брать и просматривать детали каждой из этих поднеполадок отдельно.

Программу Data Recovery Advisor нужно использовать всякий раз, когда какие-нибудь предупреждения, сообщения об ошибках или результаты проверок целостности данных указывают на наличие в базе данных неполадок. Как уже упоминалось ранее, независимо от того, запускается проверка базы данных вручную или автоматически утилитой RMAN, база данных заносит все конечные сведения о неполадке в репозиторий ADR. По завершении процесса записи сведений о неполадке в ADR может вызываться Data Recovery Advisor.

Для осуществления диагностики проблем и поиска решений Data Recovery Advisory пользуется специальной инфраструктурой диагностирования. Благодаря этому Data Recovery Advisor удобно использовать при возникновении проблем вроде утраченных файлов данных, повреждений блоков данных или отказов средств ввода-вывода. За счет автоматического обнаружения таких проблем и применения рекомендаций по их устранению можно значительно ограничивать ущерб и тем самым сокращать время простоя базы данных.

В подразделах статьи ниже перечислены основные команды Data Recovery Advisor, которыми можно пользоваться для диагностики и устранения неполадок.

 

Просмотр списка неполадок

Для просмотра списка всех встречающихся в базе данных неполадок можно использовать команду LIST FAILURE, как показано ниже: 

RMAN> list failure;
List of Database Failures
Failure ID  Priority  Status    Time Detected  Summary
----------  --------  --------  -------------  ------------------
4           HIGH      OPEN      30-MAR-08      multiple datafiles
are missing
RMAN>

В данном случае вывод этой команды показывает, что не хватает нескольких файлов данных. Обратите внимание, что в выводе команды LIST FAILURE отображаются сведения обо всех неполадках, о которых известно Data Recovery Advisor. При желании просмотреть сведения только о конкретных неполадках, можно применить команду LIST FAILURE...DETAIL: 

RMAN> list failure 4 detail;

Помимо этого, еще также можно использовать любую из следующих разновидностей команды LIST FAILURE

RMAN> list failure critical;
RMAN> LIST FAILURE HIGH;
RMAN> LIST FAILURE LOW;
RMAN> list failure open;
RMAN> list failure closed;
RMAN> list failure exclude failure 12345

 

Определение вариантов исправления неполадок

Команда ADVISE FAILURE, выполняемая следом за командой LIST FAILURE, позволяет получить список возможных как ручных, так и автоматически вариантов для исправления обнаруженных неполадок. Ручные варианты зачастую позволяют избегать более трудоемких автоматических вариантов исправления. Например, легче выполнить замену одной или двух таблиц, чем проводить процедуры RESTORE и RECOVER для всех файлов данных. Ниже приведен пример, демонстрирующий использование команды ADVISE FAILURE:

RMAN> advise failure;
List of Database Failures
Failure ID Priority Status   Time Detected Summary
---------- -------- -------- ------------- ----------------------
4          HIGH     OPEN     30-MAR-08     multiple datafiles
are missing
analyzing automatic repair options; this may take some time
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=152 device type=DISK
analyzing automatic repair options complete
Manual Checklist
=================================================================
if file C:\ORACLE\PRODUCT\11.1.0\ORADATA\NICK\USERS01.DBF was
unintentionally renamed or moved, restore it
if file C:\ORACLE\PRODUCT\11.1.0\ORADATA\NICK\EXAMPLE01.DBF was
unintentionally renamed or moved, restore it
Automated Repair Options
================================================================
Option   Strategy    Repair Description
-------- ----------- ------------------
                     no data loss restore and recover datafile 4,
                     Restore and recover datafile
Repair script: C:\ORCL11\APP\ORACLE\NICK\DIAG\diag\
rdbms\nick\nick\hm\reco_128942564.hm
RMAN>

В этом примере ручной и автоматический варианты выглядят одинаково и требуют проведения для недостающих файлов процедур RESTORE и RECOVER.

 

Исправление неполадок

Прежде чем пытаться следовать рекомендуемым автоматическим процедурам, нужно обязательно попытаться устранить неполадки вручную. Перед выполнением команды REPAIR FAILURE может оказаться удобным использовать команду REPAIR PREVIEW, как показано ниже, для предварительного просмотра стратегии исправления: 

RMAN> repair failure preview;
Strategy     Repair script
------------ -------------------------------------
no data loss C:\ORCL11\APP\ORACLE\NICK\DIAG\diag\
             rdbms\nick\nick\hm\reco_128942564.hm
contents of repair script:
# restore and recover datafile
restore check readonly datafile 4, 5;
recover datafile 4, 5;
RMAN>

После предварительного просмотра стратегии исправления можно перейти к выполнению самой команды REPAIR FAILRE

RMAN> repair failure;
Strategy     Repair script
------------ ----------------------------------------------
no data loss
C:\ORCL11\APP\ORACLE\NICK\DIAG\diag\rdbms\nick\
nick\hm\reco_128942564.hm
contents of repair script:
# restore and recover datafile
restore check readonly datafile 4, 5;
recover datafile 4, 5;
Do you really want to execute the above repair
(enter YES or NO) ? yes
executing repair script
Starting restore at 30-MAR-08
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore
from backup set
Finished restore at 30-MAR-08
Starting recover at 30-MAR-08
starting media recovery
RMAN-08187: WARNING: media recovery until SCN 3212445 complete
Finished recover at 30-MAR-08
repair failure complete
Do you want to open the database (enter YES or NO)? yes
RMAN>

Результаты команды REPAIR FAILURE отображаются в представлении V$IR_REPAIR. Структура этого представления выглядит так: 

SQL> desc v$ir_repair
Name                     Null?  Type
------------------------ ------ --------------
REPAIR_ID                       NUMBER
ADVISE_ID                       NUMBER
SUMMARY                         VARCHAR2(32)
RANK                            NUMBER
TIME_DETECTED                   DATE
EXECUTED                        DATE
ESTIMATED_DATA_LOSS             VARCHAR2(20)
DETAILED_DESCRIPTION            VARCHAR2(1024)
REPAIR_SCRIPT                   VARCHAR2(512)
ESTIMATED_REPAIR_TIME           NUMBER
ACTUAL_REPAIR_TIMENUMBER
STATUS                          VARCHAR2(7)
SQL>

Для просмотра деталей по всем сгенерированным Data Recovery Advisor рекомендациям касательно исправления неполадок служит следующий запрос: 

SQL> select repair_id,advise_id,summary,rank
from v$ir_repair;
REPAIR_ID ADVISE_ID SUMMARY                RANK
--------- --------- ---------------------- ------
23        21        NO DATA LOSS OPTION    1
69        67        NO DATA LOSS OPTION    1
82        80        NO DATA LOSS OPTION    1
SQL>

Команды, которые предлагаются в RMAN для получения доступа и работы с Data Recovery Advisor, выглядят довольно просто, но существует даже еще более простой способ для этого, и заключается он в получении доступа к этому приложению через интерфейс Enterprise Manager (Диспетчер предприятия).

Вас заинтересует / Intresting for you:

Oracle Personal Edition
Oracle Personal Edition 5964 просмотров Надин Tue, 21 Nov 2017, 13:32:12
Oracle alerts: генерируемые се...
Oracle alerts: генерируемые се... 7217 просмотров Алексей Вятский Tue, 21 Nov 2017, 13:18:05
Oracle изменения изменений!
Oracle изменения изменений! 3104 просмотров Stas Belkov Tue, 21 Nov 2017, 13:18:46
Разница между базой данных и э...
Разница между базой данных и э... 3253 просмотров Александров Попков Tue, 21 Nov 2017, 13:18:46
Войдите чтобы комментировать