• Nenhum resultado encontrado

Exemplo: Restaurar objectos com transacções parciais

No documento Realizar cópia de segurança do sistema (páginas 174-176)

Se executar operações guardar-enquanto-activo que possam resultar em objectos guardados com transacções parciais, recomenda-se a utilização do Backup, Recovery, and Media Services (BRMS). Pode utilizar o BRMS para automatizar as opções de cópia de segurança e de recuperação. O BRMS aplica automaticamente as alterações a objectos com transacções parciais e restaura-as para um estado utilizável.

Se um objecto for guardado com transacções parciais, vai ser necessário FROMENT(*LASTSAVE) ao aplicar ou remover as alterações registadas em diário na versão restaurada do objecto.

Quando utilizar a interface baseada em caracteres para restaurar objectos com transacções parciais, execute os passos seguintes para restaurar as bibliotecas CHK e SAV:

1. Restaure as duas bibliotecas com os seguintes comandos:

RSTLIB SAVLIB(CHK) DEV(TAP01) RSTLIB SAVLIB(SAV) DEV(TAP01)

Se os diários ainda existirem no sistema, não serão restaurados. No entanto, isso não constitui nenhum problema.

Se não existirem, o sistema irá restaurar os objectos de diário antes dos restantes objectos.

2. Restaure o receptor mais recente como especificado pelo ficheiro de saída de dados. Se os receptores do diário estiverem em bibliotecas que não sejam CHK ou SAV na altura da salvaguarda e não existirem actualmente no sistema, utilize o seguinte comando de restauro para restaurar os receptores:

RSTOBJ OBJ(receptor-ligado-hora-salvaguarda) + SAVLIB(biblioteca-receptor) +

DEV(TAP01) +

OUTPUT(*OUTFILE)OUTFILE(lib/file)

Se os receptores ligados estavam em CHK ou SAV aquando da salvaguarda dos dados e não existiam antes da operação de RSTLIB, foram restaurados como parte dessa operação de RSTLIB.

3. Determine um momento no tempo, ou fronteira de aplicação, para onde deverão ser levados os objectos em CHK e SAV. Deste modo, todos os objectos estarão em estado coerente entre si. Depois de

determinar a fronteira de aplicação pretendida, é possível que tenham de ser restaurados receptores de diário adicionais. Pode utilizar o comando WRKJRNA para determinar o intervalo apropriado de receptores necessários para as operações Apply Journaled Changes (APYJRNCHG) subsequentes. Pode utilizar o comando DSPJRN para localizar o número de sequência exacto que identifica a fronteira de aplicação pretendida. Se estiverem envolvidos vários diários, será necessário localizar a mesma

fronteira de aplicação (muito provavelmente identificada pela marca de hora) em cada diário. Também é necessário tomar nota do número de sequência de diário adequado. Se for necessário restaurar receptores de diário adicionais, mas os receptores não estiverem online, restaure-os com o seguinte comando de restauro. Poderão ser necessários vários comandos de restauro para este passo:

RSTOBJ OBJ(other-needed-receivers) + SAVLIB(biblioteca-receptor) + DEV(TAP01)

4. Coloque os objectos numa fronteira de aplicação específica com um dos seguintes comandos Apply Journaled Changes (APYJRNCHG). Existem diferentes variações do comando APYJRNCHG que poderão ser apropriadas, consoante os critérios estabelecidos.

Se alguns objectos tiverem recebido alterações durante a operação de salvaguarda e tenham estado sob controlo de consolidação, as fronteiras de consolidação serão preservadas nos seguintes comandos APYJRNCHG. Caso não pretenda preservar as fronteiras de controlo de consolidação, terá de

especificar CMTBDY(*NO) nos seguintes comandos de APYJRNCHG.

a. Utilize os comandos abaixo para aplicar as alterações registadas em diário nos objectos (completas ou parciais) caso o seguinte seja verdadeiro:

v Não restaurou o diário porque os objectos estavam a ser restaurados no sistema a partir do qual foram guardados.

v Os suportes de dados utilizados representam a salvaguarda mais recente dos objectos. v Guardou os objectos especificando UPDHST(*YES) no comando de salvaguarda. v As bibliotecas CHK e SAV são bibliotecas registas em diário.

APYJRNCHG JRN(bibjrn/nomejrn) + FROMENT(*LASTSAVE) + OBJ((CHK/*ALL *ALL)) + TOENTLRG(nºseq-fronteira-aplicação) APYJRNCHG JRN(bibjrn/nomejrn) + FROMENT(*LASTSAVE) + OBJ((SAV/*ALL *ALL)) + TOENTLRG(nºseq-fronteira-aplicação)

Se estiverem envolvidos vários diários, repita estes comandos para cada diário que especifique o número correcto da sequência (parâmetro TOENTLRG), que identifica a fronteira de aplicação pretendida. Repare que, muito provavelmente, o número de sequência de TOENTLRG é diferente para cada diário em CHK e SAV, mas todos identificam uma fronteira de aplicação comum. b. Utilize os comandos abaixo para aplicar as alterações registadas em diário nos objectos (completas

ou parciais) caso o seguinte seja verdadeiro: v Restaurou o diário.

v Os suportes de dados utilizados representam a salvaguarda mais recente dos objectos. v Guardou os objectos especificando UPDHST(*YES) no comando de salvaguarda. v As bibliotecas CHK e SAV são bibliotecas registas em diário.

APYJRNCHG JRN(bibjrn/nomejrn) + OBJ((CHK/*ALL *ALL)) + RCVRNG(recep-ligado-hora-salvaguarda + recep-final) + FROMENT(*LASTSAVE) + TOENTLRG(nºseq-fronteira-aplicação) APYJRNCHG JRN(bibjrn/nomejrn) + OBJ((SAV/*ALL *ALL)) +

RCVRNG(recep-ligado-hora-salvaguarda +

recep-final) +

FROMENT(*LASTSAVE) +

TOENTLRG(nºseq-fronteira-aplicação)

Se estiverem envolvidos vários diários, repita estes comandos para cada diário que especifique o número correcto da sequência (parâmetro TOENTLRG), que identifica a fronteira de aplicação pretendida. Repare que, muito provavelmente, o número de sequência de TOENTLRG é diferente para cada diário em CHK e SAV, mas todos identificam uma fronteira de aplicação comum. c. Execute os seguintes comandos caso o suporte de guardar-enquanto-activo utilizado não

represente a salvaguarda mais recente dos objectos que especificam UPDHST(*YES).

1) Utilize o comando DSPJRN para determinar o número de sequência da entrada de diário início de salvaguarda para cada objecto.

2) Emita um comando APYJRNCHG individual para cada um dos objectos. O exemplo seguinte demonstra um comando APYJRNCHG desse tipo:

APYJRNCHG JRN(bibjrn/nomejrn) + OBJ((bibfich/nomefich membfich)) + RCVRNG(recep-ligado-hora-salvaguarda + recep-final) + FROMENT(nºseq-entrada-início-salvaguarda) + FROMENT(*LASTSAVE) + TOENT(nºseq-fronteira-aplicação)

Caso esteja a utilizar uma edição posterior a V5R3 e a salvaguarda mais recente de objectos não esteja a ser utilizada, FROMENT(*LASTSAVE) não pode ser especificado nos comandos

APYJRNCHG. Tem de ser especificado um número de sequência individual para cada um dos objectos nas bibliotecas CHK e SAV.

Alguns dos comandos APYJRNCHG poderiam especificar vários objectos se houvesse uma série contínua de entradas de início de salvaguarda no diário. Os membros identificados pela série contínua de entradas de diário de início de salvaguarda poderiam ser aplicados através de um único comando APYJRNCHG especificando o primeiro número de sequência de todas as entradas de início de salvaguarda da série contínua no parâmetro FROMENT. Se estiver a utilizar a V5R3 ou uma edição posterior, utilize o valor *LASTSAVE no parâmetro FROMENT.

Informações relacionadas

Backup, Recovery and Media Services (Serviços de cópia de segurança, recuperação e suporte)

Exemplo: Restaurar um directório após a eliminação do tempo de espera de

No documento Realizar cópia de segurança do sistema (páginas 174-176)