|Ao incluir nós em um banco de dados particionado que possui um ou mais |áreas de tabela 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 áreas de tabela 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 áreas de tabela |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 áreas de tabela |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 áreas de |tabela com 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 |áreas de tabela.
|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 áreas de tabela 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 áreas de tabela 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 área de tabela 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.