Алгоритм інкрементного резервного копіювання

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

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

Інкрементний Резервні копії Рівня 0 і Рівня 1

Інкрементний резервні копії можуть бути рівня 0 або рівня 1. Інкрементний бекап Рівня 0, який є основою для подальших інкрементних бекапов, копіює всі блоки, які містять дані, резервуючи файл даних в резервний набір, як при повному резервному копіюванні. Єдина різниця між інкрементного бекапом рівня 0 і повним бекапом полягає в тому, що повний бекап ніколи не включається в інкрементного стратегію.

Інкрементний бекап рівня 1 може мати один з наступних типів:

  • Диференціальний бекап, який резервує всі блоки, змінені після останнього інкрементного бекапа на рівні 1 або 0
  • Кумулятивний бекап, який резервує всі блоки, змінені після останнього інкрементного бекапа на рівні 0

Інкрементний бекапи є диференціальними за замовчуванням.

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

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

Диференціальні Інкрементний Бекапи

У диференціальному бекапе рівня 1 RMAN резервує всі блоки, які змінилися, починаючи з останнього кумулятивного або диференціального інкрементного бекапа на рівні 1 або 0. RMAN визначає, який бекап рівня 1 був останній раз і резервує всі блоки, модифіковані після цього бекапа. Якщо ніякої бекап рівня 1 не доступний, RMAN копіює все блоки, змінені починаючи з бекапа рівня 0.

Наступна команда виконує диференційний інкрементний бекап рівня 1 бази даних:

Якщо бекап рівня 0 не доступний, то поведінка залежить від установки режиму сумісності. Якщо сумісність> = 10.0.0, RMAN копіює все блоки, змінені з моменту створення файлу і зберігає результати як бекап рівня 1. Іншими словами, під час інкрементного резервного копіювання береться SCN, рівний SCN створення файлу. якщо сумісність <10.0.0, RMAN генерирует бэкап уровня 0 содержимого файла во время резервного копирования, чтобы не было противоречия с предыдущими релизами.

Малюнок 1 Диференціальні Інкрементний Бекапи (за замовчуванням)

У прикладі, показаному на рисунку 1. відбувається наступне:

  • В неділю
    Інкрементний бекап рівня 0 резервує всі блоки, які коли-небудь використовувалися в цій базі даних.
  • З понеділка - по суботу
    Кожен день з понеділка до суботи диференційний інкрементний бекап рівня 1 резервує всі блоки, які змінилися, починаючи з останнього інкрементного бекапа на рівні 1 або 0. Так, бекап в понеділок копіює блоки, змінені починаючи з недільного бекапа рівня 0, бекап у вівторок копіює блоки , змінені починаючи бекапа рівня 1 в понеділок 1 і т.д.
  • Цикл повторюється протягом наступного тижня.

Кумулятивні Інкрементний Бекапи

У кумулятивному бекапе рівня 1 RMAN резервує всі блоки, які використовувалися, починаючи з останнього інкрементного бекапа рівня 0. Кумулятивні інкрементні бекапи зменшують роботу, необхідну для відновлення, гарантуючи, що Вам потрібно тільки один інкрементний бекап від будь-якого певного рівня. Однак, кумулятивні резервні копії вимагають більше простору і часу, ніж диференціальні бекапи, оскільки вони копіюють роботу, зроблену попередніми бекапіть на тому ж самому рівні.

Наступна команда виконує кумулятивний бекап рівня 1 бази даних:

Малюнок 2 Кумулятивні Інкрементний Бекапи

У прикладі, показаному на рисунку 2. відбувається наступне:

  • В неділю
    Інкрементний бекап рівня 0 резервує всі блоки, які коли-небудь використовувалися в цій базі даних.
  • З понеділка - по суботу
    Кумулятивний інкрементний бекап рівня 1 копіює все блоки, змінені починаючи з останнього бекапа рівня 0. Оскільки останній бекап рівня 0 створювався в неділю, бекап рівня 1 кожен день з понеділка до суботи резервує всі блоки, які зміни починаючи з недільного бекапа.
  • Цикл повторюється протягом наступного тижня.

Проста Стратегія інкрементного резервного копіювання

Виберіть схему резервування згідно прийнятного MTTR (скор. Від mean time to recover - середній час для відновлення). Наприклад, можна реалізувати трирівневу схему резервування так, щоб повний або бекап рівня 0 брався щомісяця, кумулятивний бекап рівня 1 брався щотижня і диференційний бекап рівня 1 брався щодня. У цій схемі Вам ніколи не доведеться застосовувати запас журналів транзакцій більш ніж за один день для повного відновлення.

Вирішуючи, як часто брати повний або бекап рівня 0, використовуйте хороше емпіричне правило: слід брати новий бекап рівня 0 кожен раз, коли 50% або більше даних змінилися. Якщо темп зміни вашої бази даних передбачуваний, то можна спостерігати за розміром інкрементних резервних копій, щоб визначити, коли слід брати черговий бекап рівня 0. Наступний запит виводить на екран кількість блоків, записаних в набір резервування для кожного файлу даних з принаймні 50% його зарезервованих блоків:

Порівняйте кількість блоків в диференціальних або кумулятивних резервних копіях з базовим бекапом рівня 0. Наприклад, якщо Ви створюєте тільки кумулятивні резервні копії рівня 1, то після взяття чергового нового бекапа рівня 1 з розміром приблизно в половину розміру базового бекапа рівня 0, беріть новий бекап рівня 0.

Дякую за увагу! До швидких зустрічей на сторінках сайту okITgo.ru.

Схожі матеріали: