Oracle Database: резервное копирования и восстановление данных базы

В этой статье мы рассматриваем способы резервного копирования и восстановления данных базы Oracle Database для обеспечения безопасности вашей информации. Узнайте, какие шаги следует предпринять, чтобы защитить свои данные от потери. Читайте, с помощью каких инструментов можно создать бэкап или восстановить утерянную базу Oracle Database. Рассмотрим как встроенные в базу инструменты так и сторонние приложения.

Oracle Database хранит все файлы созданной базы в файлах данных. Часто, для восстановления данных определённой базы, достаточно восстановить её файлы данных и импортировать их в Oracle Database.

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

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

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


Перейти к просмотру
Восстановление удаленной или поврежденной базы данных 1C: крах, ошибки 💥 🥇 ⚕️

Восстановление удаленной или поврежденной базы данных 1C: крах, ошибки 💥 🥇 ⚕️

В процессе работы экземпляр базы данных 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: Файлы журналов транзакций (*.LOG)

    Чтобы определить пути к папкам, где хранятся архивные журналы транзакций, необходимо выполнить такой запрос:

    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

где, ХЕ – это название базы данных в нашем случае.

Характеристика Описание
Формат .DBF (dBASE)
Типы данных Числа, текст, даты, логические значения
Максимальное количество полей Зависит от версии формата. Например, в dBASE IV — до 255 полей
Размер записи Обычно фиксированный для каждой записи и определяется количеством полей и их размерами
Размер файла Зависит от количества записей и полей. Обычно файлы небольшие, до нескольких мегабайт
Заголовок файла Содержит метаданные: количество записей, структуру таблицы (поля), дату и другие параметры
Типы полей - **Character**: Текстовые поля (строки)
- **Numeric**: Числовые поля
- **Date**: Дата
- **Logical**: Логические значения (TRUE/FALSE)
Совместимость Поддерживается многими программами, включая различные СУБД, такие как MySQL, PostgreSQL, LibreOffice Calc, Microsoft Access
Программное обеспечение dBASE, FoxPro, Clipper, Excel, LibreOffice, DBF Viewer, Access
Структура заголовка Заголовок состоит из 32 байт, которые содержат информацию о количестве полей, типах полей, количестве записей и других параметрах
Кодировка Обычно используется ASCII или другие кодировки, поддерживающие локализацию
Расширения файлов Обычно один файл имеет расширение `.DBF`, но могут быть связанные дополнительные файлы, например, `.MDX` для индексов
Дополнительные файлы Индексные файлы (например, `.NDX` или `.MDX`), которые содержат индексы для быстрого доступа к данным

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

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

  • Архивации средствами операционной системы.
  • Используя встроенные инструменты Oracle Application Express – Import / Export.

Способ 1. Архивация средствами операционной системы

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

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

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

Для восстановления поврежденной при сбое базы данных, её необходимо остановить и переписать резервные копии рабочих файлов и журналов транзакций на прежнее место.

Способ 2. Архивация и восстановление при помощи инструментов 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: Дождитесь окончания процесса анализа и перейдите с помощью программы в папку с необходимыми файлами базы Oracle Database
  • Восстановите их

    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 среди приложений в меню Пуск

    Пуск: Backup Database
  • Дождитесь окончания выполнения бэкапа базы данных инструментом 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 Database
  • Дождитесь окончания выполнения базы данных из созданного раннее бэкапа инструментом RMAN

    Дождитесь окончания выполнения базы данных из созданного раннее бэкапа инструментом RMAN

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

Hetman Partition Recovery. Восстановить
Vladimir Mareev

Автор: , Технический писатель

Владимир Мареев - автор и переводчик технических текстов в компании Hetman Software. Имеет тринадцатилетний опыт в области разработки программного обеспечения для восстановления данных, который помогает ему создавать понятные статьи для блога компании. Спектр публикаций довольно широк и не ограничивается только лишь темой программирования. Статьи включают также разнообразные обзоры новинок рынка компьютерных устройств, популярных операционных систем, руководства по использованию распространенных и специфических программ, примеры решений возникающих системных или аппаратных проблем и многие другие виды публикаций.

Michael Miroshnichenko

Редактор: , Технический писатель

Мирошниченко Михаил – одни из ведущих программистов в Hetman Software. Опираясь на пятнадцатилетний опыт разработки программного обеспечения он делится своими знаниями с читателями нашего блога. По мимо программирования Михаил является экспертом в области восстановления данных, файловых систем, устройств хранения данных, RAID массивов.

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

Вас приветствует ассистент Hetman Software, созданный на основе искусственного интеллекта.
Начать Чат