Início > Banco de dados, DB2 / Banco de dados > Guia de estudos DB2 – Prova 731 – Parte 6

Guia de estudos DB2 – Prova 731 – Parte 6

Dando continuidade ao meu Guia de Estudos para o exame 731 (DBA DB2), falaremos aqui sobre Alta disponibilidade, backup e recuperação. Desconsidere erros de português, este guia foi escrito conforme eu estudava, então o foco era aprender, e não escrever bem. Vamos lá:

5.1 Conceitos de recovery
Um DBA deve ter em mente que um banco de dados não deve para jamais, porém alguns fatores podem levar a isso, tais fatores podem ser:
– Falha no sistema: Falta de energia, problema de hardware, sistema operacional, etc. São externos ao banco de dados.
– Problemas nas transações: Usuário podem inadvertidamente corromper seus dados.
– Problemas de mídia: Um disco pode dar problema e tornar os dados inutilizáveis.
– Desastre: O local onde os servidores estão podem pegar fogo, ser inundado, etc.
Nestes casos, um DBA deve ter uma tática de recuperação eficiente, que garanta que os dados vão voltar de forma consistente o mais rapidamente possivel. O DB2 oferece basicamente 3 técnicas de recovery:
– Crash Recovery: basicamente desfaz as alterações que não sofreram commit ainda.
– Version Recovery: recupera o banco de dados baseado em arquivos que foram gerados com o comando backup. É importante dizer que todas as alterações feitas em banco após o backup, serão perdidas, vamos supor que seu backup foi feito a meia noite e a pane ocorreu ao meio dia, fazendo a recuperação utilizando os arquivos do backup, você perderá tudo que aconteceu após a meia noite.
– Rollforward recovery: Implementa a recuperação “Version Recovery” porém aplica as alterações efetuadas após o backup utilizando logs.

5.2 Logs
Podemos dizer que os logs armazenam os dados das transações que ocorrerem no banco de dados, são armazenados em discos, fitas, etc.
É importante ter em mente que os sistemas gestores de banco de dados mantem a maior parte da informação possível em memória RAM, visto que a mesma é mais rápida que o disco, de tempos em tesmpos, as transações são efetivadas, ou seja, gravadas em banco. Essa operação é chamada de externalização.
Enquanto os dados não são gravados em banco, eles permanecem em logs residentes na memória RAM do servidor.
Não existe uma relação entre commit/rollback e a efetiva gravação dos dados em disco.
Os tipos de logs do DB2 são:
– Active logs: Contém informações sobre as transações que ainda não sofreram commit ou rollback ou ainda das que sofreram mas não foram efetivamente gravadas em disco.
– Online Archive Logs: Contém os dados das transações commitadas E externalizadas. Estão no mesmo diretório que os Active Logs.
– Offline archive logs: São os Online Archive Logs, que foram removidos do diretório dos Active Logs e estão em algum outro local (um backup, etc).
As maneiras para se gerencias os logs são:
– Circular Logging: É o modo padrão do DB2. Ele vai rotacionado os logs, vamos supor que temos 4 arquivos de log, o DB2 começa utilizando o log1, quando ele lotar vai para o log2, e assim até chegar no log4. Quando o log4 lotar, ele volta para o log1.
Supondo que temos transações ativas no log1 ainda, o DB2 não pode escrever nele, então, o DB2 cria uma nova fila de logs secundária e passa a rotacionar a mesma até as transações do log1 na fila primária forem efetivadas. Esteja atento que o numéro de filas que podem ser criadas pode ser limitado, então transações muito grandes sem efetivação podem estourar o log do banco de dados.
– Archival Logging: Ao invés de sobrescrever os logs, como é feito com o circular, neste modo o DB2 vai criando novos arquivos. Assim que as transações de um log são externalizadas, ele é movido de diretório e vira um Offline Archive Log.

5.3 Backup
Temos dois tipos de backup:
– Online : durante o procedimento de backup, a base de dados continua oferecendo acesso aos usuários.
– Offline : Durante o procedimento de backup, a base de dados interrompe o acesso aos usuários.

Um backup de sua base de dados consiste de uma cópia completa da mesma, inclusive table spaces, configurações, etc. Para efetuar backup o usuário deve ter o privilégio de SYSADM, SYSCTRL ou SYSMAINT.

O comando para efetuar um backup é: backup🙂 , sua sintaxe é:
BACKUP DATABASE database-alias [USER username [USING password]]
[TABLESPACE (tblspace-name [ {,tblspace-name} … ])] [ONLINE]
[INCREMENTAL [DELTA]] [USE {TSM | XBSA} [OPEN num-sess SESSIONS]
[OPTIONS {options-string | options-filename}] | TO dir/dev
[ {,dir/dev} … ] | LOAD lib-name [OPEN num-sess SESSIONS]
[OPTIONS {options-string | options-filename}]]
[WITH num-buff BUFFERS] [BUFFER buffer-size] [PARALLELISM n]
[COMPRESS [COMPRLIB lib-name [EXCLUDE]] [COMPROPTS options-string]]
[UTIL_IMPACT_PRIORITY [priority]] [{INCLUDE | EXCLUDE} LOGS] [WITHOUT
PROMPTING]

Um exemplo simples:
BACKUP DATABASE sample
TO d:\mybackups

O comando backup por padrão deixa a base de dados offline. Se quiser efetuar um backup online, você deve especificar no comando com a palabra ONLINE, ex:
BACKUP DATABASE sample
ONLINE
TO /dev/rdir1, /dev/rdir2

5.4 Backup do tablespace
Basicamente é a copia do tablespace para um local em disco, a sintaxe do comando é:
BACKUP DATABASE sample
TABLESPACE ( syscatspace, userspace1, userspace2 )
ONLINE
TO /db2tbsp/backup1, /db2tbsp/backup2

5.5 Backup incremental
Faz o backup de todos os dados que foram alterados desde o ultimo backup full da base efetuado com sucesso.
5.6 Backup incremental em Delta
Faz o backup de todos os dados que foram alterados desde o ultimo backup full ou incremental efetuado com sucesso.

—-

5.7 Recovery
O utilitário do DB2 para evetuar a recuperação da base é o RESTORE. Ele recebe como parametro um arquivo e faz a recuperacao em uma base de dados ja existente ou ainda cria uma nova.
Um exemplo de sua sintaxe é:
RESTORE DATABASE sample
FROM C:\DBBACKUP

O restore só é efetuado em modo offline.

Podemos efetuar o restore de uma base de dados por completou ou somente de uma tablespace. Para efetuar uma recuperação de uma tablespace o comando é:
RESTORE DATABASE sample
TABLESPACE ( mytblspace1 )

5.8 Restore incremental
É o mesmo que o restore, porém, utiliza os arquivos de backups incrementais feitos. Temos a opção de fazer manualmente, iniciando sempre com o ultimo arquivo de restore incremental ou podemos fazer automaticamente como no exemplo:
restore db mydb incremental automatic taken at (Fri)

5.9 Redirected restore
Suponha que você está fazendo um restore de uma base de dados, porém o container (Arquivo em disco) de uma table space não existe mais, foi deletado por exemplo! Você vai obter um erro.
O Redirected restore é uma maneira de se fazer um restore em passos que nos permitam criar as estruturas faltantes.

5.10 Rollforward
Permite que você recupere sua base de dados até um ponto específico, uma determinada hora em determinado dia, utilizando os arquivos de log da base.
Um exemplo é:
ROLLFORWARD DATABASE sample TO timestamp AND COMPLETE
No lugar de timestamp, você deveria especificar a data/hora.

Um rollforward também pode ser feito com tablespaces como no exemplo:
ROLLFORWARD DATABASE sample
TO END OF LOGS AND COMPLETE
TABLESPACE ( userspace1 ) ONLINE

5.11 Recover
Combina as técnicas de RESTORE e ROLLFORWARD.

5.12 Database Rebuild
É uma função do restore que cria uma nova base de dados utilizando um conjunto de imagens de backup. Pode-se recriar a base toda ou somente determinadas tablespaces.

5.13 Rebuild de índices
Quando efectuamos a recuperação de alguma base, é comum quebrar alguns índices, assim, eles ficarão marcados como inválidos. O parâmetro INDEXREC indica que o DB2 vai tentar refazer os índices após a recuperação do DB.

Voltar ao índice do Guia de estudos.

 

  1. Nenhum comentário ainda.
  1. julho 16, 2014 às 11:44 am

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: