Главная Случайная страница


Категории:

ДомЗдоровьеЗоологияИнформатикаИскусствоИскусствоКомпьютерыКулинарияМаркетингМатематикаМедицинаМенеджментОбразованиеПедагогикаПитомцыПрограммированиеПроизводствоПромышленностьПсихологияРазноеРелигияСоциологияСпортСтатистикаТранспортФизикаФилософияФинансыХимияХоббиЭкологияЭкономикаЭлектроника






Проверка целостности и восстановление БД

В процессе повседневной работы база данных может быть повреждена. К повреждениям могут привести события, описанные ниже.

- Неправильное завершение пользовательского приложения. Данная причина не может привести к нарушению целостности БД. В случае сбоя приложения Interbase сохраняет данные подтвержденных транзакцией, выполняет откат данных незавершенных транзакций. Если InterBase успел выделить страницы данных для неподтвержденных записей, данные страницы будут рассматриваться как потерянные. Потерянная страница – это ни к кому не относящаяся страница, которая должна быть возвращена в список свободных страниц.

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

Проверку целостности БД необходимо проводить в следующих случаях:

- если операция резервного копирования/восстановления завершается с ошибкой;

- если пользовательские приложения возвращают ошибку “corrupt database” (повреждение БД);

- периодически, для отслеживания целостности;

- после событий, которые могут привести к нарушению целостности.

Проверка БД требует эксклюзивного доступа к БД. Если с БД работают пользователи, то InterBase вернет ошибку «OBJECT database_name IS IN USE».

Для проверки целостности БД нужно вызвать диалоговое окно Database Validation, показанное на рисунке 4. Для этого надо щелкнуть на псевдониме отсоединенной БД в рабочей панели и выбрать Validation в контекстном меню.


Рисунок 4 – Диалоговое окно проверки целостности БД

Для того чтобы начать процесс верификации, нужно выбрать параметры проверки и нажать на кнопку «ОК». Опции проверки целостности приведены в таблице 11.

При проверке выдаются сообщения о поврежденных структурах данных, об ошибках в выделении страниц и потерянные страницы возвращаются в список свободных.

Таблица 11 – Опции проверки целостности БД

Опция Назначение
Validate Record Fragments По умолчанию процесс проверки верифицирует только структуру страниц БД. Если указать данный параметр, будет проверяться как структура страниц, так и структура записей .
Read Only Validation По умолчанию процесс проверки вносит изменения в БД. Если указать данный параметр, то изменения производиться не будут.
Ignore Checksum Errors Ошибки контрольной суммы говорят о том, что файл БД был поврежден. Если указать данный параметр, то процесс восстановления завершится успешно, но данные в поврежденных страницах могут быть потеряны.

Даже если удается успешно завершить процесс резервного копирования/восстановления БД с ошибками в контрольной сумме некоторых страниц, повреждение данных, которое повлекли ошибки, бывает трудно обнаружить. Поэтому иногда лучше произвести восстановление с ранней резервной копии и смириться с потерей последних данных.

Если БД содержит ошибки, появляется следующее диалоговое окно:


Рисунок 5 – Диалоговое окно с результатами проверки

Обнаруженные ошибки перечисляются в текстовом поле диалогового окна.

Для того чтобы начать процесс восстановления, необходимо выбрать опции восстановления и нажать кнопку “Repair”. В процессе восстановления InterBase помечает поврежденные структуры. При последующем резервном копировании помеченные структуры будут пропущены.

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

Если предполагается, что БД имеет повреждения, необходимо предпринять следующие шаги:

1. Создать копию файла(ов) БД с помощью команд ОС. Нельзя создавать резервную копию средствами IBConcole или gbak, так как они не работают с поврежденными БД.

2. Выполнить процесс восстановления на копии БД для того, чтобы пометить поврежденные структуры. Если найдены блоки с неправильными контрольными суммами, запустите процесс восстановления заново, установив свойство Ignore Checksum Errors в True. Возможно, потребуется запуск процесса восстановления несколько раз для исправления всех ошибок.

3. Выполнить проверку БД еще раз, с установленной опцией Read Only Validation. Не должно быть сообщений об освобождении страниц, все поврежденные структуры должны быть помечены.

4. Выполнить резервное копирование БД. На этом этапе будут потеряны все данные, ранее помеченные как поврежденные.

5. Выполнить восстановление из полученной резервной копии. Результирующая БД не должна содержать ошибок.

Порядок выполнения работы

При выполнении работы используется БД к лабораторной работе № 1.

1. Ознакомиться с теоретическим материалом.

2. Выполнить резервное копирование БД на локальный сервер.

3. Выполнить операцию восстановления из резервной копии.

4. Повредить вручную файл резервной копии, заменив несколько байтов из файла резервной копии по случайному смещению. (Рекомендуется использовать текстовый редактор приложения типа FAR, VC и т.п.).

5. Произвести попытку восстановления из испорченного файла, описать получившиеся ошибки. Попытаться восстановить часть данных, манипулируя параметрами восстановления.

6. Выполнить проверку целостности БД.

7. Физически повредить файл БД.

8. Выполнить проверку целостности и попытаться восстановить данные.

4. Контрольные вопросы

1. Для чего используется резервное копирование и восстановление?

2. Какое расширение используется для резервных копий БД?

3. Опции резервного копирования и их назначение.

4. Опции восстановления и их назначение.

5. Какие пользователи могут выполнять резервное копирование?

6. Какие пользователи могут выполнять восстановление?

7. Для каких целей необходима проверка целостности? Опции проверки целостности и их назначение.

 

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Ковязин А.Н. Мир Interbase. Архитектура, администрирование и разработка приложений баз данных в Interbase Firebird Yaffil/ А.Н. Ковязин, С.М. Востриков.– Кудиц-Образ, 2006.– 496c.

 

2. Оптимизация и администрирование БД Microsoft SQL Server 2005: Учебный курс Microsoft/ Перевод. А.А. Исаковский.– BHV, 2007.– 624с.


ПРИЛОЖЕНИЕ А

Варианты заданий

После номера варианта задания в скобках указан номер варианта из лабораторной работы № 4 по курсу ОБД за третий курс. Схему БД надо выбирать по номеру в скобках. В таблицах приведены группы пользователей, права группы пользователей и названия таблиц, на которые распространяются данные права. Если не указано другое, право на таблицу у пользователя – READ (только чтение).

№ 1 (2)

Подразделение Права Таблицы
Бюро расписаний ALL «Занятие»
Учебный отдел ALL «Студент», «Студент_Курс»
Студент READ Все


№ 2 (3)

Подразделение Права Таблицы
Главный врач ALL Операция, Хирург
Хирург ALL Препарат_операция, Операция_процедура
Медсестра ALL Препарат, Процедура
Пациент READ Пациент,Хирург,Операция


№ 3 (5)

Подразделение Права Таблицы
Завхоз READ ALL Фирма Помещение, Телефон, Типы_Помещений
Менеджер READ ALL Фирма Контрагент
Директор ALL READ Фирма Все остальные


№ 4 (6)

Подразделение Права Таблицы
Курсы повышения квалификации ALL Работа, Работа_Курсы, Курс_Обучения
Отдел кадров ALL READ Служащий_Работа, Служащий, Тарифная_ставка, Профессия
Министерство ALL Тарифная_ставка, Профессия


№ 5 (8)

Подразделение Права Таблицы
Деканат ALL Факультет
Факультет ALL Курс, Студент, Преподаватель,
Студент READ Все


№ 6 (9)

Подразделение Права Таблицы
Деканат ALL ВУЗ, ВУЗ_Специальность, Специальность, Предмет
Приемная комиссия ALL Абитуриент, Абитуриент_ВУЗ_Спец, Экзамен
Студент READ Абитуриент, Абитуриент_ВУЗ_Спец, Экзамен, Предмет


№ 7 (10)

Подразделение Права Таблицы
Транспортный отдел ALL Предшествие, Станция
Маршрутный отдел ALL Поезд, Рейс
Билетный отдел ALL Билет, Пассажир
Пассажир READ Предшествие, Станция, Поезд, Рейс


№ 8 (12)

Подразделение Права Таблицы
Следователь INSERT, UPDATE, SELECT Псевдоним, Персона, Родственник
Следователь ALL Дело, Персона_Дело
Комиссар АLL Все


№ 9 (13)

Подразделение Права Таблицы
Тренер ALL Команда, Спортсмен
Министерство ALL Соревнование
Судья   Результат_Спортсмен, Результат_соревнований


№ 10 (14)

Подразделение Права Таблицы
Филармония ALL Концертный_зал, Артист, Концерт
Антерпренер ALL Спонсор, Концерт_спонсор, Концерт_артист
Зритель READ Концертный_зал, Артист, Концерт, Концерт_артист


№ 11 (17)

Подразделение Права Таблицы
Гостиничный трест ALL Гостиница, Номер, Фирма
Отдел командировок ALL Клиент, Заказ
Клиент READ Гостиница, Номер


№ 12 (19)

Подразделение Права Таблицы
Завхоз ALL МО, Машина, Доп. Комплектующие
Заведующий отделом ALL Инженер, Инженер_МО, Инженер_Машина
Директор ALL ВЦ

 


Заказ№…… от «…..» Тираж…………….экз. Изд-во СевНТУ

 

Последнее изменение этой страницы: 2016-08-28

lectmania.ru. Все права принадлежат авторам данных материалов. В случае нарушения авторского права напишите нам сюда...