Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции ГІС в КС / 10_Бази_даних.doc
Скачиваний:
10
Добавлен:
01.03.2016
Размер:
279.04 Кб
Скачать

7.6. Архівація і відновлення даних.

Ймовірно, кожному з нас доводилося втрачати важливий файл. Випадковості і помилки неминучі, тому адміністратору потрібно бути готовим до того, щоб відновити дані. Наступні декілька розділів познайомлять читача з різними механізмами захисту, вбудованими в сервер бази даних Oracle7

Захист транзакцій: журнал транзакцій.

В журналі польотів комерційного авіалайнера записується все, що відбувається під час польоту в кабіні пілотів. Майже непіддатлива руйнуванню маленька коробочка (“чорний ящик”) реєструє інформацію на випадок авіакатастрофи. Після катастрофи його можна досліджувати і з'ясувати причину. Oracle7 також веде журнал, де реєструються що відбувається в базі даних зміни. Кожного разу, коли SQL-оператор вносить зміну в базу даних, Oracle7 записує його в журнал транзакцій (який називається також журналом відміни). Якщо користувач завершує транзакцію, Oracle7 негайно записує дані в журнал, підтверджуючи, що транзакція і її зміни сталі постійними.

Oracle7 використовує журнал транзакцій для відновлення у разі різних збоїв. Наприклад, якщо під час роботи екземпляра бази даних відбувається збій живлення, а Oracle7 ще не записав файли даних (тобто деякі незбережені дані), не турбуйтеся. При наступному запуску екземпляра Oracle7 автоматично виконує відновлення бази даних в той стан, який вона мала в результаті останньої завершеної транзакції перед збоєм. Для відновлення втрачених транзакцій Oracle7 застосовує зміни, зареєстровані в журналі транзакцій.

Про те як Огасlе7 у разі серйозних збоїв використовує журнал транзакцій, архівні файли даних і сегменти відкоту, розказується нижче в розділі “Відновлення бази даних”. Але спочатку розкажемо трохи про журнал транзакцій.

Структура журналу транзакцій.

Журнал транзакцій бази даних містить дві або більш групи файлів реєстрації фіксованого розміру або членів групи, які Oracle7 використовує для фізичного збереження змін в базі даних. Фізична структура типового журналу транзакцій бази даних ілюструється рис.5 Журнал транзакцій може мати дві (або більш) групи. Після того, як транзакції заповнюють одну групу, Oracle7 для продовження реєстрації що відбуваються в базі даних змін перемикається на наступну доступну групу. Тим часом Oracle7 автоматично архівує (створює резервні копії) заповнені групи транзакцій. Причому це робиться паралельно, не роблячи впливу на поточний процес транзакцій. Повторне циклічне використовування груп транзакцій дозволяє Oracle7 відвести для журналу транзакцій невелику фіксовану область диска. В результаті архівації заповнених груп транзакцій створюється постійний автономний журнал послідовних транзакцій.

Оскільки механізм відновлення є життєво важливим компонентом Oracle7, сам він також має засоби захисту. Для захисту від одиничної відмови, наприклад, збою диска, адміністратор може задати дзеркальне відображення груп журналу (груп реєстрації) шляхом створення групи з декількома членами, які фізично поміщаються на різні диски. Oracle7 реєструє транзакції в групах, що дзеркально відображаються, записуючи зміни паралельно у всі файли групи. Якщо диск виходить з ладу, один з файлів групи на пошкодженому диску стає неприступним. Проте Oracle7 це не зупиняє: він продовжує реєструвати зміни в інших, незіпсованих, файлах поточної групи реєстрації.

Архівація бази даних.

З урахуванням можливих проблем, подібних збою диска, його форматуванню або видаленню файлу, адміністратору потрібен для відновлення бази даних не тільки журнал транзакцій, але і фізичні копії, складових базу даних, файлів.

Архівація файлів даних.

Файли даних Oracle7 містить всі табличні дані СУБД. Коли користувач модифікує дані в таблицях або додає до бази даних нові об'єкти, Oracle7 для реєстрації цих змін обновляє файли даних. Адміністратор може регулярно зберігати файли даних, підтримуючи їх відносно свіжі копії. Для збереження файлів даних Oracle7 надає адміністратору декілька можливостей. Найпростіша з них — це копіювання всіх файлів після закриття бази даних. Проте для багатьох систем потрібне безперервне функціонування. Зупинка бази даних для регулярного виконання архівації в цьому випадку неприйнятна. Для таких вимагаючих постійного доступу систем засіб архівації оперативної доступної таблиці Oracle7 дозволяє копіювати файли даних під час роботи і використовування СУБД.

Архівація інших файлів.

Окрім файлів даних і файлів журналів завжди слід мати копію файлів параметрів бази даних. Архівувати слід і управляючий файл бази даних. Це маленький файл, який Oracle7 використовує для відстежування фізичної структури бази даних, збереження імен всіх файлів даних і журналів і поточної послідовності реєстрації в журналі транзакцій. Oracle7 використовує управляючий файл при запуску бази даних для ідентифікації даних СУБД і файлів журналів. При відновленні він управляє застосуванням транзакцій груп реєстрації. Аналогічно групам реєстрації Oracle7 дозволяє адміністратору конфігурувати для дзеркального відображення і захисту від одиничного збою всю базу даних. Проте зберігати копію управляючого файлу бази даних необхідно також при кожній зміні її фізичної структури (наприклад, додаванні нового файлу даних або журнального файлу), оскільки у разі збою всі копії управляючого файлу можуть зіпсувати.

Відновлення бази даних після збоїв диска.

Добре, якщо ніхто випадково не відформатує жорсткий диск і не зіпсує його, пошкодивши базу даних Oracle7. Але якщо така неприємність трапиться, адміністратор може відновити базу динних, зберігши всю роботу. Подивимося, як це робиться:

Адміністратор при необхідності виправляє проблеми з апаратурою (наприклад, замінює несправний жорсткий диск новим).

Адміністратор відновлює зіпсовані файли даних, копіюючи їх останні архівні копії і, при необхідності, відновлюючи на будь-якому доступному диску архівні групи реєстрації транзакцій.

Адміністратор запускає процес відновлення, включаючи відновлення із застосуванням транзакцій і відновлення з відміною. Відновлення із застосуванням означає застосування до архівних копій зіпсованих даних необхідних груп журналу транзакцій. Відновлення з відміною передбачає відміну незавершених транзакцій, що залишилися після відновлення із застосуванням.

Після того, як адміністратор закінчить процес відновлення, Oracle7 залишає базу даних в злагодженому (в значенні транзакцій) стані — в тому стані, в якому вона була після останньої збереженої транзакції.

Ми розглянули опис структури БД Oraсle7, важливі моменти роботи серверу (створення і адміністрування БД). Для того, щоб більше дізнатися про роботу серверу Orakle7, необхідно звернутися до книги Стіва Бобровські "Oraсle7. Обчислення. Клієнт/сервер, а також до технічної документації по роботі серверу БД Oraсle7.

  • Об'єкт БД - елемент, у тому виді, у якому він відображений в базі даних. Об'єкт БД є "цифровим поданням цілого або частини реального об'єкта".

Соседние файлы в папке Лекции ГІС в КС