Beta версія докумен. Необхідно перевірити на реальних серверах! Якщо хто буде робити за цією версією документа, відпишіться, що й до чого, де, що поправити.
Технологія Oracle Data Guard предалагает рішення для забезпечення високої доступності, підвищеної продуктивності та автоматичного подолання наслідків збою.
Зміни в основній базі даних можуть бути передані в резервні бази даних з гарантією відсутності втрат даних в процесі передачі.
Підтримуються 2 типу резервних баз даних - зі здійсненням фізичного та логіческог резервування.
Фізична резервна база даних містить ті ж самі структури, що і основна. Логічна - може мати інші внутрішні структури (наприклад, додаткові індекси, які використовуються для генерації звітів). Синхронізація основної бази даних з резервними здійснюється шляхом передачі журнальних даних через SQL - оператори, що виконуються над резервною базою даних.
Фізична резервна база даних є поблочної копією первинної бази даних. Під час відновлення в аварійних ситуаціях, резервна база даних в точності схожа на основну базу даних.
Логічна база даних - використовується для підготовки звітів (при підготовці звітів потрібні істотні ресурси системи). В цьому випадку резервна база даних відкривається тільки для читання і користувачі, яким необхідно сформувати звіти працюють з нею. При цьому основна база даних продовжує працювати на прийом даних від операторів.
У мене немає environment, де б я постійно працював з dataguard. Тут я постараюся його налаштувати. Буду оновлювати у міру появи нових знань.
І так, я поки не читав Concepts Guide по DataGuard і найближчим часом не планую. Ніде, де б я працював, вона не використовувалася, тому що дорого. Як будуть завдання, так відразу приступлю до більш глибокого вивчення. Тому, уточнення будуть оч. корисні.
Суть DataGuard для людини, що не читав Concepts Guide виглядає досить просто. Потрібно 2 однакових (або приблизно однакових) сервера. На одному будуть виконуватися якісь повсякденні завдання, на іншому, наприклад будуватися звіти, які жеруть багато процесорного часу, пам'яті і т.д.
Для цього робиться копія основного сервера. Основний сервер ділиться архівлогамі з резервним, підтримуючи таким чином актуальною базу. При цьому якщо перший сервер 3.14здой накриється, то можна буде їх поміняти місцями.
Можна також налаштувати роботу сервера в режимі failover (Аварійне перемикання) і switchover (перемикання ролей між primary і standby instance).
DataGuard працює в Enterprise конфігурації, вимагає GRID. Ціна за ліцензію буде вище, ніж за стандарт. Раз так, то може бути дешевше буде розгорнути 2 Standart сервера і одному підкладати архівлогі від іншого, наприклад за допомогою RSYNC.
Ще можна подібну задачу вирішити за допомогою Oracle Golden Gate. Може бути рішення з Golden Gate буде краще.
Для інформації:
db_name - ім'я нашої бази (однакове для основного і standby примірника).
db_unique_name - це унікальне ім'я для кожного екземпляра, воно не змінюється при зміні ролей зі standby на production.