Резервне копіювання та відновлення даних бази Oracle Database

Oracle Database зберігає всі файли створеної бази в файлах даних. Незважаючи на те, що всі дані логічно містяться в табличних просторах, фактично вони є вмістом файлів на жорсткому диску комп'ютера. Так, кожна таблиця бази даних зберігається у вигляді рядків конкретного файлу даних. Часто, для відновлення даних певної бази, достатньо відновити її файли даних і імпортувати їх в Oracle Database.

Структура бази даних Oracle Database

В процесі роботи, екземпляр бази даних Oracle Database використовує декілька груп файлів, які слід архівувати для подальшого відновлення. Це:

  • Файли даних і табличних просторів (*.DBF).

    Назви файлів даних і табличних просторів, а також шляхи до них, можна переглянути за допомогою SQL Plus, якщо виконати наступний запит:

    SELECT t.name "Tablespace", f.name "Datafile" FROM v$tablespace t, v$datafile f WHERE t.ts# = f.ts# ORDER BY t.name;

    В результаті роботи цього запиту вийде схожий звіт:

    SQL Command Line

    *.DBF
  • Файли конфігурації бази даних (*.ora).

    Файли бази даних Oracle мають розширення *.ora, і розташовані в папці:
    C:\oraclexe\app\oracle\product\11.2.0\server\dbs

    *.ora
  • Контрольні файли бази даних (*.DBF).

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

    Notepad++

    Також, для того щоб визначити назви і шляхи до керуючих файлів, в SQL Plus необхідно виконати запит:

    SELECT value FROM v$parameter WHERE name = 'control_files';

    SQL Command Line
  • Файли журналів транзакцій (*.LOG).

    Щоб дізнатись імена онлайнових журналів транзакцій і шляхи до них, необхідно в SQL Plus виконати наступний запит:

    SELECT member FROM v$logfile;

    В результаті роботи цього запиту вийде схожий звіт:

    SQL Command Line

    Щоб визначити шлях до папок в яких зберігаються архівні журнали транзакцій, необхідно виконати такий запит:

    SELECT destination FROM v$archive_dest where status=’VALID';

    В результаті роботи цього запиту вийде звіт:

    SQL Command Line
  • Файл паролів (*.ora).

    Як правило, це файли з розширенням *.ora, ім'я яких починається з символів PWD.
    Наприклад: PWDXE.ora

    Шлях: C:\oraclexe\app\oracle\product\11.2.0\server\database

    *.ora

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

  • *.DBF - файли даних, табличних просторів та керуючі файли бази даних. Вони розташовані:
    C:\oraclexe\app\oracle\oradata\XE
  • *.ora – файли конфігурації бази даних та файли паролів.
    Файли конфигурації:
    C:\oraclexe\app\oracle\product\11.2.0\server\dbs
    Файли паролів (PW…ora):
    C:\oraclexe\app\oracle\product\11.2.0\server\database
  • *.LOG – файли журналів транзакцій:
    C:\oraclexe\app\oracle\fast_recovery_area\XE\ONLINELOG

де, ХЕ – це назва бази даних, в нашому випадку.

Резервна копія бази даних Oracle Database

Резервну копію бази даних Oracle Database можна створити двома способами:

  • Архівації засобами операційної системи.
  • Використовуючи вбудовані інструменти Oracle Application Express – Import / Export.

Архівація засобами операційної системи

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

  • Файли табличних просторів.
  • Управляючі файли.
  • Файли журналів транзакцій.
  • Файли конфігурації.

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

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

Копіювання та відновлення за допомогою інструментів Export / Import

Архівацію і відновлення бази даних Oracle Database можна проводити за допомогою стандартних механізмів Експорту та Імпорту в Oracle. Для підвищення надійності збереження даних, необхідно періодично, в залежності від інтенсивності роботи з базою, проводити повний експорт. При досить інтенсивному внесенні змін до даних, необхідно робити експорт один раз на тиждень.

Для цього:

  • Відкрийте Oracle Application Express та виберіть меню Application Builder / Export

    Oracle Application Express
  • Вкажіть тип експорту: робочий простір повністю або одну з його складових

    Oracle Application Express
  • Встановіть формат файлу для експорту даних і натисніть кнопку Export Workspace (праворуч)

    Oracle Application Express
  • Після зазначення місця збереження файлу експорту даних, вони будуть збережені в SQL-файлі.

Імпорт файлу раніше створеного архіву, здійснюється аналогічним чином:

  • Відкрийте Oracle Application Express та виберіть меню Application Builder / Import

    Oracle Application Express
  • Виберіть файл для імпорту і вкажіть його тип

    Резервне копіювання та відновлення даних бази Oracle Database
  • Встановіть імпортовану базу даних

    Oracle Application Express

Відновлення втраченої бази даних Oracle Database

У разі видалення або втрати з якоїсь причини бази даних Oracle Database, її можна відновити, відновивши файли за допомогою Hetman Partition Recovery. Та відновити їх способом, який описано в розділі «Архівація засобами операційної системи».

Для цього:

  • Запустіть Hetman Partition Recovery та проаналізуйте з її допомогою диск, на якому знаходилась база даних

    Hetman Partition Recovery. Тип аналізу
  • Дочекайтесь закінчення процесу аналізу та перейдіть за допомогою програми в папку з необхідними файлами бази Oracle Database

    Hetman Partition Recovery
  • Відновіть їх

    Hetman Partition Recovery. Відновити
  • Замініть файли бази Oracle Database на відновлені.

Для прикладу відновлення файлів бази даних, описано процес відновлення файлів *.DBF. Але майте на увазі, що для відновлення всіх даних працездатної бази, також необхідно відновити відповідні *.ORA і *.LOG файли.

Резервування і відновлення бази даних за допомогою Oracle Recovery Manager (RMAN)

Oracle Recovery Manager (RMAN) – це ще один інструмент створення резервної копії бази даних Oracle Database. Відрізняється він від інших інструментів тим, що з його допомогою створюється повна копія всієї бази даних, а не тільки даних з неї. А також, що важливо, Oracle Recovery Manager поєднує в собі функціональність SQL Command Line, одночасно звільняючи користувача від повної залежності від її команд. Встановлюється даний інструмент на комп'ютер одночасно і разом з установкою Oracle Database.

Щоб створити резервну копію бази за допомогою Oracle Recovery Manager (RMAN):

  • Запустіть файл Backup.bat в папці
    C:\oraclexe\app\oracle\product\11.2.0\server\bin

    C:\oraclexe\app\oracle\product\11.2.0\server\bin

    або виберіть Backup Database серед додатків в меню Пуск

    Пуск
  • Дочекайтесь закінчення виконання бекапа бази даних інструментом RMAN

    cmd
  • В результаті, в папці з назвою дати створення резервної копії бази, буде створений файл бекапа з розширенням *.BKP

    *.BKP

Щоб відновити базу даних з резервної копії за допомогою Oracle Recovery Manager (RMAN):

  • Запустіть файл Restore.bat в папці
    C:\oraclexe\app\oracle\product\11.2.0\server\bin

    C:\oraclexe\app\oracle\product\11.2.0\server\bin

    або виберіть Restore Database серед додатків в меню Пуск

    Пуск
  • Дочекайтесь закінчення виконання бази даних зі створеного раніше бекапа інструментом RMAN

    cmd

Доречі, у разі втрати або видалення файлу бекапа бази даних Oracle Database, *.BKP файл бекапа можна також відновити за допомогою Hetman Partition Recovery, після чого відновити описаним вище способом в базі даних використовуючи Oracle Recovery Manager (RMAN).

Hetman Partition Recovery. Відновити
Author: Michael Miroshnichenko

1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5.00 out of 5)