27_SH43-0144-00 (1038594), страница 77
Текст из файла (страница 77)
В этом состоянии оно находится после восстановления изГлава 8. Восстановление базы данных359резервной копии на уровне табличного пространства или перевода вавтономное состояние из-за ошибки носителя.Рисунок 12. Восстановление с повтором транзакций табличного пространстваv Не обязательно использовать для восстановления последнюю резервнуюкопию базы данных; можно начать с любой копии, если у вас есть всенеобходимые для нее журналы.v С целью сокращения времени восстановления следует продолжатьпериодически делать резервные копии базы данных.v Если необходимо отказаться от операции повтора транзакций (то есть небыло указано ROLLFORWARD STOP или команда ROLLFORWARD привела кошибке) и перезапустить ее, можно использовать команду ROLLFORWARDCANCEL.Если вы используете ROLLFORWARD CANCEL для базы данных, эта базаданных переходит в состояние ожидания восстановления независимо от того,идет ли процесс повтора транзакций для этой базы данных.Для табличных пространств ROLLFORWARD CANCEL ведет себяследующим образом:– Если вы ввели команду ROLLFORWARD CANCEL и указали списоктабличных пространств, находящихся в состоянии ожидания повторатранзакций, они переводятся в состояние ожидания восстановления.
В этойситуации нет выполняемых команд повтора транзакций.Примечание: Если список табличных пространств не указан, выдаетсясообщение SQL4906.360Руководство администратора: Реализация– Если производится повтор транзакций до конца файлов журнала длянескольких табличных пространств и указано ROLLFORWARD CANCEL сосписком, в состояние ожидания восстановления переводятся только тетабличные пространства, которые указаны в списке.
Табличныепространства, которых нет в списке, остаются в состоянииидет-повтор-транзакций. Если указать ROLLFORWARD CANCEL безсписка, все табличные пространства, находящиеся в состоянииидет-повтор-транзакций, переводятся в состояние ожиданиявосстановления, а выполнение команды ROLLFORWARD прекращается.||||||||– Если вы ввели команду ROLLFORWARD CANCEL, и для одного илинескольких табличных пространств производится повтор транзакций доопределенного момента времени, все они переводятся в состояниеожидания восстановления, независимо от того, указали вы список или нет.Даже если список указан, он игнорируется, и все табличные пространства,находящиеся в состоянии идет-повтор-транзакций, переводятся в состояниеожидания восстановления, а выполнение команды ROLLFORWARDпрекращается.Примечание: Нельзя использовать ROLLFORWARD CANCEL для остановкизапущенной операции повтора транзакций.
Ее можно использоватьтолько для отказа от операции повтора транзакций, которая былазавершена, но для нее не было выполнено ROLLFORWARD STOP,или от операции, которая до завершения привела к ошибке.Если у вас есть таблицы, содержащие столбцы DATALINK, смотрите такжераздел “Особенности утилиты восстановления и повтора транзакций” настр.
382.Нельзя произвести повтор транзакций для многораздельной базы данных изклиента Версии 2.Вызов команды ROLLFORWARDПри вызове команды ROLLFORWARD следует учитывать следующее:||||||v При вызове команды ROLLFORWARD можно указать время для ограничениятранзакций, которые будут восстановлены из файлов журнала базы данных.При восстановлении из резервной копии, созданной с использованием опцииonline команды BACKUP, время для команды ROLLFORWARD должно бытьболее поздним, чем время окончания резервного копирования безотключения.v Файл журнала использует отметку времени, связанную с завершениемединицы работы.
Для отметки времени в файлах журнала используетсяскоординированное универсальное время (Coordinated Universal Time - UTC),что помогает предотвратить появление одинаковых отметок времени дляразных файлов (например, из-за изменения времени в связи с переходом налетнее время). Отметка времени, используемая при резервном копировании,Глава 8. Восстановление базы данных361|||основана на местном времени запуска BACKUP. В результате при вызовекоманды ROLLFORWARD необходимо указывать скоординированноеуниверсальное время.||||||||||||Примечания:1. В специальном регистре CURRENT TIMEZONE содержится разница междуUTC и местным временем в базе данных сервера прикладных программ.Местное время получается путем прибавления к UTC содержимого этогорегистра.2.
При повторе транзакций для табличных пространств до определенногомомента времени повтор транзакций следует производить, по крайнеймере, до минимального времени восстановления, представляющего собойпоследнее обновление системных каталогов для этих табличныхпространств. Получить минимальное время восстановления можно припомощи команды LIST TABLESPACES SHOW DETAIL. Подробностиотносительно этой команды смотрите в книге Command Reference.v Если остановить задачу ROLLFORWARD до того, как она пройдет точку, вкоторой закончилось резервное копирование в оперативном режиме, базаданных останется в состоянии ожидания повтора транзакций. Если длятабличного пространства производился повтор транзакций, оно остается всостоянии идет-повтор-транзакций.|Использование файла положения копии загрузкиПеременная регистра DB2LOADREC используется для идентификации файла синформацией о положении копии загрузки.
Этот файл используется во времявосстановления с повтором транзакций для определения положения копиизагрузки. В нем содержится следующая информация:v Тип носителяv Число используемых устройств с носителемv Положение копии загрузки, сгенерированной во время загрузки таблицыv Имя файла копии загрузки (если применимо)||||||||Если файл положения не существует или в файле не было найденосоответствующей записи, используется информация из файла журнала.|Информация в этом файле может быть переписана до того, как произойдетвосстановление с повтором транзакций.Примечания:1. В среде многораздельной базы данных в файле db2profile должна бытьпеременная реестра DB2LOADREC.2.
В среде многораздельной базы данных файл копии загрузки долженсуществовать на каждом сервере раздела базы данных, причем имя этогофайла (включая путь) везде должно быть одним и тем же.||362Руководство администратора: Реализация|||3. Если запись в этом файле, заданном переменной реестра DB2LOADREC,недействительна, для замены такой записи будет использована информацияиз старого файла положения копии загрузки.В файле положения находится следующая информация.
Первые пятьпараметров должны быть действительными значениями, которые используютсядля идентификации копии загрузки. Вся эта структура повторяется для каждойиз записанных копий загрузки. Например:|||||||||||||||||||||||||||||||TIMestamp19950725182542 * Отметка времени, сгенерированная во время загрузкиSCHemaPAYROLL* Схема загруженной таблицыTABlenameEMPLOYEES* Имя таблицыDATabasename DBT* Имя базы данныхDB2instanceTORONTO* DB2INSTANCEBUFfernumber NULL* Число буферов для использования при восстановленииSESsionnumber NULL* Число сеансов для использования при восстановленииTYPeofmediaL* Тип среды - L для локального устройстваA для TSMO для других производителейLOCationnumber 3* Число положенийENTry/u/toronto/dbt.payroll.employes.001ENT/u/toronto/dbt.payroll.employes.002ENT/dev/rmt0TIM19950725192054SCHPAYROLLTABDEPTDATDBTDB2TORONTOSESNULLBUFNULLTYPATIM19940325192054SCHPAYROLLTABDEPTDATDBTDB2TORONTOSESNULLBUFNULLTYPOSHRlib/@sys/lib/backup_vendor.aПримечания:v Учитываются первые 3 символа каждого из ключевых слов.
Все ключевыеслова должны идти в указанном порядке. Пустые строки не допускаются.v Отметка времени имеет вид ггггммддччммсс:v Все поля обязательны, за исключением BUF и SES, для которых допустимыпустые значения. При пустом значении для SES будет использовано значение,указанное параметром конфигурации NUMLOADRECSES.
При пустомзначении для BUF по умолчанию используется SES+2.v Если в файле положения хотя бы одна запись неверна, в качестве источникатаких записей используется предыдущий файл положения копии загрузки.Глава 8. Восстановление базы данных363|||||||v Тип носителя может быть локальным устройством (L для ленты, диска илидискет), TSM (A) или других производителей (O). В случае ’L’ требуется числоположений, за которым следуют записи положений.
В случае ’A’дополнительного ввода не требуется. В случае ’O’ требуется имя совместноиспользуемой библиотеки. Подробности об использовании в качественосителя для резервного копирования TSM и продуктов другихпроизводителей смотрите в разделе “Tivoli Storage Manager” на стр. 392.v Параметр SHRlib указывает на библиотеку, которую можно использовать дляхранения данных LOAD COPY.||||||||||Примечание: Если запустить LOAD COPY NO и не сделать после этогорезервную копию базы данных или измененных табличныхпространств, после выполнения LOAD будет нельзя произвестивосстановление базы данных или табличных пространств доопределенного момента времени.
Это значит, что будетневозможно использовать повтор транзакций для восстановлениябазы данных или табличных пространств до состояния послеLOAD. Базу данных или табличные пространства можно будетвосстановить только до момента времени, предшествующегоLOAD.|Чтобы можно было использовать конкретную копию загрузки, отметки времениLOAD записываются в файл хронологии восстановления для базы данных.
Всреде многораздельной базы данных файл хронологии восстановления являетсялокальным для каждого из разделов базы данных.Дополнительную информацию о LOAD смотрите в книге Data Movement UtilitiesGuide and Reference.Восстановление отброшенной таблицыМожет случиться так, что вы случайно отбросите одну или несколько таблиц,данные которых вам еще нужны. Если у вас есть таблицы, данные которых недолжны быть утеряны даже случайно, необходимо сделать такие таблицывосстановимыми после отбрасывания.Данные таблицы можно восстановить, используя для базы данных RESTORE, азатем восстановление базы с повтором транзакций.
Это может занятьзначительное время, если база данных большая, а данные в процессевосстановления будут недоступны. Восстановление отброшенной таблицыпозволяет восстановить данные отброшенной таблицы при помощивосстановления на уровне табличного пространства и повтора транзакций. Это,в свою очередь, будет быстрее, чем восстановление на уровне базы данных, ипозволит базе данных оставаться доступной для пользователей.Чтобы отброшенную таблицу можно было восстановить, у табличногопространства, в котором расположена эта таблица, должна быть включена364Руководство администратора: Реализацияопция DROPPED TABLE RECOVERY. Это можно сделать при помощиоператоров ALTER TABLESPACE или CREATE TABLESPACE.
Дополнительнуюинформацию об этих операторах смотрите в справочнике SQL Reference.|||||Возможность задания опции DROPPED TABLE RECOVERY зависит от типатабличных пространств; она допустима только для обычного табличногопространства. Чтобы определить, есть ли у табличного пространства такаявозможность, можно посмотреть столбец DROP_RECOVERY для данноготабличного пространства в таблице каталога syscat.tablespaces.Когда оператор DROP TABLE применяется для таблицы, расположенной втабличном пространстве, у которого для опции DROPPED TABLE RECOVERYустановлено “ON”, в файлы журнала производится дополнительная запись. Вэтой записи содержится информация, идентифицирующая отброшеннуютаблицу.