Пример восстановления объектов, сохраненных с помощью неполных транзакций
Если при сохранении активных объектов могут быть использованы неполные транзакции, рекомендуется воспользоваться службой Backup, Recovery, and Media Services (BRMS).
Об этой задаче
С помощью BRMS можно автоматизировать операции резервного копирования и восстановления. BRMS автоматически применяет изменения к объектам, сохраненным с помощью неполных транзакций, и делает их доступными с помощью процедуры восстановления.
Если объект сохраняется с помощью неполных транзакций, то при применении и удалении изменений журнала к восстановленному объекту необходимо будет указывать значение FROMENT(*LASTSAVE).
При восстановлении объектов, сохраненных с помощью неполных транзакций, с помощью стандартного меню выполните следующие действия для восстановления библиотек CHK и SAV:
Процедура
- Для восстановления двух библиотек введите следующую
команду:
RSTLIB SAVLIB(CHK) DEV(TAP01) RSTLIB SAVLIB(SAV) DEV(TAP01)Если сохраненные журналы уже существуют в системе, они не будут восстановлены. Это не считается неполадкой.
Недостающие журналы будут восстановлены перед считыванием объектов.
- Восстановите самый первый получатель, указанный в
параметре OUTFILE. Если получатели журналов во время сохранения находились в других
библиотеках (не CHK или SAV) и в данный момент отсутствуют в системе, то для
восстановления этих получателей введите следующую команду:
RSTOBJ OBJ(attached-receiver-at-save-time) + SAVLIB(receiver-library) + DEV(TAP01) + OUTPUT(*OUTFILE)OUTFILE(lib/file)В противном случае, если во время сохранения все получатели журналов находились в библиотеках CHK и SAV, причем они не существовали до выполнения операции RSTLIB, значит, они были восстановлены операцией RSTLIB.
Определите границу приложения, т.е. момент времени, к которому нужно привести объекты в библиотеках CHK и SAV. После этого все объекты в этих библиотеках будут согласованы. После определения границы приложения может потребоваться восстановление дополнительных получателей журнала. Команда WRKJRNA позволяет определить диапазон получателей для операций применения изменений (APYJRNCHG). Команда DSPJRN применяется для определения точного порядкового номера, соответствующего выбранной границе приложения. Если журналов несколько, то границы приложения (обычно определяемые по дате и времени) различных журналов должны совпадать. При этом для каждого из них должен быть определен соответствующий порядковый номер. Если получатели журнала, которые нужно восстановить, отключены, их можно восстановить с помощью следующей команды. Для восстановления нескольких получателей может потребоваться несколько таких команд:RSTOBJ OBJ(other-needed-receivers) + SAVLIB(receiver-library) + DEV(TAP01)
Приведите объекты к границе приложения с помощью одной из команд применения изменений (APYJRNCHG). Различные варианты команды APYJRNCHG соответствуют разным условиям сохранения.Если при сохранении объектов, для которых выполняется управление фиксацией, в них были внесены изменения, границы фиксации будут сохранены при выполнении следующих команд APYJRNCHG. Для того чтобы не сохранять границы фиксации, укажите значение CMTBDY(*NO) при запуске следующих команд APYJRNCHG:
- Вы можете внести зарегистрированные в журнале изменения
в сохраненные объекты (полные или частичные) с помощью
указанных ниже команд, если:
- Журнал не был восстановлен, поскольку объекты были восстановлены в той системе, в которой они находились изначально.
- На носителе сохранены последние копии объектов.
- Объекты были сохранены с параметром UPDHST(*YES).
- Для библиотеки CHK и SAV ведется журнал.
APYJRNCHG JRN(jrnlib/jrnname) + FROMENT(*LASTSAVE) + OBJ((CHK/*ALL *ALL)) + TOENTLRG(seq#-for-application-boundary) APYJRNCHG JRN(jrnlib/jrnname) + FROMENT(*LASTSAVE) + OBJ((SAV/*ALL *ALL)) + TOENTLRG(seq#-for-application-boundary)Если применяется несколько журналов, то эти команды должны быть выполнены для всех журналов с указанием правильного порядкового номера (в параметре TOENT), соответствующего выбранной границе приложения. Заметьте, что порядковые номера TOENTLRG одной границы приложения для журналов в библиотеках CHK и SAV обычно различаются, но соответствуют одной границе приложения.
- Вы можете внести зарегистрированные в журнале изменения
в сохраненные объекты (полные или частичные) с помощью
указанных ниже команд, если:
- Вы восстановили журнал.
- На носителе сохранены последние копии объектов.
- Объекты были сохранены с параметром UPDHST(*YES).
- Для библиотеки CHK и SAV ведется журнал.
APYJRNCHG JRN(jrnlib/jrnname) + OBJ((CHK/*ALL *ALL)) + RCVRNG(rcv-attached-at-save-time + ending-rcv) + FROMENT(*LASTSAVE) + TOENTLRG(seq#-for-application-boundary) APYJRNCHG JRN(jrnlib/jrnname) + OBJ((SAV/*ALL *ALL)) + RCVRNG(rcv-attached-at-save-time + ending-rcv) + FROMENT(*LASTSAVE) + TOENTLRG(seq#-for-application-boundary)Если применяется несколько журналов, то эти команды должны быть выполнены для всех журналов с указанием правильного порядкового номера (в параметре TOENT), соответствующего выбранной границе приложения. Заметьте, что порядковые номера TOENTLRG одной границы приложения для журналов в библиотеках CHK и SAV обычно различаются, но соответствуют одной границе приложения.
- Если носитель, на котором
расположены сохраненные активные объекты, не содержит последние копии объектов, для которых
указано значение UPDHST(*YES), запустите следующие команды.
- Определите порядковый номер каждой записи о начале сохранения каждого объекта с помощью команды DSPJRN.
- Для каждого из объектов выполните команду APYJRNCHG.
APYJRNCHG JRN(jrnlib/jrnname) + OBJ((filelib/filename filembr)) + RCVRNG(rcv-attached-at-save-time + ending-rcv) + FROMENT(seq#-for-start-of-save-entry) + FROMENT(*LASTSAVE) + TOENT(seq#-for-application-boundary)Если объекты сохраняются в системе после выпуска V5R3 и последние копии объектов не используются, то в качестве параметра команд APYJRNCHG нельзя указывать FROMENT(*LASTSAVE). Для каждого элемента каждого объекта в библиотеках CHK и SAV должен быть указан собственный порядковый номер.
Если в журнале есть серия последовательных записей о начале сохранения, то соответствующую группу элементов объекта можно указать в одной команде APYJRNCHG. При этом в параметре FROMENT следует указать первый порядковый номер из серии. Если используется V5R3 или новее, используйте в параметре FROMENT значение *LASTSAVE.
- Вы можете внести зарегистрированные в журнале изменения
в сохраненные объекты (полные или частичные) с помощью
указанных ниже команд, если: