Oracle DBA Forum  

Вернуться   Oracle DBA Forum > Oracle University Official Study Notes (RUS) > База данных Oracle 10g Администрирование > База данных Oracle 10g Администрирование II

Ответ
 
Опции темы Опции просмотра
  #1  
Старый 06.10.2009, 06:29
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,385
По умолчанию 07 Обнаружение и устранение повреждений информации в базе данных

__________________
Чат форума (требуется аккаунт на github или twitter)
Ответить с цитированием
  #2  
Старый 06.10.2009, 06:30
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,385
По умолчанию Рассматриваемые вопросы

__________________
Чат форума (требуется аккаунт на github или twitter)
Ответить с цитированием
  #3  
Старый 06.10.2009, 06:31
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,385
По умолчанию Что такое повреждение блока?



Повреждение блоков

Поврежденный блок данных (corrupted data block) - это блок, содержимое которого не распознается на основе формата Oracle или его содержимое внутренне несогласованно. Обычно повреждения вызываются сбоями аппаратуры или проблемами операционной системы.

База данных Oracle определяет блоки, поврежденные программным обеспечением или логически (внутренняя ошибка Oracle), а также блоки после повреждения носителя (некорректный формат блока).

При логическом повреждении возникает внутренняя ошибка Oracle. Блоки помечаются базой данных как логически поврежденные (logically corrupt) после обнаружения их несогласованности.

Если искажение блока вызвано повреждением носителя (media corrupt), тогда нет смысла читать информация блока с диска.

Блок, искаженный вследствие повреждения носителя, можно исправить, проведя восстановление блока или же удалив объект, содержащий такой блок. Если повреждение вызвана плохой работой аппаратуры, проблема не может быть полностью решена, пока не будет устранена аппаратная неисправность.
__________________
Чат форума (требуется аккаунт на github или twitter)
Ответить с цитированием
  #4  
Старый 06.10.2009, 06:32
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,385
По умолчанию Симптомы повреждения блоков: ORA-1578



Симптомы: ORA-1578

Обычно ошибка ORA-1578 возникает в результате аппаратных проблем.

Ошибка ORA-1578, постоянно возвращаемая с одними и теми же параметрами, почти
всегда означает искажение блока на носителе.

Если параметры в сообщении о возвращаемой ошибке всегда отличаются, тогда это может отражать аппаратную проблему. Следует проверить память и страничное пространство, а также подсистему ввода-вывода с целью обнаружения плохих контроллеров.
__________________
Чат форума (требуется аккаунт на github или twitter)
Ответить с цитированием
  #5  
Старый 06.10.2009, 06:33
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,385
По умолчанию Как обнаруживать и устранять влияние повреждений



Как обнаруживать и устранять влияние повреждений

Всегда пытайтесь выяснить, постоянно ли возникает ошибка. Выполните команду ANALYZE несколько раз. Если это возможно, остановите и запустите снова базу данных, а затем повторите операцию, приводившую раньше к ошибке.

Выясните, есть ли еще повреждения. Другие блоки также могут быть повреждены, если обнаружен один искаженный блок. В подобной ситуации воспользуйтесь утилитой
DBVERIFY.
__________________
Чат форума (требуется аккаунт на github или twitter)
Ответить с цитированием
  #6  
Старый 06.10.2009, 06:35
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,385
По умолчанию Как обнаруживать и устранять влияние повреждений



Как обнаруживать и устранять влияние повреждений (продолжение)

В случае отказа аппаратуры работа должна быть остановлена. Следует обратиться к поставщику оборудования для проведения проверки и устранения неисправности машины.
Необходимо провести полную диагностику аппаратного обеспечения.

Возможные типы аппаратных сбоев:

отказ аппаратуры или программно-аппаратных средств ввода-вывода;
проблемы, связанные с кэшем и подсистемой ввода-вывода операционной системы;
проблемы памяти и страничного обмена;
ошибочное выполнение утилит восстановления после дисковых сбоев (disk repair utilities).
__________________
Чат форума (требуется аккаунт на github или twitter)
Ответить с цитированием
  #7  
Старый 06.10.2009, 06:35
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,385
По умолчанию Функциональные возможности, имеющие отношение к обнаружению и устранению повреждений



Функциональные возможности, имеющие отношение к обнаружению и устранению повреждений

Имеется много инструментальных средств, предназначенных для обнаружения, диагностирования и устранения повреждений в базе данных Oracle. На слайде представлена краткая сводка таких инструментов, рассматриваемых в этом уроке.
__________________
Чат форума (требуется аккаунт на github или twitter)
Ответить с цитированием
  #8  
Старый 06.10.2009, 06:37
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,385
По умолчанию Утилита DBVERIFY



Утилита DBVERIFY

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

Ограничения использования утилиты DBVERIFY:

DBVERIFY не выявляет проблемы несоответствия индексов и таблиц, которые могут быть обнаружены ПО команде

Код:
ANALYZE TABLE ...VALIDATE STRUCTURE CASCADE.
DBVERIFY не проверяет ни оперативные журналы, ни управляющие файлы.
DBVERIFY проверяет блоки только изолированно, она не выясняет, является ли блок частью существующего объекта или нет.
Для "чистых" устройств (raw devices, "чистых" дисковых секций) необходимо задавать параметр END, чтобы устранить просмотр блоков, размещенных за границей пространства файла данных:

Код:
dbv FILE=/dev/rdsk/rl.dbf END=пocлeдний_блoк_дaнныx#
__________________
Чат форума (требуется аккаунт на github или twitter)
Ответить с цитированием
  #9  
Старый 06.10.2009, 06:39
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,385
По умолчанию Интерпретация выходных данных утилиты DBVERIFY



Интерпретация выходных данных утилиты DBVERIFY

"Плывущие блоки" (influx blocks) - это расщепленные блоки (split blocks). Утилита DBVERIFY не определяет такой блок как поврежденный, так как во время первого чтения процесс DBWn писал новую версию этого блока и при проверке были прочитаны новая и старая части блока. DBVERIFY обнаруживает только логические повреждения. Поэтому возможно появление искаженных блоков выше отметки максимального заполнения (high-water mark).

Пример использования утилиты DBVERIFY:


__________________
Чат форума (требуется аккаунт на github или twitter)
Ответить с цитированием
  #10  
Старый 06.10.2009, 06:40
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,385
По умолчанию Команда ANALYZE



Команда ANALYZE

Команда ANALYZE используется для проверки структуры таблицы или секций таблицы, а также индекса или индексных секций. Анализируемый объект должен быть локальным и находиться в собственной схеме пользователя, выполняющего команду, либо пользователь должен иметь системную привилегию ANALYZE ANY. Если задан параметр CASCADE, выполняется проверка указанного объекта и всех связанных с ним объектов.

Такую команду можно запускать несколько раз в сеансе SQL*Plus с параметром CASCADE, чтобы выяснить, постоянно ли при этом обнаруживаются ошибки целостности данных.

Для секционированных таблиц команда ANALYZE также проверяет принадлежность строки к соответствующей секции.Значение ROWID неверно расположенной строки заносится в таблицу INVALID_ROWS.

Код:
SQL> ANALYZE TABLE секционированная_таблица PARTITION (pi) 
2    VALIDATE STRUCTURE INTO invalid__rows;
Простая команда выбора (SELECT * FROM table) полностью просматривает таблицу, читая все блоки до отметки максимального заполнения. Такую команду можно использовать для быстрой проверки наличия повреждений в текущих данных таблицы.

Кроме того, можно воспользоваться утилитой Data Pump для экспорта объектов; в этом случае также производится полное сканирование каждой таблицы.

Примечание: команда ANALYZE проверяет битовые матрицы, используемые при автоматическом управлении пространством сегментов {auto segment space management -ASSM), но не принимает во внимание неразмеченные блоки ниже отметки максимального заполнения.
__________________
Чат форума (требуется аккаунт на github или twitter)
Ответить с цитированием
Ответ
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 19:28. Часовой пояс GMT +3.


Powered by vBulletin®