BACKUP

На главную
1. Назначение
2. Описание стратегии
3. Подготовка к BACKUP
4. Режимы работы
5. Режим BACKUP
6. Режим RECOVERY
7. Режим восстановления
диска BACKUP

8. Подготовка дисков
9. Скачать программы




1. Назначение

Предлагаемая стратегия холодного бэкапа предназначена для серверов предприятий, которые по каким-то причинам не имеют в своем штате квалифицированного DBA, но которые тем не менее хотят обеспечить достаточную сохранность данных. Безусловно, знающий DBA может организовать работу по сохранности данных наиболее оптимальным для задач данного предприятия образом. Но можно попытаться выделить ряд наиболее важных и общих моментов и реализовать приемлимую процедуру резервного копирования программно, таким образом, что обслуживать сервер сможет обычный пользователь.
Именно с такой целью был разработан пакет программ, пробную версию которого можно будет в ближайшем будущем скачать с нашего сайта.
В состав пакета входят две программы:
1. Программа
ORABACK.EXE, собственно осуществляющая резервное копирование и восстановление. Доступна для скачивания пробной версии. Поддерживает интерфейс как на русском, так и на английском языках.
2. Программа TO_ORAB.EXE для подготовки базы данных к работе программы ORABACK.EXE Распространяется бесплатно. Интерфейс на английском языке.

2. Описание стратегии

Основная причина нарушения работоспособности Oracle сервера - это отказ работы жесткого диска. Мы намеренно не рассматриваем здесь использование RAID контроллеров, ибо для такой конфигурации вопросы резервного копирования должны решаться иначе. Если же не использовать RAID, то стоило бы иметь на компьютере - Oracle сервере - как минимум два рабочих диска, и еще два жестких диска должны быть подготовлены для оперативной замены рабочих дисков. Однако программа вполне может работать и с одним физическим диском. На рисунке 1 схематически представлена конфигурация Oracle сервера в режиме нормальной работы.

Для обеспечения возможности восстановления данных Оракл сервер сохраняет данные сразу в нескольких категориях файлов - в файлах данных и в файлах журналов (log файлах). При потере файлов данных сами данные можно восстановить из сделанной ранее холодной копии и журналов транзакций. На этом и основана идеология резервного копирования и восстановления.
В режиме нормальной работы Оракл сервера база данных сконфигурирована таким образом (подробнее о подготовке базы данных читайте пункт
Подготовка к BACKUP) , что файлы данных хранятся на одном физическом диске (в дальнейшем Oracle disk 1), а файлы журналов транзакций - на обоих дисках, первом Oracle disk1, и втором физическом диске (в дальнейшем Backup disk 1) в специальном каталоге BACKUP. Сохранение данных при нормальной работе Оракл сервера обозначено сплошными стрелками.
Для обеспечения резервного копирования предназначена программа ORABACK.EXE, которая хранится и запускается на Oracle disk 1. Запуск ORABACK.EXE рекомендуется поместить в Autostart, так, чтобы программа работала постоянно во время работы Oracle сервера. При минимизации окна иконка будет отображена в system tray.
Во время, указанное в конфигурационном файле oraback.ini (или по нажатии кнопки Начать BACKUP в главном окне программы), запускается процедура резервного копирования (в дальнейшем BACKUP), выключает Оракл сервер, производит холодное копирование всех необходимых данных и файлов (а так же саму себя и ряд собственных конфигурационных файлов) на Backup disk 1. Сохранение данных во время работы ORABACK.EXE обозначено пунктирными стрелками. Подробнее читайте о режиме BACKUP
Одновременный отказ сразу двух рабочих дисков - диска Oracle Disk 1 и Backup Disk 1 маловероятен. Тем не менее, если иногда Вы будете копировать каталог BACKUP на ленту или компакт-диск, Вы сможете восстановить данные даже после отказха двух дисков. что мы не будем рассматривать эту ситуацию. Отказ же каждого из этих дисков может быть быстро устранен.

Отказ Oracle Disk 1
В случае отказа Oracle disk 1 Oracle сервер не сможет начать свою работу. В alert.log'е появятся сообщения о невозможности открыть файлы на Oracle disk 1.
В этом случае Администратор системы должен физически удалить Oracle disk 1 из дисковода (предлагается использовать removable drives) и вставить резервный диск с предустановленным Ораклом (дальше будем называть его Oracle disk 2).
ВАЖНО! Структура резервного Oracle диска должна повторять структуру рабочего Oracle диска. Подробнее о подготовке резервных дисков читайте Подготовка дисков
Сразу после этого необходимо запустить программу ORABACK.EXE, находящуюся на Backup disk1.
В режиме "Начать восстановление" программа скопирует файлы холодного бэкапа из каталога для бэкапа (восстановит состояние сервера на момент холодного бэкапа), и запустит Oracle сервер в режиме восстановления, который позволит восстановить из файлов журналов информацию о транзакциях, совершенных ПОСЛЕ холодного бэкапа. Сразу по завершении восстановления на сервере будут доступны данные, введенные прямо перед крушением диска, и система сможет начать нормальную работу.
На рисунке 2 схематически представлена работа программы ORABACK.EXE в случае отказа Oracle disk 1.

Отказ Backup Disk 1
Необходимо заметить, что из-за размещения части служебных файлов Оракла на Backup Disk 1 при отказе Backup Disk 1 нормальное начало работы Oracle сервера будет невозможно и потребует нижеприведенных действий Администратора системы.
В этом случае Администратор системы должен физически удалить Backup Disk 1 из дисковода (предлагается использовать removable drives) и вставить резервный диск (в дальнейшем Backup disk 2). Подробнее о подготовке резервных дисков читайте Подготовка дисков
Сразу после этого необходимо запустить программу ORABACK.EXE, находящуюся на Oracle disk 1 и нажать кнопку Восстановление резервного диска - программа Oraback.exe скопирует недостающие файлы на Backup disk 2, и запустит Oracle сервер. Это позволит Вам начать нормальную работу.
ВАЖНО! Необходимо сразу же после старта Оракл сервера произвести процедуру резервного копирования - подробнее о резервном копировании читайте Режим BACKUP
На рисунке 3 схематически представлена работа программы ORABACK.EXE в случае отказа Backup disk 1.

3. Подготовка к BACKUP

Подразумевается, что база данных была создана автоматически во время установки Oracle Enterprise или Standard Edition, и все конфигурационные файлы имеют синтаксис по умолчанию. В противном случае не исключена ситуация, что программа не сможет подготовить Oracle сервер к работе программы ORABACK.EXE.

Подготовка базы данных к работе программы ORABACK.EXE заключается в следующем:
1.Как минимум один из контрольных файлов (control files) должен находиться в каталоге BACKUP, в который в дальнейшем будет производиться резервное копирование.
2.Как минимум по одному файлу журнала (redo log) из каждой группы должны находиться в каталоге BACKUP, в который в дальнейшем будет производиться резервное копирование.
3.Архивы журналов оперативного обновления (archive logs) должны находиться в подкаталоге ArchLog каталога BACKUP, в который в дальнейшем будет производиться резервное копирование.
4.База данных должна функционировать в режиме ACHIVELOG (по умолчанию база данных работает в режиме NOARCHIVELOG).

Эти действия, которые могут быть реализованы вручную Администратором базы данных, может также совершить программа TO_ORAB.EXE.
Программа анализирует наличие работающих инстансов и дает возможность выбора инстанса и строки подключения для подготовки работы. Необходимо ввести пароль пользователя SYS (или internal в случае Oracle 8).
Комментарий. Если параметр CHARACTER SET базы данных будет отличаться от CL8MSWIN1251, то он будет заменен на CL8MSWIN1251.

4. Режимы работы ORABACK.EXE

При запуске ORABACK.EXE ищет в рабочем каталоге конфигурационные файлы - oraback.ini или orarec.ini.
Если находит файл oraback.ini (этот файл создается в результате работы программы TO_ORAB.EXE и должен быть отредактирован Администратором системы) - программа считает, что Oracle сервер работает в нормальном режиме, и предоставляет возможность производить
BACKUP (кнопка RECOVERY будет недоступной). Функция Восстановление диска BACKUP так же доступна в этом режиме работы.
Если программа ORABACK.EXE находит файл orarec.ini (который создается автоматически во время резервного копирования) , то она считает, что работает в режиме восстановления

Структура каталога с холодной копией такова:
ARCHIVES - общий каталог для архивных файлов ArchLog - каталог для хранения архивов журналов обновлений
BU271101 - каталог для хранения резервной копии от 27 ноября 2001 года
BU271101/Ctrl - каталог для хранения контрольных файлов
BU271101/DB - каталог для хранения файлов данных
BU271101/Log - каталог для хранения оперативных журналов.
Во всех каталогах, кроме ArchLog, находятся (кроме самих файлов) специальные файлы с расширением .log, в которых указывается местонахождение копируемых файлов.

5. Режим BACKUP

Рекомендуется запускать программу ORABACK.EXE параллельно с работой Oracle сервера.
Перед первым запуском ORABACK.EXE не забудьте отредактировать конфигурационный файл oraback.ini.
Следующие параметры, находящиеся в файле ORABACK.EXE, влияют на запуск собственно процедуры резервного копирования.
При ненахождении параметра DEBUG или его значении, равном NO, процедура резервного копирования запускается каждые TIME_PERIOD дней во время, указанное в параметре TIME_BACKUP (формат TIME_BACKUP = 18:15).
При значении параметра DEBUG=YES процедура резервного копирования запускается каждые TIME_PERIOD минут, параметр TIME_BACKUP игнорируется.
При значении параметра DEBUG=REQUEST процедура бэкапа автоматически не запускается, а запускается только по нажатии кнопки Начать BACKUP.
При любом значении параметра DEBUG процедура холодного копирования может быть запущена вручную по нажатии кнопки Начать BACKUP.

Следующие параметры должны обязательно находиться в файле oraback.ini

SERVER_NAME = MYORCL - псевдоним сетевого подключения в файле tnsnames.ora
SERVER_SID = ORCL - идентификатор инстанса
USER_NAME = sys - имя пользователя, выполняющего BACKUP. Необходимо использовать пользователя SYS.
USER_PASS = pass - его пароль
TIME_BACKUP = 18:15 - время начала бэкапа в реальном режиме.
TIME_PERIOD = 10 - периодичность бэкапа в реальном режиме.
COPIES_DIR = D:\BACKUP\ - путь для хранения файлов бэкапа. Должен существовать!

Необязательные параметры:
COPIES_NUMBER = 2 - число хранимых холодных копий. По умолчанию равно 4. Каталоги с холодными копиями за меньшую дату удаляются.
ORACLE_VERSION = 8.1.6 - версия Oracle сервера. DEBUG = REQUEST - режим работы
LANG = RUSSIAN - язык интерфейса. По умолчанию - английский
TIME_TRANS = 10 - время ожидания завершения транзакций на Oracle сервере (в минутах).

Собственно процедура резервного копирования состоит из следующих действий.
1. Переключаются оперативные журналы обновлений ( redo log)
2. На Oracle сервере запрашиваются имена файлов, необходимые для восстановления.
3. Oracle сервер завершает свою работу.
4. Файлы, необходимые для восстановления, копируются в каталог COPIES_DIR и подкаталог BUYYMMDD (YY, MM, DD - текущие год, месяц и день) или подкаталог BUYYMMDD _X (где Х - порядковый номер сегодняшнего холодного копирования, если оно проводится не впервые.) согласно вышеприведенной структуре подкаталогов. В это же время создаются файлы ctrl.log, archives.log, db.log и log.log в соответствующих каталогах.
5. В каталог COPIES_DIR также копируются файлы
- сама программа ORABACK.EXE - для работы в режиме восстановления;
- файл параметров Oracle сервера
- pwdorcl.ora - файл паролей Oracle сервера
- oraback.ini с именем oraback.in_ - для выяснения языка интерфейса в режиме восстановления
и создается файл orarec.ini - для работы в режиме восстановления.

По завершении копирования Oracle сервер вновь начинает свою работу.

Признак успешного завершения процедуры резервного копирования - наличие файла BACKUP.OK в каталоге соответствующего имени. Отсутствие этого признака - знак того, что из текущего каталога выполнять восстановление данных нельзя!

Все действия программы протоколируются в файле OUDDMMYY.log, где DD,MM,YY - текущие день, месяц и год.

6. Режим RECOVERY

Что делать, если Oracle сервер не смог стартовать?
Первым делом посмотрите alert.log - запустите программу ORABACK.EXE, нажмите кнопку Просмотр журнала Oracle(в этом время запустится текстовый редактор WordPad) и листайте до последних записей файла. В alert.log должны появиться сообщения о невозможности открыть файлы на Oracle disk 1.
Возможно, опытный Администратор сможет восстановить работу Oracle сервера вручную, проанализировав сообщения Oracle, и если у Вас есть возможность воспользоваться его услугами - это надо сделать.
Но если Вам надо срочно восстановить работу базы данных, завершите работу с операционной системой, выньте Oracle disk1, вставьте Oracle disk2 (!!на котором предварительно уже установлен Oracle сервер, но конфигурация вполне может быть и не настроенной. Подробнее о подготовке резервных дисков читайте пункт
Подготовка дисков
Запустите программу ORABACK.EXE из каталога BACKUP, куда Вы производили резервное копирование.
Поскольку там находится файл orarec.ini, сформированный заранее программой ORABACK.EXE во время работ по резервному копированию, доступны будут только кнопки Начать восстановление, Просмотр журнала и Рестарт Oracle.
Язык интерфейса программы будет определен параметром LANG в файле ORABACK.IN_ (по умолчанию английский).
В списке доступных копий резервного копирования по умолчанию Вам предлагается самая последняя копия.
Далее Вам необходимо выбрать режим восстановления - полный или частичный до определенного момента времени. Полное восстановление обычно бывает необходимо в случае физического разрушения файлов данных, контрольных или иных файлов, необходимых для работы Oracle сервера. В случае благополучного завершение восстановления состояние Oracle сервера будет приведено в состояние прямо перед крушением - то есть все завершенные транзакции будут восстановлены.
Частичное восстановление до времени применяется в следующих случаях - когда по какой-то причине (ошибка администрирования или обслуживания) был удален какой-либо компонент логической структуры данных, например, таблица с документами. Если хотя бы примерно известно время удаления таблицы, то можно попытаться восстановить состояние базы данных на время, предшествующее удалению. Здесь Вы должны учитывать, что транзакции, завершенные после удаления таблицы, восстановлены не будут.
Укажите тип восстановления - полный или частичный. В случае выбора частичного восстановления введите время, на которое необходимо будет произвести восстановление, в специально оговоренном формате 'YYYY-MM-DD:HH24:MI:SE', где
YYYY - год, 4 символа
MM - месяц, 2 символа
DD - день, 2 символа
HH24 - час в 24 формате, 2 символа
MI - минуты, 2 символа
SE - секунды, 2 символа.

Алгоритм действия программы следующий. На всякий случай производится попытка выключить Oracle сервер - если на резервном диске он был почему-либо запущен. Затем все файлы копируются согласно соответствующим log файлам. Очень важно, чтобы структура основного и резервного Oracle дисков, то есть пути на OracleHome, на каталог с файлами холодного копирования были идентичными!
По окончании копирования в случае полного восстановления производится запуск Oracle сервера в режиме восстановления.
В случае частичного восстановления до времени программа спросит Вас - довольны ли Вы результатами восстановления (если целью восстановления было восстановление случайно удаленной таблицы - восстановилась ли таблица?). В это время в другом окне вы должны запустить инструментальное средство для работы с Oracle - например, SQLPlus или подобное приложение, и используя SQL команды, выяснить, привело ли восстановление к желаемым результатам? Если да, то вернитесь в окно программы ORABACK.EXE и ответьте на вопрос утвердительно. В этом случае сразу по завершении восстановления Вам необходимо запустить программу ORABACK.EXE в режиме резервного копирования, и, не начиная никакой другой работы, сделать полную холодную копию системы.
Если же восстановление не привело к желаемым результатам - таблица не восстановилась - Вам необходимо ответить отрицательно на вопрос. В этом случае конфигурационные файлы, необходимые для восстановления, будут возвращены в исходное (до начала восстановления) состояние, и Вы сможете попробовать восстановление до другого момента времени.

7. Режим восстановления диска BACKUP

В случае отказа Backup диска 1 Oracle сервер не сможет начать свою работу, так как как минимум один контрольный файл и часть файлов оперативных журналов находятся на этом диске. Внимательно разобравшись, и решив, что Ваша проблема именно в отказе Backup диска 1, Вы можете поменять неисправный Backup диск 1 на предварительно сконфигурированный Backup диск 2 (на нем должна быть установлена операционная система и должен присутствовать логический диск для будущего каталога с холодной копией), запустить программу ORABACK.EXE с основного рабочего Oracle диска 1 и нажать кнопку Восстановить Backup диск.

8. Подготовка дисков

Для скорейшего восстановления работоспособности базы данных при использовании пакета программ ORABACK настоятельно рекомендуется иметь два резервных диска, соответствующим образом подготовленных, которые при нормальной работе Oracle сервера будут храниться в безопасном месте, доступном Администратору, а в случае отказа рабочих дисков Oracle disk1 или Backup disk1 заменят их.

На первом резервном диске (здесь он упоминался как Oracle disk2) должна быть установлена операционная система, такая же, как и на Oracle disk1), Oracle сервер той же версии, как и на Oracle disk1, а так же должна существовать логическая структура хранения данных, аналогичная структуре хранения данных Oracle disk1. То есть, если на Oracle disk1 файлы данных хранятся в каталоге D:\Oracle\Ora81\DATABASE\YourBase, то и на Oracle disk2 так же должен существовать каталог D:\Oracle\Ora81\DATABASE\YourBase.

На втором резервном диске (здесь он упоминался как Backup disk2) должна быть установлена операционная система - такая же, как и на Backup disk1), а так же должен существовать логический диск для размещения каталога BACKUP. То есть если на физическом диске Backup disk1 у Вас существовал каталог F:\BACKUP, в котором находились контрольные файлы, файлы журналов и копии холодного копирования, то и на физическом диске Backup disk2 должен существовать логический диск F (каталог BACKUP будет создан автоматически, если он не существует).

9. Скачать программы

TO_ORAB.EXE - эта программа распространяется бесплатно.

ORABACK.EXE - эта программа распространяется с сроком пользования 30 дней.

По всем вопросам пишите нам на E-MAIL

Hosted by uCoz