Acesso Exclusivo ao Armazém de Dados

Um mecanismo do sistema de mensagens estabelece um bloqueio em seu armazém de dados para que tenha acesso exclusivo aos dados armazenados nele. Esse processo garante a integridade dos dados dentro do armazém de dados. Observe que vários fatores podem afetar o bloqueio de acesso exclusivo na prática.

Cada mecanismo do sistema de mensagens estabelece um bloqueio exclusivo no seu armazém de dados. Durante a execução do mecanismo do sistema de mensagens, ele mantém esse bloqueio para garantir a integridade dos dados dentro do armazém de dados.

O bloqueio do armazém de dados utiliza os bloqueios do banco de dados, e assim é parte intrínseca do próprio armazém de dados. O Relational Database Management System (RDBMS) se apoia na infraestrutura de JDBC ou no protocolo TCP/IP para indicar a falha de um mecanismo do sistema de mensagens ou de um servidor de aplicativos. O RDBMS pode liberar automaticamente os bloqueios do armazém de dados no banco de dados.

A freqüência da verificação de atividade da conexão de rede, entre um mecanismo do sistema de mensagens e o servidor de banco de dados para seu armazém de dados, é um fator importante na ativação do failover de aviso de um mecanismo do sistema de mensagens que está sendo executado em um cluster. Quando os mecanismos do sistema de mensagens em um cluster estiverem configurados para sofrer failover entre servidores, você poderá ter que reduzir os parâmetros keep-alive de TCP/IP no servidor de banco de dados para minimizar a quantidade de tempo, antes de a falha de um mecanismo do sistema de mensagens ser detectada.

A tabela SIBOWNER no armazém de dados mantém o bloqueio como um par de identificadores exclusivos em uma única linha. Ao iniciar, um mecanismo do sistema de mensagens usa esses dois identificadores para adquirir e manter seu bloqueio exclusivo:

MEUUID
O identificador exclusivo de um mecanismo do sistema de mensagens, que permanece o mesmo sempre que o mecanismo do sistema de mensagens pára e é reiniciado.
INCUUID
O identificador de ativação de um mecanismo do sistema de mensagens, que é alterado sempre que um mecanismo do sistema de mensagens é iniciado.

Esses identificadores determinam qual mecanismo do sistema de mensagens está usando um armazém de dados. Esses identificadores também determinam se uma instância em execução de um mecanismo do sistema de mensagens manteve o bloqueio exclusivo para o período em que esteve em execução.

A outra tabela usada no processo de bloqueio do armazém de dados é a tabela SIBOWNERO. Essa tabela é usada apenas para bloquear e não armazena nenhum dado em sua coluna EMPTY_COLUMN.

À medida que o mecanismo do sistema de mensagem inicia, ele primeiro obtém um bloqueio de tabela exclusivo na tabela SIBOWNERO. O mecanismo do sistema de mensagem então obtém um bloqueio de tabela exclusivo na tabela SIBOWNER e continua a verificar o conteúdo. O mecanismo do sistema de mensagens espera localizar uma única linha de dados na tabela ou nenhum dado. Se houver uma linha existente, o mecanismo do sistema de mensagem inicia apenas se MEUUID encontrado corresponder ao seu próprio identificador exclusivo. Se o MEUUID não corresponder, o mecanismo do sistema de mensagens gravará a mensagem de erro CWSIS1535 no log de erros do servidor e o mecanismo do sistema de mensagens falhará ao iniciar.

Se não houver linhas na tabela SIBOWNER, o mecanismo do sistema de mensagem insere uma linha contendo seu próprio MEUUID e INCUUID. Se houver uma linha única na tabela e o MEUUID corresponder ao identificador exclusivo do mecanismo do sistema de mensagens, o mecanismo do sistema de mensagens atualizará o INCUUID com seu próprio identificador de encarnação e tentará obter um novo bloqueio de tabela compartilhada na tabela SIBOWNER. O mecanismo do sistema de mensagem verifica novamente se INCUUID ainda corresponde ao seu próprio identificador de ativação, no caso de outra instância do mesmo mecanismo do sistema de mensagem em outro servidor iniciar ao mesmo tempo. Se INCUUID na tabela não corresponder, o mecanismo do sistema de mensagem falhará ao iniciar.

O bloqueio da tabela compartilhada na tabela SIBOWNER permanece até que o mecanismo do sistema de mensagem pare, com atualizações periódicas para verificar se o bloqueio ainda está em vigor. O bloqueio da tabela exclusiva na tabela SIBOWNERO é então liberado. Se o mecanismo do sistema de mensagens não puder atualizar o bloqueio na tabela SIBOWNER ou descobrir, a partir dos dados na tabela SIBOWNER, que outra encarnação do mecanismo do sistema de mensagens está usando o armazém de dados, o mecanismo do sistema de mensagens gravará as mensagens CWSIS1594 e CWSIS1519 no log de erros do servidor e o mecanismo do sistema de mensagens parará imediatamente.

Em alguns casos, quando o mecanismo do sistema de mensagens é configurado para ser executado em um cluster, se o mecanismo do sistema de mensagens não puder obter o bloqueio, ele parará e será impedido de sofrer failover em outro servidor no cluster. Nesses casos, é necessário verificar os logs de erros, pois a parada do mecanismo do sistema de mensagens assinalou que não é seguro ou possível iniciar, usando a configuração atual do armazém de dados. Para obter descrições das situações nas quais as falhas podem ocorrer e as possíveis soluções que podem ser examinadas, consulte Diagnosticando Problemas com Travas de Acesso Exclusivas do Datastore.


Ícone que indica o tipo de tópico Tópico de Conceito



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cjm0450_
Nome do arquivo: cjm0450_.html