|No Capítulo 8."Recuperando um Banco de Dados", a seguinte seção |sobre a utilização da função E/S suspensas foi incluída e atualizada:
|db2inidb é uma nova ferramenta enviada com o DB2 que pode fazer a |recuperação de falha e pôr um banco de dados em estado de avanço |pendente.
|E/S Suspensas suporta disponibilidade contínua de sistema por proporcionar |implementação integral para tratamento de espelhamento dividido online, ou |seja, dividir um espelhamento sem desligar o banco de dados. Se um |cliente não tem condições de fazer backups online ou offline em um grande |banco de dados, backups ou cópias de sistema podem ser feitas a partir de um |espelhamento utilizando-se E/S suspensas e espelhamento dividido.
|E/S suspensas evita que o disco grave para assegurar que o espelhamento |dividido de um banco de dados seja consistente. Todas as operações de |bancos de dados, além de restaurarem e fazerem backup online, devem funcionar |normalmente enquanto o banco de dados está suspenso. Entretanto, |algumas operações podem interromper-se durante a tentativa de apagar páginas |sujas do conjunto de buffers ou acrescentar buffers ao registro. Essas |operações devem reiniciar normalmente assim que as E/S do banco de dados forem |reiniciadas. É importante que as E/S do banco de dados sejam |reiniciadas a partir da mesma conexão de que elas foram originalmente |suspensas. Caso contrário, uma tentativa subseqüente de conexão pode |interromper-se se exigir a limpeza de páginas sujas do conjunto de buffers |para o disco.
|O espelhamento de um banco de dados envolve principalmente copiar o |conteúdo integral do diretório do banco de dados. É também necessário |copiar o diretório de registro e quaisquer contêineres de área de tabela, se |não estiverem localizados no diretório do banco de dados. Como o banco |de dados espelhado é dependente desses caminhos de diretório, os caminhos para |os quais esses diretórios são copiados devem ser idênticos aos do sistema |principal. Isso implica que a instância deve também ser a mesma. |Como resultado dessa dependência, não é possível espelhar um banco de dados no |mesmo sistema que o principal, a não ser que a nova opção "relocate" da |ferramenta db2inidb seja utilizada.
|O propósito da opção "relocate" é realocar um banco de dados em um |determinado sistema, utilizando a arquivo de configuração especificado. |Isso pode envolver alterar o diretório interno do banco de dados, nomes do |diretório de contêiner e do diretório de registro, alterar o nome da instância |e alterar o nome do banco de dados. Assumindo-se que o diretório do |banco de dados, diretórios de contêiner e diretório de registro foram |espelhados com sucesso nos diferentes caminhos de diretório no mesmo sistema |que o banco de dados principal, a ferramenta db2inidb pode ser utilizada |juntamente com a opção "relocate" para atualizar os caminhos internos do |banco de dados espelhado. Um cenário de utilização com essa opção pode |ser encontrado abaixo.
|Dependendo de como os dispositivos de armazenamento estão sendo espelhados, |as utilizações de db2inidb irão variar. As seguintes utilizações |assumem que todo o banco de dados está espelhado, consistentemente através do |sistema de armazenamento.
|Em um ambiente com vários nós, a ferramenta db2inidb deve ser |executada em cada partição antes que a imagem dividida possa ser utilizada a |partir de qualquer uma das partições. A ferramenta db2inidb pode ser |executada em todas as partições simultaneamente.
|O objetivo aqui é ter um clone do banco de dados principal para ser |utilizado somente para leitura. O seguinte procedimento descreve como |um banco de dados clone pode ser feito: |
| db2 set write suspend for database
| db2 set write resume for database
|Após executar o comando, o banco de dados principal deve voltar ao estado |normal.
| db2start
|db2inidb database_name AS SNAPSHOT
|Você também pode utilizar esse processo para fazer um backup offline, mas |se restaurado no banco de dados principal, esse backup não pode ser utilizado |para avançar, porque a cadeia de registros não será igual. |
|Como o banco de dados espelhado (em espera) está continuamente avançando |através dos registros, novos registros que estejam sendo criados pelo banco de |dados principal estão constantemente sendo recuperados do sistema |principal. O seguinte procedimento descreve como um espelhamento |dividido pode ser utilizado como um banco de dados de espera: |
| db2 set write suspend for database
| db2 set write resume for database
| db2inidb database_name AS STANDBY
|
|O seguinte procedimento descreve como utilizar o banco de dados espelhado |como uma imagem de backup para restaurar no banco de dados principal: |
| db2start
|db2inidb database_name AS MIRROR
|O seguinte procedimento descreve como utilizar a opção "relocate" da |ferramenta db2inidb para espelhar um banco de dados no mesmo sistema que um |banco de dados principal. O exemplo assume que o banco de dados será |utilizado sob uma nova instância. |
| db2 set write suspend for database
| db2 set write resume for database
|
| db2start
| db2inidb database_name as STANDBY relocate using config_file