Notas sobre o Release


9.3 Capítulo 10. Ajustando a Escala de Configuração Através da Inclusão de Processadores

9.3.1 Problemas Ao Incluir Nós em um Banco de Dados Particionado

Ao incluir nós em um banco de dados particionado que possui um ou mais table spaces de tipo temporário no sistema com um tamanho de página que é diferente do tamanho de página padrão (4 KB), você pode receber a mensagem de erro: "SQL6073N Falhou a operação Incluir Nó" e um SQLCODE. Isto ocorre porque apenas o pool de buffer IBMDEFAULTBP existe com um tamanho de página de 4 KB quando o nó é criado.

Por exemplo, você pode usar o comando db2start para incluir um nó em um banco de dados particionado atual:

   DB2START NODENUM 2 ADDNODE HOSTNAME newhost PORT 2

Se o banco de dados particionado possui table spaces temporárias do sistema com o tamanho de página padrão, a seguinte mensagem é retornada:

   SQL6075W A operação Iniciar Gerenciador de Banco de Dados incluiu o nó
        com sucesso. O nó não está ativo até que todos os nós sejam
        interrompidos e inicializados novamente.

De qualquer modo, se o banco de dados particionado possuir table spaces temporárias do sistema que não tenham o tamanho de página padrão, a seguinte mensagem será retornada:

   SQL6073N Falhou a inclusão do Nó. SQLCODE = "<-902>"

Em um exemplo similar, você pode usar o comando ADD NODE após atualizar manualmente o arquivo db2nodes.cfg com a nova descrição do nó. Após a edição do arquivo e da execução do comando ADD NODE com um banco de dados particionado que possui tables spaces temporários do sistema com tamanho de página padrão, a seguinte mensagem é retornada:

   DB20000I O comando ADD NODE foi concluído com sucesso.

De qualquer modo, se o banco de dados particionado possuir table spaces temporárias do sistema que não tenham o tamanho de página padrão, a seguinte mensagem será retornada:

   SQL6073N Falhou a inclusão do Nó. SQLCODE = "<-902>"

Uma maneira de impedir os problemas delineados acima é executar:

   DB2SET DB2_HIDDENBP=16

antes de emitir o comando db2start ou ADD NODE. Esta variável de registro ativa o DB2 para alocar pools de buffer ocultos de 16 páginas cada utilizando um tamanho de página diferente do padrão. Isto ativa a operação ADD NODE para o sucesso completo.

Outra maneira de impedir estes problemas é especificar a cláusula WITHOUT TABLESPACES no comando ADD NODE ou db2start. Feito isto, você terá de criar os pools de buffer utilizando a instrução CREATE BUFFERPOOL, e associar os tables spaces temporários do sistema para os pools de buffer usarem a instrução ALTER TABLESPACE.

Ao incluir nós em um grupo de nó existente que possui uma ou mais table spacescom um tamanho de página que é diferente do tamanho de página padrão (4 KB), você pode encontrar a mensagem de erro: "SQL0647N Bufferpool "" não está ativo atualmente.". Isto ocorre porque o tamanho da página do pool de buffer não padrão criada no novo nó não foi ativada para as table spaces.

Por exemplo, você pode usar a instrução ALTER NODEGROUP para incluir um nó em um grupo de nós:

   DB2START
   CONNECT TO mpp1
   ALTER NODEGROUP ng1 ADD NODE (2)

Se o grupo de nós possui table spaces com tamanho de página padrão, a seguinte mensagem é retornada:

   SQL1759W A redistribuição do grupo de nós é requerida para alterar o
        posicionamento de dados para objetos no grupo de nós "<ng1>" para
        incluir alguns nós acrescentados ou excluir	alguns nós eliminados.

De qualquer modo, se o grupo de nó possui table spaces que não tenham o tamanho de página padrão, a mensagem retornada é:

   SQL0647N Bufferpool "" não está ativo atualmente.

Uma maneira de impedir este problema e criar pools de buffer para cada tamanho de página e depois se conectar novamente ao banco de dados antes de emitir a instrução ALTER NODEGROUP.

   DB2START
   CONNECT TO mpp1
   CREATE BUFFERPOOL bp1 SIZE 1000 PAGESIZE 8192
   CONNECT RESET
   CONNECT TO mpp1
   ALTER NODEGROUP ng1 ADD NODE (2)

Uma segunda maneira para impedir o problema é executar:

   DB2SET DB2_HIDDENBP=16

antes de emitir o comando db2start, e as instruções CONNECT e ALTER NODEGROUP.

Outro problema pode ocorrer quando a instrução ALTER TABLESPACE é utilizada para incluir uma table space em um nó. Por exemplo:

   DB2START
   CONNECT TO mpp1
   ALTER NODEGROUP ng1 ADD NODE (2) WITHOUT TABLESPACES
   ALTER TABLESPACE ts1 ADD ('ts1') ON NODE (2)

Esta série de comandos e instruções gera a mensagem de erro SQL0647N (e não a mensagem esperada SQL1759W).

Para concluir esta alteração corretamente, você deve se reconectar ao banco de dados após a instrução ALTER NODEGROUP... WITHOUT TABLESPACES.

   DB2START
   CONNECT TO mpp1
   ALTER NODEGROUP ng1 ADD NODE (2) WITHOUT TABLESPACES
   CONNECT RESET
   CONNECT TO mpp1
   ALTER TABLESPACE ts1 ADD ('ts1') ON NODE (2)

Outra maneira para impedir o problema é executar:

   DB2SET DB2_HIDDENBP=16

antes de emitir o comando db2start e as instruções CONNECT, ALTER NODEGROUP e ALTER TABLESPACE.


[ Início da Página | Página Anterior | Próxima Página | Índice | Índice Remissivo ]