Oracle Database: резервное копирования и восстановление данных базы
В этой статье мы рассматриваем способы резервного копирования и восстановления данных базы Oracle Database для обеспечения безопасности вашей информации. Узнайте, какие шаги следует предпринять, чтобы защитить свои данные от потери. Читайте, с помощью каких инструментов можно создать бэкап или восстановить утерянную базу Oracle Database. Рассмотрим как встроенные в базу инструменты так и сторонние приложения.
- Структура базы данных Oracle Database
- Резервная копия базы данных Oracle Database
- Восстановление утерянной базы данных Oracle Database
- Резервирование и восстановление базы данных с помощью Oracle Recovery Manager (RMAN)
- Вопросы и ответы
- Комментарии
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
В результате работы этого запроса получится подобный отчет:
-
Файлы конфигурации базы данных (*.ora).
Конфигурационные файлы базы данных Oracle имеют расширение *.ora и расположены в папке:
C:\oraclexe\app\oracle\product\11.2.0\server\dbs -
Управляющие файлы базы данных (*.DBF).
Самый простой способ определить путь и названия управляющих файлов, это найти в конфигурационном файле *.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
Итак, для сохранения, архивирования или бэкапа базы данных 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
-
Укажите тип экспорта: рабочее пространство полностью или одну из его составляющих
-
Установите формат файла для экспорта данных и нажмите кнопку Export Workspace (справа)
-
После указания места сохранения файла экспорта данных, они будут сохранены в SQL-файле.
Импорт файла, созданного раннее архива, осуществляется аналогичным образом:
-
Откройте Oracle Application Express и выберите меню Application Builder / Import
-
Выберите файл для импорта и укажите его тип
-
Установите импортированную базу данных
Восстановление утерянной базы данных Oracle Database
В случае удаления или утери по какой-то из причин базы данных Oracle Database, её можно восстановить, восстановив файлы с помощью 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или выберите Backup Database среди приложений в меню Пуск
-
Дождитесь окончания выполнения бэкапа базы данных инструментом RMAN
-
В результате в папке с названием даты создания резервной копии базы будет создан файл бэкапа с расширением *.BKP
Чтобы восстановить базу данных из резервной копии базы с помощью Oracle Recovery Manager (RMAN):
-
Запустите файл Restore.bat в папке
C:\oraclexe\app\oracle\product\11.2.0\server\binили выберите Restore Database среди приложений в меню Пуск
-
Дождитесь окончания выполнения базы данных из созданного раннее бэкапа инструментом RMAN
К слову, в случае утери или удаления файла бэкапа базы данных Oracle Database, *.BKP файл бэкапа можно также восстановить с помощью Hetman Partition Recovery, после чего восстановить описанным выше способом в базе данных используя Oracle Recovery Manager (RMAN).
1. Оракл предоставляет широкий набор инструментов для резервного копирования и восстановления базы данных, включая технологии резервного копирования и восстановления с помощью файлов, резервных копий для устранения отказов, резервных копий для быстрого восстановления, резервных копий для полного или частичного восстановления, резервных копий с удаленными хранилищами, резервными копиями точки восстановления, резервными копиями удаленных хранилищ и т.д.
2. Oracle Database предоставляет надежные средства для управления резервными копиями, автоматизируя рутину, связанную с резервным копированием.
3. Oracle Database предоставляет удобный интерфейс, позволяющий администратору базы данных удобно настраивать, управлять, мониторить и управлять резервным копированием.
4. Oracle Database имеет функцию «Flashback», которая позволяет быстро и легко восстанавливать базу данных.
5. Oracle Database поддерживает мульти-доступ, что обеспечивает быструю, удобную и экономичную работу.
1. Настроить резервное копирование базы данных.
2. Выполнить тестовое резервное копирование.
3. Удалить или изменить исходные данные базы данных.
4. Восстановить базу данных из резервной копии.
5. Проверить, что данные были успешно восстановлены.
С помощью резервного копирования базы данных можно восстановить следующие данные:
- Структуру базы данных;
- Данные, хранящиеся в таблицах;
- Представления;
- Хранимые процедуры;
- Правила доступа;
- Триггеры;
- Функции;
- Индексы;
- Ограничения.