Если я сделал резервную копию всей файловой системы на жестком диске машины, могу ли я использовать ее для восстановления и ожидать, что база данных Oracle будет согласованной? Программа резервного копирования создала резервные копии всех файлов на жестком диске с помощью VSS.
Состояние БД будет таким же, как если бы вы внезапно выключили сервер. Таким образом, Oracle потребуется выполнить проверку журнала транзакций и откатить все незавершенные транзакции. Таким образом, это состояние можно охарактеризовать как «в конечном итоге стабильное» или «стабильное после ремонта». Вероятно, это не то, что вы ожидаете от резервной копии. Предпочтительный способ сделать резервную копию - использовать инструменты резервного копирования Oracle, они обеспечат 100% согласованное резервное копирование.
Хм, похоже, у Oracle есть сервис VSS Writer (подробнее Вот). Службы VSS Writer получают инструкции от инструмента резервного копирования для сброса изменений на диск при выполнении процедуры резервного копирования. Итак, VSS Writers помогают получить единообразные резервные копии с помощью инструмента резервного копирования VSS. Вам следует только убедиться, что у вас установлена и включена служба Oracle VSS Writer.
Был ли в это время запущен экземпляр базы данных?
Если это так, высока вероятность того, что база данных находится в несогласованном состоянии (т. Е. Выполняются транзакции, которые необходимо откатить). В таком случае совет Алекса верен. Вы сможете выполнить восстановление до момента создания резервной копии.
Если база данных была отключена правильно, у вас будет согласованная копия. Это означало бы, что вы можете восстановить его, и, если у вас есть все архивные файлы журналов после резервной копии VSS, вы сможете выполнить откат базы данных до любой точки, охватываемой этими архивированными файлами журнала.
Если вы используете средство резервного копирования Oracle RMAN, вы можете делать последовательные резервные копии, не выключая базу данных, и, сохраняя архивные журналы, вы можете выполнять восстановление на любой момент времени.
текущие транзакции не могут быть поддержаны никаким инструментом, даже оракулом. нет смысла делать резервную копию дробной транзакции, подумайте об этом. вы хотите, чтобы база данных находилась в состоянии «хорошее», то есть все завершенные транзакции до начала резервного копирования. поэтому с vss резервное копирование в порядке, потому что данные принимаются как моментальный снимок (файлы не могут измениться во время чтения)
Я использую моментальные снимки NetApp для мгновенного создания резервных копий базы данных, которые затем могу клонировать и запускать в другой системе за считанные минуты. Это процедура:
ALTER DATABASE BEGIN BACKUP;
Снимок каталога данных
ALTER DATABASE END BACKUP;
ALTER SYSTEM ARCHIVE LOG CURRENT;
Сделайте снимок каталога архивного журнала.
Это гарантирует, что в моментальном снимке есть архивные журналы, необходимые для обновления БД. Я использовал это несколько сотен раз на очень активной БД без проблем с восстановлением.