Відновлення баз даних

Відновлення бази даних −усунення порушень логічної абофізичної цілісності БД з метою забезпечення її подальшого використання.

Цілісність бази даних логічна −властивість стану БД,якахарактеризується відсутністю порушень всіх обмежень цілісності, які явно визначені в логічній схемі.

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

Причини руйнування БД, головні функції і методи відновлення БД показані на рис. 13.2. Головною одиницею відновлення в системах з БД є транзакції. Транзакція у разі успішного завершення виконує операцію Commit, а у разі невдачі − операцію Rollback. При виконанні роботи з БД СУБД використовує буфер. Буфер БД − це область основної пам'яті для тимчасового зберігання даних, яка призначена для прискорення операцій з диском.

 

Причини необхідності відновлення бази даних

Аварійне завершення   Відказ носіїв   Стихійні  
роботи системи   інформації   лиха  
             
         
Помилки прикладних   Недбале поводження з  
програм   базою даних    
             

 

 

Функції відновлення бази даних

 

Резервне копіювання Засоби ведення журналу

 

Створення контрольних точок

 

 

Методи відновлення бази даних

 

Відновлення з   Відновлення з
використанням   використанням
відкладеного оновлення   негайного оновлення
     

 

Відновлення останньої резервної копії

Рис. 13.2. Засоби для організації відновлення бази даних

 

У відновленні БД ключову роль грає журнал, в якому зберігаються зміни внесені в БД, а також стан кожної транзакції.

Журнал −функціональний компонент СУБД,якийзабезпечує реєстрацію в процесі функціонування системи БД відомостей про виконання транзакцій, про працюючих користувачів, про застосування що використовуються, про доступ до різних структур даних і т.ін.

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

Відновлення з використанням відкладеного оновлення передбачає, що оновлення не заносяться в БД до тих пір, поки транзакція не видасть команду фіксації зроблених змін. Якщо виконання транзакції було закінчено до досягнення цієї точки, то ніяких змін в БД виконано не буде, тому і не потрібна їх відміна (рис. 13.3).

 

  Транзакція                        
                  Успішне      
  Start Transaction     Операції транзакції       завершення      
                   
            Аварійне      
                             
                        завершення      
Журнал                  
                Commit    
  Запис в журналі     Запис в журнал проміжних даних і        
    про початок           Rollback    
           
    транзакції     результатів виконання транзакції              
                           
                             
  Читання даних     Анулювання Запис всіх змін даних з  
      журналу в базу даних (Commit)  
      транзакції  
    База даних     (Rollback) База даних          
                     
                     

 

Рис.13.3. Схема відновлення з використанням відкладеного оновлення

 

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

 


  Транзакція                          
                      Успішне    
  Start Transaction     Операції транзакції     завершення    
               
          Аварійне    
                                 
                              завершення    
Журнал                      
                      Commit  
                     
                             
  Запис в журналі     Запис в журнал проміжних даних і  
          Rollback  
    про початок          
      результатів виконання транзакції  
    транзакції              
                             
                                   
  Читання даних   Запис в буфер всіх   Анулювання всіх змін даних  
        (Rollback)  
              поточних змін      
                Відновлення попереднього  
            даних дії транзакції    
    База даних       стану БД  
         
                 
                                   
                Буфер бази           База даних  
                даних            

Запис всіх змін даних з буферу в базу даних (Commit)

 

Рис. 13.4. Схема відновлення з використанням негайного оновлення

 

Контрольна точка −сукупність даних,яка зв'язана здеякою транзакцією в певний момент часу, і зберігається для відновлення (у разі необхідності) стану БД і транзакції, що виконується на цей момент, з метою забезпечення можливості повторного її використання починаючи з цього моменту. Створення контрольних точок під час виконання транзакцій дозволяє виконувати при необхідності її відкат не на початок, а до останньої за часом контрольної точки, завдяки чому суттєво підвищується продуктивність системи.

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

Відновлення це процес, який складається з таких етапів:

· створення пустої БД із заданими параметрами (розміром сторінки, режимом запису і т.ін.);

· додавання метаданих (таблиць, різних обмежень і перевірок і т.ін.);

· наповнення даними з файлу резервної копії;

· створення необхідних індексів.








Дата добавления: 2016-03-22; просмотров: 1496;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.011 сек.