Use o Tivoli Storage Manager Para Fazer Backup e Recuperar um Banco de Dados do DB2

Ele descreve os elementos fundamentais da arquitetura do IBM ® Tivoli ® Storage Manager e do IBM DB2® e mostra como usar os recursos de backup e recuperação do Tivoli Storage Manager. Ele também fornece instruções passo a passo para mostrar como fazer backup e recuperar dados em um servidor do Tivoli Storage Manager para o banco de dados do DB2. Este documento pode ser usado como guia para os administradores de banco de dados do DB2 e administradores do Tivoli Storage Manager.

Bharat Vyas, Tivoli Storage Manager Level 2 Technical Support Engineer, IBM

Photo of Bharat VyasBharat Vyas é Technical Support Engineer nível 2 do Tivoli Storage Manager com a IBM em Pune, Índia. Ele ocupa seu tempo trabalhando com os administradores do Tivoli Storage Manager para solucionar problemas relacionados ao produto. Suas áreas de conhecimento incluem Tivoli Storage Manager, Tivoli Storage Manager FastBack, Tivoli Storage Manager FastBack for Workstations e redes de área de armazenamento.



Deepa Vyas, DB2 Advanced Technical Support Analyst, IBM

Photo of Deepa VyasDeepa Vyas é IT Specialist e IBM DB2 Certified Engineer. Ela trabalha no IBM India Software Labs em Pune, na Índia, como engenheira de suporte avançado nível 2 do DB2. Ela ocupa a maior parte de seu tempo trabalhando com DBAs para solucionar problemas relacionados ao DB2.



26/Nov/2013

Introdução

O IBM Tivoli Storage Manager é um produto de software que lida com os desafios do gerenciamento de armazenamento complexo em ambientes distribuídos. Este produto protege e gerencia uma variedade de dados, desde a estação de trabalho até o ambiente corporativo do servidor. IBM DB2 é uma família de produtos de sistema de gerenciamento de banco de dados relacional (RDBMS). O banco de dados do DB2 inclui um dicionário de dados ou um conjunto de tabelas de sistema que descreve a lógica e a estrutura física dos dados. O DB2 oferece recursos de autoajuste e ajuste dinâmico.

Este artigo analisa primeiro os conceitos e as considerações. Ele explica como instalar e configurar o cliente de backup-archive do Tivoli Storage Manager e fornece instruções e técnicas passo a passo que mostram como fazer backup e restaurar dados em um servidor Tivoli Storage Manager para o banco de dados do DB2.

DB2

O IBM DB2 é um RDBMS no qual o conteúdo de dados pode ser referenciado sem a necessidade de se preocupar com a forma de armazenamento dos dados. Um banco de dados do DB2 possui um modelo de armazenamento físico e lógico para manipular os dados. Ele contém diversos objetos, como tabelas, visualizações, índices, esquemas, bloqueios, acionadores, procedimentos armazenados, pacotes, buffer pools, arquivos de log e espaços de tabela. Alguns desses objetos, como as tabelas e visualizações, ajudam a identificar como os dados são organizados. Outros, como espaços de tabela, são referentes à implementação física do banco de dados. Alguns outros objetos relacionados à memória, como os buffer pools, manipulam o desempenho do banco de dados.

Uma instância (gerenciador do banco de dados) é um ambiente lógico para gerenciar dados e recursos do sistema atribuídos a ele. Um sistema pode possuir mais de uma instância. Cada instância possui seu próprio conjunto de parâmetros de configuração do gerenciador de banco de dados e segurança. Uma instância pode ter um ou mais bancos de dados. A hierarquia é mostrada na hierarquia de objeto do .

DB2 em uma instância

Os dados do usuário estão nas tabelas. Como as tabelas possuem linhas e colunas, os usuários não conhecem a representação física real e o armazenamento dos dados. Algumas vezes, esse fato é mencionado como a independência física dos dados. As tabelas são colocadas em espaço de tabela. Um espaço de tabela é usado como uma camada entre o banco de dados e o objeto contêiner que contém os dados reais da tabela. Um espaço de tabela pode conter mais de uma tabela. Um contêiner é um dispositivo de armazenamento físico. Ele pode ser identificado por um nome de diretório, de dispositivo ou de arquivo. Um contêiner é designado para um espaço de tabela. Um espaço de tabela pode abranger diversos contêineres, que permitem cercar as limitações de sistemas operacionais que podem restringir a quantidade de dados acomodados por um sistema.

Tivoli Storage Manager

O IBM Tivoli Storage Manager é um produto de software que fornece serviços de gerenciamento de armazenamento para dados, backup primário, restauração, archive e recuperação com o uso de um modelo cliente/servidor. Em termos gerais, os clientes de backup-archive do Tivoli Storage Manager são instalados em todos os sistemas (como servidores de arquivo e de banco de dados e estações de trabalho). Usando um transporte de rede configurado, como TCP/IP, todos os clientes do Tivoli Storage Manager enviam cópias de seus arquivos como objetos de archive ou restauração pra um servidor do Tivoli Storage Manager. O servidor armazena os arquivos do cliente em um sistema de armazenamento centralizado (geralmente, consiste em grandes quantidades de armazenamento em disco ou em fita).

Um banco de dados do DB2 é um arquivo de dados autocontido que pode sofrer backup e restauração usando o Tivoli Storage Manager. O Tivoli Storage Manager restaura o banco de dados do DB2 integralmente, porque é apenas um arquivo para o Tivoli Storage Manager. Se um banco de dados do DB2 é excluído ou corrompido, o Tivoli Storage Manager pode restaurar a versão mais recente ou qualquer versão de backup anterior do banco de dados a partir do servidor do Tivoli Storage Manager para o servidor ou cliente do DB2.

API do Tivoli Storage Manager

A interface de programação de aplicativos (API) do Tivoli Storage Manager fornece uma biblioteca de funções que permite que aplicativos de software independentes e aplicativos customizados façam backup e archive dos dados para um servidor do Tivoli Storage Manager. O DB2 DBMS também usa a API do Tivoli Storage Manager para fazer backup e restaurar operações.

O DB2 fornece seu próprio utilitário de backup que pode ser usado para fazer backup de dados em tabelas de espaço ou banco de dados. Ao configurá-lo para usar o Tivoli Storage Manager como a mídia de backup, o DB2 se comunica com a API do Tivoli Storage Manager para fazer backup e restaurar operações. Dessa forma, o cliente da API do Tivoli Storage Manager API e o cliente de backup-archive trabalham juntos para fornecer proteção completa de dados ao ambiente do DB2. O cliente da API e o cliente de backup-archive podem executar simultaneamente no mesmo servidor do DB2. O servidor do Tivoli Storage Manager os considera clientes diferentes.


Arquitetura básica do Tivoli Storage Manager e do DB2

O cliente de backup-archive do Tivoli Storage Manager pode fazer backup, restaurar, fazer archive e recuperar dados do sistema de arquivos do cliente. O cliente pode fazer backup de qualquer arquivo e usar as funções padrão do sistema operacional para acessar arquivos nos sistemas de arquivo. Esse método afeta o modo como o DB2 e outros sistemas de banco de dados sofrem backup. Cada banco de dados aparece como um arquivo individual no sistema de arquivo do servidor ou cliente.

Para gerenciar o processamento de backup do banco de dados ou do espaço de tabela, o gerenciador do banco de dados do DB2 pode usar a API do Tivoli Storage Manager API. É necessário instalar uma API cliente do Tivoli Storage Manager em todos os servidores de banco de dados do DB2.

A arquitetura do DB2 Tivoli Storage Manager

mostra um método que pode ajudar a fazer backup em um banco de dados do DB2. O servidor do Tivoli Storage Manager fica no Servidor B. O Servidor A contém o banco de dados do DB2 e a API e o cliente de backup-archive do Tivoli Storage Manager.

Na , os componentes a seguir do Tivoli Storage Manager são usados:

  • cliente de backup-archive do Tivoli Storage Manager: fornece uma ferramenta para que os usuários façam backup de versões de arquivos para um servidor do Tivoli Storage Manager. Eles podem ser restaurados se os arquivos originais se perderem ou forem danificados. Os usuário também podem fazer archive de arquivos a longo prazo e recuperá-los quando necessário.
  • API do Tivoli Storage Manager: permite que aplicativos de software e aplicativos customizados façam backup ou archive de dados de aplicativos para um servidor do Tivoli Storage Manager. O DB2 chama as funções fornecidas pela API do Tivoli Storage Manager API para enviar os backups do banco de dados e do espaço de tabela diretamente para o servidor do Tivoli Storage Manager.
  • Servidor do Tivoli Storage Manager: fornece serviços para armazenar e gerenciar os dados do cliente. O servidor pode armazenar dados em dispositivos de disco ou fita. O servidor do Tivoli Storage Manager versão 5.5 possui banco de dados proprietário. O Tivoli Storage Manager versão 6 posteriores usam um banco de dados do DB2 para rastrear informações sobre armazenamento de servidores, clientes, dados de clientes, políticas e cronogramas.

Instalação e configuração do cliente de backup-archive do Tivoli Storage Manager

Antes de fazer backup de um banco de dados do DB2 usando o Tivoli Storage Manager, é necessário instalar e configurar o cliente de backup-archive e o servidor do Tivoli Storage Manager. Para este artigo, o cliente e o servidor foram configurados em sistemas AIX® , portanto, é os componentes a seguir são necessários:

  • cliente de backup-archive do Tivoli Storage Manager versão 6.1 ou posterior para AIX
  • Servidor do Tivoli Storage Manager versão 6.1 ou posterior para AIX

Instalação do cliente de backup-archive do Tivoli Storage Manager

Como mostra a , o cliente de backup-archive do Tivoli Storage Manager e a API devem ser instalados em um servidor do DB2. O servidor do Tivoli Storage Manager deve ser instalado em um sistema diferente. Neste exemplo, o servidor do DB2 está localizado no sistema do AIX system, por isso, o AIX System Management Interface Tool (SMIT) é usado para instalar o cliente de backup-archive.

Escolha os conjuntos de arquivos a seguir ao instalar o cliente de backup-archive:

  • tivoli.tsm.client.ba64
  • tivoli.tsm.client.api.32bit
  • tivoli.tsm.client.api.64bit
  • GSKit8.gskcrypt64.ppc.rte eGSKit8.gskssl64.ppc.rte (necessário para API do cliente de 64 bits)

Depois de instalar o cliente de backup-archive do Tivoli Storage Manager, execute o comando lslpp do AIX para verificar os seguintes conjuntos de arquivos:

$ lslpp -L | grep "tivoli"

  tivoli.tsm.client.api.32bit tivoli.tsm.client.api.64bit
  tivoli.tsm.client.ba.64bit.base
  tivoli.tsm.client.ba.64bit.common
  tivoli.tsm.client.ba.64bit.hdw
  tivoli.tsm.client.ba.64bit.image
  tivoli.tsm.client.ba.64bit.nas
  tivoli.tsm.client.ba.64bit.snphdw
  tivoli.tsm.client.ba.64bit.web

Os diretórios de instalação padrão do cliente de backup-archive do Tivoli Storage Manager e da API são:

  • diretório do cliente de backup-archive: /usr/tivoli/tsm/client/ba/bin64
  • diretório da API: /usr/tivoli/tsm/client/api/bin64

Configuração do cliente de backup-archive do Tivoli Storage Manager

Para configurar o cliente de backup-archive do Tivoli Storage Manager, conclua as tarefas a seguir.

  1. Configure as variáveis de ambiente

    Configure as variáveis de ambiente DSMI a seguir no shell do sistema operacional ou em
    /home/instance_home_dir/sqllib/userprofile file.
    DSMI_DIR
    DSMI_CONFIG
    DSMI_LOG

    Importante: O DB2 DBMS lê essas variáveis de ambiente durante a inicialização da instância do DB2. Se alterar as variáveis, será necessário reiniciar a instância do DB2 para que as mudanças sejam efetivadas.

    DSMI_DIR
    Essa variável indica o diretório de instalação da API. Os arquivos dsmtca, dsm.sys e de idioma devem estar no diretório indicado pela variável de ambiente DSMI_DIR . A configuração da variável DSMI_DIR é opcional. Se não estiver especificado, o diretório padrão é /usr/tivoli/tsm/client/api/bin64 (para AIX de 64 bits).
    DSMI_CONFIG
    Essa variável indica o caminho completo e o nome do arquivo do arquivo de opções do cliente dsm.opt do Tivoli Storage Manager. Este arquivo contém o nome do servidor a ser usado.
    DSMI_LOG
    Essa variável indica o caminho do diretório em que o arquivo de log de erros, dsierror.log, deve ser criado.

    Inclua as linhas a seguir ao perfil do usuário.

    export DSMI_CONFIG=/usr/tivoli/tsm/client/api/bin64/dsm.opt
    export DSMI_LOG=/home/db2inst1
    export DSMI_DIR=/usr/tivoli/tsm/client/api/bin64

    Efetue logoff e faça o login novamente como um usuário da instância e execute o arquivo .profile.

    $ ~/.profile
  2. Crie o arquivo de opções do cliente dsm.sys

    Faça login usando o ID do usuário raiz e crie o arquivo dsm.sys com as entrada a seguir (customize para a instalação). Este arquivo deve estar no diretório especificado pela variável de ambiente DSMI_DIR.


    servername tsmdb2              //name of this stanza
    commmethod tcpip			
    tcpserveraddress  x.xx.xxx.xxx //IP address of Tivoli Storage Manager server
    tcpport 1500                   //Port where Server is listening
    nodename tsmdb2                //Must match nodename on Tivoli Storage Manager server
    passwordaccess generate
  3. Crie o arquivo de opções do cliente dsm.opt

    Faça login usando o ID do usuário raiz e crie o arquivo dsm.opt. Este arquivo de opções possui apenas uma linha, que é referência para a sub-rotina do servidor no arquivo dsm.sys. Este arquivo deve estar no diretório especificado pela variável de ambiente DSMI_CONFIG.


    Servername   tsmdb2
  4. Recicle a instância do DB2

    Para a instância do DB2 e inicie novamente.


    $ db2stop
    SQL1064N DB2STOP processing was successful.
    $ db2start
    SQL1063N DB2START processing was successful.
  5. Configure a senha da API

    Os usuários clientes do Tivoli Storage Manager (chamados nós) devem ter uma senha para acessar o servidor. O programa dsmapipw do DB2 usa a API do Tivoli Storage Manager para criar o arquivo de senha criptografada. O aplicativo DB2 inclui o utilitário dsmapipw , que está instalado no diretório /home/instance_home_dir/sqllib/adsm.

    Faça login como usuário raiz para executar o utilitário dsmapipw .Antes de executar o dsmapipw, é necessário configurar as variáveis de ambiente do DSMI de forma semelhante à da instância do DB2, como mostrado no exemplo a seguir:


    export DSMI_CONFIG=/usr/tivoli/tsm/client/api/bin64/dsm.opt
    export DSMI_DIR=/usr/tivoli/tsm/client/api/bin64

    Para configurar a senha, execute o utilitário dsmapipw no diretório /home/instance_home_dir/sqllib/adsm/. Quando solicitado pelo utilitário dsmapipw , especifique a senha para o nó do Tivoli Storage Manager armazenado no seu servidor.


    $ ./dsmapipw
    *************************************************************
    * Tivoli Storage Manager                                    *
    * API Version = 6.1.0                                       *
    *************************************************************
    Enter your current password:
    Enter your new password:
    Enter your new password again:
    
    Your new password has been accepted and updated.

    Dica: se usar a opção passwordaccess prompt , não é necessário executar o utilitário dsmapipw .


Considerações sobre o servidor do Tivoli Storage Manager

O servidor do Tivoli Storage Manager atua como um repositório de armazenamento central para backup e archive de dados em um ou mais clientes do Tivoli Storage Manager. O servidor mantém um banco de dados para rastrear dados de clientes, usuários (nós, IDs de administradores), políticas de retenção de dados e recursos do servidor do Tivoli Storage. A política de retenção de dados gerencia as configurações a seguir:

  • O tempo de armazenamento de um archive
  • O tempo de armazenamento de backup
  • A quantidade de versões de cópias de um backup mantidas

O servidor também controla o armazenamento do servidor do Tivoli Storage Manager (conjunto de armazenamentos).Esses conjuntos de armazenamentos mantêm os dados de backup e archive do cliente. Cada conjunto de armazenamentos representa um tipo único de mídia de armazenamento. Por exemplo, um conjunto de armazenamentos pode representar um conjunto de discos de acesso aleatórios, outro pode representar um conjunto de fitas de acesso sequenciais, e um terceiro pode representar um conjunto de lâminas óticas de acesso sequencial.

Conclua as etapas a seguir no servidor do Tivoli Storage Manager:

  1. Defina o domínio de política.
  2. Defina o conjunto de política.
  3. Defina a classe de gerenciamento.
  4. Atribua a classe de gerenciamento padrão.
  5. Defina o grupo de cópias.
  6. Valide e ative o conjunto de políticas.
  7. Registre o nó cliente.
  1. Use o comando a seguir para definir o domínio de política. Quando um nó cliente for registrado, ele será atribuído a um domínio existente, e essa associação de nó ou domínio define como seus dados serão gerenciados pelo servidor do Tivoli Storage Manager.

    tsm: TSM6120>define domain dbdomain
    ANR1500I Policy domain DBDOMAIN defined.
  2. Use o comando a seguir para definir o conjunto de políticas.

    tsm: TSM6120>define policyset dbdomain dbpolicy
    ANR1510I Policy set DBPOLICY defined in policy domain DBDOMAIN.
  3. Use o comando a seguir para definir a classe de gerenciamento.

    tsm: TSM6120>define mgmtclass dbdomain dbpolicy dbmgmtclass
    ANR1520I Management class DBMGMTCLASS defined in policy domain DBDOMAIN, set
    DBPOLICY.
  4. Use o comando a seguir para atribuir uma classe de gerenciamento padrão.

    tsm: TSM6120>assign defmgmtclass dbdomain dbpolicy dbmgmtclass
    ANR1538I Default management class set to DBMGMTCLASS for policy domain
    DBDOMAIN, set DBPOLICY.
  5. Use o comando a seguir para definir o grupo de cópias.

    tsm: TSM6120>define copygroup dbdomain dbpolicy dbmgmtclass type=backup dest=ltopool
    VEREXISTS=1 VERDEL=0 RETEXTRA=0 RETONLY=0
    ANR1530I Backup copy group STANDARD defined in policy domain DBDOMAIN, set
    DBPOLICY, management class DBMGMTCLASS.

    Todos os objetos armazenados pelo backup do DB2 no servidor do Tivoli Storage Manager recebem um nome exclusivo com base em um registro de data e hora para o objeto. Como esses objetos são exclusivos, eles nunca serão expirados automaticamente pelo servidor Tivoli Storage Manager. A ferramenta db2adutl pode ser usada para excluir (marca inativa) os objetos de backup indesejados do servidor do Tivoli Storage Manager.

    Para remover os backups do DB2 backups do servidor do Tivoli Storage Manager Server o mais rápido possível depois de marcá-lo como inativo, grupo de cópias de backup deve ter a configuração de retenção a seguir: VEREXISTS=1, VERDEL=0, RETEXTRA=0, RETONLY=0.

  6. Use os comandos a seguir para validar a ativar o conjunto de políticas.

    tsm: TSM6120>validate policyset dbdomain dbpolicy
    tsm: TSM6120>activate policyset dbdomain dbpolicy
  7. Use os comandos a seguir para registrar o nó cliente. Para acessar o servidor do Tivoli Storage Manager, os nós devem fazer login no servidor do Tivoli Storage Manager usando o respectivo nome de nó e senha. Use o comando a seguir para registrar o nó do DB2 com uma senha para o servidor e atribua-o ao domínio da política.

    tsm: TSM6120>register node db2node password domain=dbdomain

Técnicas de backup

Depois de configurar o servidor e o cliente do Tivoli Storage Manager, o DB2 pode fazer backup dos dados no servidor do Tivoli Storage Manager. Use a opção USE TSM para especificar as informações do Tivoli Storage Manager usadas durante a operação de backup do banco de dados. Quando a opção USE TSM for especificada na operação de backup do DB2, a API é usada pra direcionar o backup do banco de dados para o servidor do Tivoli Storage Manager. A opção USE TSM instrui a interface de biblioteca da API do DB2 API, que chama o Tivoli Storage Manager. Por exemplo:
DB2 BACKUP DATABASE database_name USE TSM

Há diversas formas de fazer backup do banco de dados do DB2 usando o Tivoli Storage Manager:

Backup offline

Um backup offline envolve o encerramento do banco de dados antes do início da operação e a sua reinicialização depois da conclusão. Eles são relativamente simples de administrar. Entretanto, os usuários não podem acessar o banco de dados durante o backup. É necessário planejar tempo suficiente para realizar a operação.

Os exemplos a seguir mostram como executar um backup offline de banco de dados do DB2. O exemplo usando a command-line interface (CLI) para fazer backup do banco de dados SAMPLE.

  1. Faça login como proprietário da instância ou com uma autoridade maior.
  2. Verifique se não há aplicativos conectados ao banco de dados que deseja fazer backup. Use o comando LIST APPLICATIONS do DB2 para verificar se há aplicativos conectados ao banco de dados.

    $ db2 list applications for db sample
    
    Auth Id  Application    Appl.      Application Id                DB       # of
             Name           Handle                                   Name    Agents
    -------- -------------- ---------- --------------------------    -------- -----
    db2inst1    db2bp       245        *LOCAL.DB2INST1.120731143027  SAMPLE   3
    db2inst1    db2med      132        *LOCAL.DB2INST1.120731162426  SAMPLE   2
  3. Efetue logoff de todos os aplicativos conectados ao banco de dados. A etapa anterior mostra como dois aplicativos são conectados ao banco de dados. Use o comando FORCE APPLICATION para desconectar os aplicativos. Para especificar mais de um aplicativo no comando FORCE APPLICATION , use uma vírgula para separar os manipuladores.

    $ db2 "force application ( 245,132 )"
    DB20000I The FORCE APPLICATION command completed successfully.
    DB21024I This command is asynchronous and might not be effective immediately.
    Dica: Se houver muitos aplicativos conectados ao banco de dados, é possível usar o comando db2 force application all para efetuar logoff de todos. Entretanto, é necessário ter cuidado ao usá-lo, pois ele efetua logoff de todos os aplicativos conectados a qualquer banco de dados na instância.
  4. Emita o comando LIST APPLICATIONS novamente (consulte a etapa 2) e verifique se não há mais usuários conectados ao banco de dados.
  5. Use o comando BACKUP DATABASE com a opção USE TSM para fazer backup do banco de dados.

    $ db2 backup db sample use tsm
    
    Backup successful. The timestamp for this backup image is : 20120806185756

Backup online

Em um sistema de banco de dados do DB2, é possível fazer backup de dados enquanto o banco de dados é iniciado e está em uso. Se há um backup de banco de dados sendo realizado enquanto os usuários estão atualizando-o, é provável que os dados copiados sejam inconsistentes. O DB2 DBMS usa arquivos de log durante o processo de recuperação para recuperar o banco de dados para um estado completamente consistente. Este processo exige que os arquivos de log sejam reunidos no início do backup de banco de dados e após a sua conclusão.

Ao final de um backup online, o log ativo atual é arquivado e incluído na imagem de backup. Usando o método online, é possível definir os arquivos de log necessários para recuperar o banco de dados.

Restrição: durante um backup online, diversos aplicativos podem trabalhar no banco de dados. No entanto, alguns utilitários, como REORG TABLEnão são compatíveis com esse processo e não podem executar enquanto o backup estiver ativo.

O exemplo a seguir mostra como executar um backup de banco de dados do DB2 online. O exemplo usa o DB2 CLI para fazer backup do banco de dados SAMPLE.

  1. Faça login como administrador de banco de dados ou com uma autoridade maior.
  2. Use o comando BACKUP DATABASE com as opções ONLINE e USE TSM para fazer backup do banco de dados.

    $ db2 backup db sample online use tsm
    
    Backup successful. The timestamp for this backup image is : 20120805223343

Backup de espaço de tabela

O DB2 DBMS simplifica o backup de espaço de tabela em determinadas situações em que não se quer fazer um backup completo do banco de dados. Por exemplo, após concluir um backup completo do banco de dados, um usuário insere uma grande quantidade de dados ou carrega tabelas importantes em um espaço de tabela específico. O usuário quer fazer o backup dos novos dados. Como você não quer repetir o processo completo, é possível fazer o backup do espaço de tabela. Ele pode ser feito online ou offline. É necessário ativar a recuperação rollforward para realizar um backup online.

O exemplo a seguir mostra como executar um backup de espaço de tabela. Ele usa o DB2 CLI para fazer backup do espaço de tabela DATA1 no banco de dados SAMPLE.

  1. Faça login como administrador de banco de dados ou com uma autoridade maior.
  2. Use o comando BACKUP DATABASE com as opções TABLESPACE e USE TSM para fazer backup do espaço de tabela.Se quiser fazer um backup online, inclua a opção ONLINE .

    $ db2 backup db sample tablespace DATA1 online use tsm
    
    Backup successful. The timestamp for this backup image is : 20120805223621

Técnicas de recuperação

A função principal de qualquer DBMS é recuperar o banco de dados a partir do ponto em que ele falhou. O DB2 DBMS possui diversos recursos que podem ser usados para gerenciar o banco de dados e realizar uma recuperação quando necessário. É impossível recuperar o banco de dados em todas as falhas, mas é possível garantir a recuperação na maior parte das situações, com perda de dados mínima. Há vários métodos disponíveis para restaurar o banco de dados de uma imagem de backup.

Recuperação de versão

Use a recuperação de versão para restaurar a versão anterior do banco de dados em uma imagem de backup criada com o uso de um comando BACKUP DATABASE . Ao restaurar o banco de dados, ele é completamente recriado usando um backup feito em um ponto anterior. É possível usar a imagem de backup para restaurar o banco de dados e criar uma cópia dele de quando a imagem foi gerada.

Somente os bancos de dados que não são ativados para recuperação rollforward podem realizar a recuperação de versão. Eles são chamados de banco de dados não recuperáveis (ou seja, todas as transações retidas depois da imagem de backup são perdidas). Todos os usuários devem estar desconectados do banco de dados para a realização da recuperação de versão.

Siga as etapas a seguir para recuperar um banco de dados usando a recuperação de versão. Essas etapas usam o DB2 CLI para recuperar o banco de dados SAMPLE.

  1. Use o comando LIST HISTORY com a opção BACKUP para localizar a imagem de backup que deseja restaurar.

    $ db2 list history backup all for sample
    
     Op Obj Timestamp+Sequence Type Dev Earliest Log Current Log  Backup ID
     -- --- ------------------ ---- --- ------------ ------------ --------------
      B  D  20120805223343001   N    A  S0000002.LOG S0000002.LOG
     ----------------------------------------------------------------------------
      Contains 7 tablespace(s):
    
      00001 SYSCATSPACE
      00002 USERSPACE1
      00003 IBMDB2SAMPLEREL
      00004 IBMDB2SAMPLEXML
      00005 TEST1
      00006 DATA1
      00007 SYSTOOLSPACE
     ----------------------------------------------------------------------------
        Comment: DB2 BACKUP SAMPLE ONLINE
     Start Time: 20120805223343
       End Time: 20120805223401
         Status: A
     ----------------------------------------------------------------------------
      EID: 15 Location: adsm/libtsm.a
    
    
     Op Obj Timestamp+Sequence Type Dev Earliest Log Current Log  Backup ID
     -- --- ------------------ ---- --- ------------ ------------ --------------
      B  D  20120805223343002   N    A  S0000002.LOG S0000002.LOG
     ----------------------------------------------------------------------------
      Contains 7 tablespace(s):
    
      00001 SYSCATSPACE
      00002 USERSPACE1
      00003 IBMDB2SAMPLEREL
      00004 IBMDB2SAMPLEXML
      00005 TEST1
      00006 DATA1
      00007 SYSTOOLSPACE
     ----------------------------------------------------------------------------
        Comment: DB2 BACKUP SAMPLE ONLINE
     Start Time: 20120805223343
       End Time: 20120805223401
         Status: A
     ----------------------------------------------------------------------------
      EID: 16 Location: adsm/libtsm.a
  2. Use o comando RESTORE DATABASE com a opção USE TSM para restaurar o banco de dados. A opção USE TSM informa que o DBMS deve usar a API do Tivoli Storage Manager pra ler o arquivo de backup e restaurá-lo.

    $  db2 restore db sample use tsm taken at 20120805223343
    SQL2539W  Warning!  Restoring to an existing database that is the same as the
    backup image database.  The database files will be deleted.
    Do you want to continue ? (y/n) y
    DB20000I  The RESTORE DATABASE command completed successfully.

Recuperação rollforward do banco de dados

A recuperação rollforward do banco de dados aprimora a recuperação de versão ao usar backups completos de banco de dados e arquivos de log para restaurar um banco de dados ou espaços de tabela selecionados para um ponto específico. Esses bancos de dados são chamados de banco de dados recuperáveis. Com uma imagem backup do banco de dados completa como uma linha de base, todos os arquivos de log estão disponíveis desde o tempo do backup até o tempo atual. É possível aplicar todas as transações em qualquer ou todos os espaços de tabela no banco de dados para qualquer ponto no período de tempo coberto pelos logs. Com bancos de dados recuperáveis, é possível restaurá-los e aplicar os logs para o ponto de falha sem a perda de transações.

No DB2, a recuperação rollforward é especificada no nível do banco de dados e deve ser ativada explicitamente.

Restauração completa do banco de dados e rollforward

O banco de dados pode ser restaurado e, depois, é possível executar rollforward para o fim dos logs. Essas etapas a seguir usam o DB2 CLI para recuperar o banco de dados SAMPLE.

  1. Use o comando RESTORE DATABASE com a opção USE TSM e especifique o registro de data e hora para a imagem de backup que deve ser restaurada.

    $  db2 restore db sample use tsm taken at 20120805223343
    SQL2539W  Warning!  Restoring to an existing database that is the same as the
    backup image database.  The database files will be deleted.
    Do you want to continue ? (y/n) y
    DB20000I  The RESTORE DATABASE command completed successfully.
  2. Use o comando ROLLFORWARD DATABASE para aplicar todos os logs.

    $ db2 rollforward db sample to end of logs and stop
    
                                     Rollforward Status
    
     Input database alias                   = sample
     Number of nodes have returned status   = 1
    
     Node number                            = 0
     Rollforward status                     = not pending
     Next log file to be read               =
     Log files processed                    = S0000002.LOG - S0000003.LOG
     Last committed transaction             = 2012-08-05-17.06.21.000000 UTC
    
    DB20000I  The ROLLFORWARD command completed successfully.

Restauração de espaço de tabela e rollforward

Com bancos de dados recuperáveis, é possível restaurar o banco de dados completo ou apenas os espaços de tabela necessários. A recuperação do espaço de tabela pode ser offline ou online. É possível usar uma imagem de backup de um espaço de tabela ou um banco de dados anterior.

As etapas a seguir usam o DB2 CLI para recuperar o espaço de tabela DATA1 no banco de dados SAMPLE.

  1. Use o comando RESTORE DATABASE com as opções TABLESPACE e USE TSM e especifique o registro de data e hora para a imagem de backup.

    $ db2 "restore db sample tablespace (DATA1) online use tsm taken at 20120805223621"
    DB20000I  The RESTORE DATABASE command completed successfully.
  2. Use o comando ROLLFORWARD DATABASE com a opção TABLESPACE para aplicar todos os logs ao espaço de tabela recuperado.

    $ db2 "rollforward db sample to end of logs and stop tablespace (DATA1) online"
    
                                     Rollforward Status
    
     Input database alias                   = sample
     Number of nodes have returned status   = 1
    
     Node number                            = 0
     Rollforward status                     = not pending
     Next log file to be read               =
     Log files processed                    =  -
     Last committed transaction             = 2012-08-05-17.06.21.000000 UTC
    
    DB20000I  The ROLLFORWARD command completed successfully.

Execute rollforward para um momento

Esse tipo de operação de rollforward alterna o banco de dados ou os espaços de tabela para um momento adiante. Durante um backup online, os logs são regularmente atualizados a partir de novas transações. O retrocesso remove as transações desvinculadas no banco de dados. No entanto, quando a transação é vinculada, não é possível retroceder. Para remover dados indesejados (geralmente por erros do usuário) é possível realizar uma recuperação point-in-time (PIT). Entretanto, essa recuperação não pode ser feita em espaços de tabela que contêm catálogos do sistema.

Antes da recuperação PIT, é necessário restaurar o banco de dados ou os espaços de tabela. Depois, é possível aplicar os logs ao momento específico. No exemplo a seguir, a recuperação PIT é realizada para os espaços de tabela DATA1 e TEST1 no banco de dados SAMPLE.

  1. Use o comando RESTORE DATABASE com as opções TABLESPACE e USE TSM e especifique o registro de data e hora para a imagem de backup.

    $ db2 "restore db sample tablespace (DATA1, TEST1) online use tsm
    taken at 20120805223343"
    DB20000I  The RESTORE DATABASE command completed successfully.
  2. Use o comando ROLLFORWARD DATABASE com a opção TABLESPACE para aplicar os logs ao momento específico. Especifique o momento no formato de hora universal coordenada (UTC). O momento deve ser maior que o tempo de recuperação mínimo.

    $  db2 "rollforward db sample to 2012-08-05-16.26.48.000000 and stop
    tablespace (DATA1, TEST1) online"
    
                                     Rollforward Status
    
     Input database alias                   = sample
     Number of nodes have returned status   = 1
    
     Node number                            = 0
     Rollforward status                     = not pending
     Next log file to be read               =
     Log files processed                    =  -
     Last committed transaction             = 2012-08-05-17.06.21.000000 UTC
    
    DB20000I  The ROLLFORWARD command completed successfully.

    Agora, dois espaços de tabela estão com estado de backup pendente (0x0020).


    $ db2 list tablespaces show detail
    .....
    .....
     Tablespace ID                        = 5
     Name                                 = TEST1
     Type                                 = Database managed space
     Contents                             = All permanent data. Large table space.
     State                                = 0x0020
       Detailed explanation:
         Backup pending
     Total pages                          = 4096
     Useable pages                        = 4064
     Used pages                           = 96
     Free pages                           = 3968
     High water mark (pages)              = 96
     Page size (bytes)                    = 8192
     Extent size (pages)                  = 32
     Prefetch size (pages)                = 32
     Number of containers                 = 1
    
     Tablespace ID                        = 6
     Name                                 = DATA1
     Type                                 = Database managed space
     Contents                             = All permanent data. Large table space.
     State                                = 0x0020
    .....
    .....
  3. Use o comando BACKUP DATABASE com as opções USE TSM e TABLESPACE para fazer backup dos espaços de tabela.

    $ db2 "backup db SAMPLE tablespace (DATA1, TEST1) online use tsm"
    
    Backup successful. The timestamp for this backup image is : 20120806115021

Agora, é possível acessar a trabalhar nos espaços de tabela DATA1 e TEST1 no banco de dados SAMPLE.


Conclusão

Este artigo mostrou como usar o Tivoli Storage Manager para fazer backup e recuperar um banco de dados do DB2. Você aprendeu a configurar o cliente e o servidor do Tivoli Storage Manager e viu considerações sobre os cuidados necessários durante a configuração inicial. O artigo também forneceu instruções passo a passo que mostraram como realizar operações de restauração e rollforward usando uma imagem de backup armazenada no servidor do Tivoli Storage Manager. Agora que você compreendeu como realizar essas operações, é possível aproveitar os recursos de gerenciamento de dados do Tivoli Storage Manager para os bancos de dados do DB2.

Recursos

Aprender

Discutir

Comentários

developerWorks: Conecte-se

Los campos obligatorios están marcados con un asterisco (*).


Precisa de um ID IBM?
Esqueceu seu ID IBM?


Esqueceu sua senha?
Alterar sua senha

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


A primeira vez que você entrar no developerWorks, um perfil é criado para você. Informações no seu perfil (seu nome, país / região, e nome da empresa) é apresentado ao público e vai acompanhar qualquer conteúdo que você postar, a menos que você opte por esconder o nome da empresa. Você pode atualizar sua conta IBM a qualquer momento.

Todas as informações enviadas são seguras.

Elija su nombre para mostrar



Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Los campos obligatorios están marcados con un asterisco (*).

(Escolha um nome de exibição de 3 - 31 caracteres.)

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


Todas as informações enviadas são seguras.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Tivoli, Desenvolvimento móvel, Rational
ArticleID=953986
ArticleTitle=Use o Tivoli Storage Manager Para Fazer Backup e Recuperar um Banco de Dados do DB2
publish-date=11262013