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

Как грамотно создать бэкап и восстановить базу данных Oracle DatabaseOracle 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 (backup) можно сделать двумя способами:

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

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

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

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

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

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

Архивация и восстановление при помощи инструментов 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.

Чтобы создать резервную копию базы с помощью 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. Восстановить

Нашел данную статейку на просторах интернета. Решил поделиться с коллективом нашего дружного сообщества , так сказать! ;-)

Вас заинтересует / Intresting for you:

Резервное копирование баз данн...
Резервное копирование баз данн... 7774 просмотров Antoniy Tue, 21 Nov 2017, 13:18:05
Резервное копирование и восста...
Резервное копирование и восста... 7147 просмотров Albert Tue, 21 Nov 2017, 13:18:46
Пользовательские методы резерв...
Пользовательские методы резерв... 12001 просмотров Дэн Tue, 21 Nov 2017, 13:18:05
Разработка стратегий резервног...
Разработка стратегий резервног... 2096 просмотров Bella Tue, 21 Nov 2017, 13:28:01
Войдите чтобы комментировать

OraCool аватар
OraCool ответил в теме #8734 6 года 6 мес. назад
Классная статья! Не знал, что резервные копии БД Oracle можно делать через Apex.