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

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

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

Перейти до перегляду
Методы восстановления базы данных MySQL, MSSQL и Oracle ⚕️👨‍💻🖥️

Методы восстановления базы данных MySQL, MSSQL и Oracle ⚕️👨‍💻🖥️

В процесі роботи, екземпляр бази даних 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;

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

    SELECT t.name Tablespace, f.name Datafile FROM v$tablespace t, v$datafile f WHERE t.ts# = f.ts# ORDER BY t.name
    Назви файлів даних і табличних просторів
  • Файли конфігурації бази даних (*.ora)

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

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

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

    Файл конфігурації *.ORA, рядок control_files

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

    SELECT value FROM v$parameter WHERE name = ‘control_files’;

    Шляхи до керуючих файлів
  • Файли журналів транзакцій (*.LOG)

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

    SELECT member FROM v$logfile;

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

    Імена онлайнових журналів транзакцій

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

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

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

    Архівні журнали транзакцій
  • Файл паролів (*.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

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

    Робочий простір повністю або одну з його складових
  • Встановіть формат файлу для експорту даних і натисніть кнопку Export Workspace (праворуч)

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

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

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

    Меню Application Builder / Import
  • Виберіть файл для імпорту і вкажіть його тип

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

    Встановіть імпортовану базу даних

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

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

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

Для цього:

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

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

    Дочекайтесь закінчення процесу аналізу
  • Відновіть їх

    Відновіть файли
  • Замініть файли бази 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 серед додатків в меню Пуск

    Запустіть файл Backup.bat
  • Дочекайтесь закінчення виконання бекапа бази даних інструментом RMAN

    Виконання бекапа бази даних інструментом RMAN
  • В результаті, в папці з назвою дати створення резервної копії бази, буде створений файл бекапа з розширенням *.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 серед додатків в меню Пуск

    Запустіть файл Restore.bat
  • Дочекайтесь закінчення виконання бази даних зі створеного раніше бекапа інструментом RMAN

    Дочекайтесь закінчення відновлення бази даних

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

Hetman Partition Recovery. Відновити
Valery Martyshko

Автор: Valery Martyshko, Технічний письменник

Автор, перекладач та технічний спеціаліст компанії Hetman Software. Має майже десятирічний досвід роботи в IT сфері, який охоплює різні галузі: від ПК з Windows та мобільних пристроїв, до фото та відео обладнання, сигналізацій та систем відеоспостереження, і т.д. Окрім іншого, є також спеціалістом по Android, Windows та Microsoft Office. Є експертом в області відновлення даних, файлових систем, пристроїв зберігання даних, RAID масивів. Детальніше

Рекомендуємо для вас