Configurando a Coordenação Global com o DB2 Utilizando um Gerenciador de Filas de 64 Bits

Configure seu ambiente do intermediário para coordenar globalmente transações do fluxo de mensagens com atualizações em bancos de dados DB2 controlados por um gerenciador de filas de 64-bit.

Antes de começar:

Todos os gerenciadores de filas WebSphere MQ Versão 6 nas plataformas de 64 bits são executados no modo de 64 bits. Gerenciadores de fila de 64 bits podem coordenar transações somente em modo de 64 bits. Se o intermediário utilizar um gerenciador de filas de 64 bits, você poderá coordenar globalmente fluxos de mensagens implementados em grupos de execução de 64 bits ou de 32 bits mas, se estiver utilizando grupos de execução de 32 bits, deverá definir o nome da origem de dados do banco de dados do usuário no odbc.ini e odbc64.ini. Se o intermediário utilizar um gerenciador de filas de 64 bits, ou tiver um grupo de execução de 64 bits, os bancos de dados aos quais o intermediário conecta-se também deverão estar no modo de 64 bits.

Para configurar o ambiente do intermediário para coordenação global utilizando um gerenciador de filas de 64 bits como o gerenciador de transações:

  1. Decida se o intermediário se conectará aos bancos de dados utilizando TCP/IP ou memória compartilhada.

    Para obter mais informações sobre conexões TCP/IP, consulte o exemplo na seção sobre a mensagem SQL1224N em Resolvendo Problemas ao Utilizar Bancos de Dados.

    Para ativar memória compartilhada:

    1. Pare o intermediário executando o seguinte comando, em que broker é o nome do intermediário:
      mqsistart intermediário
    2. Execute o seguinte comando para assegurar-se de que o intermediário seja executado em um ambiente com a variável de memória estendida exportada:
      export EXTSHM=ON
    3. Reinicie o intermediário executando o seguinte comando, em que broker é o nome do intermediário:
      mqsistart intermediário
    4. No servidor DB2, certifique-se de que o suporte à memória compartilhada esteja ativado. Para obter informações adicionais, consulte Configurando Bancos de Dados para Coordenação Global de Transações.
  2. Início da mudança2. Crie os links simbólicos necessários para sua combinação de plataforma, gerenciador de filas e versão do DB2. É necessário ter efetuado login como root.
    • AIX platform No AIX:
      • Se você tiver o DB2 Versão 8 desempenhando a coordenação utilizando o WebSphere MQ Versão 5.3:
        ln -s <diretório_de_instalação_do_DB2>/lib/libdb2.a /var/mqm/exits/libdb2.a
      • Se você tiver o DB2 Versão 8 desempenhando a coordenação utilizando o WebSphere MQ Versão 6.0:
        ln -s <diretório_de_instalação_do_DB2>/lib/libdb2.a /var/mqm/exits/libdb2.a
        ln -s <diretório_de_instalação_do_DB2>/lib64/libdb2.a /var/mqm/exits64/libdb2.a
      • Se você tiver o DB2 Versão 9 desempenhando a coordenação utilizando o WebSphere MQ Versão 5.3:
        ln -s <diretório_de_instalação_do_DB2>/lib32/libdb2.a /var/mqm/exits/libdb2.a
      • Se você tiver o DB2 Versão 9 desempenhando a coordenação utilizando o WebSphere MQ Versão 6.0:
        ln -s <diretório_de_instalação_do_DB2>/lib32/libdb2.a /var/mqm/exits/libdb2.a
        ln -s <diretório_de_instalação_do_DB2>/lib64/libdb2.a /var/mqm/exits64/libdb2.a
    • HP-UX platform No HP-UX:
      • Se você tiver o DB2 Versão 8 desempenhando a coordenação utilizando o WebSphere MQ Versão 5.3:
        ln -s <diretório_de_instalação_do_DB2>/lib/libdb2.sl /var/mqm/exits/libdb2.sl
      • Se você tiver o DB2 Versão 8 desempenhando a coordenação utilizando o WebSphere MQ Versão 6.0:
        ln -s <diretório_de_instalação_do_DB2>/lib/libdb2.sl /var/mqm/exits/libdb2.sl
        ln -s <diretório_de_instalação_do_DB2>/lib64/libdb2.sl /var/mqm/exits64/libdb2.sl
      • Se você tiver o DB2 Versão 9 desempenhando a coordenação utilizando o WebSphere MQ Versão 5.3:
        ln -s <diretório_de_instalação_do_DB2>/lib32/libdb2.sl /var/mqm/exits/libdb2.sl
      • Se você tiver o DB2 Versão 9 desempenhando a coordenação utilizando o WebSphere MQ Versão 6.0:
        ln -s <diretório_de_instalação_do_DB2>/lib32/libdb2.sl /var/mqm/exits/libdb2.sl
        ln -s <diretório_de_instalação_do_DB2>/lib64/libdb2.sl /var/mqm/exits64/libdb2.sl
    • Solaris platform No Solaris:
      • Se você tiver o DB2 Versão 8 desempenhando a coordenação utilizando o WebSphere MQ Versão 5.3:
        ln -s <diretório_de_instalação_do_DB2>/lib/libdb2.so /var/mqm/exits/libdb2.so
      • Se você tiver o DB2 Versão 8 desempenhando a coordenação utilizando o WebSphere MQ Versão 6.0:
        ln -s <diretório_de_instalação_do_DB2>/lib/libdb2.so /var/mqm/exits/libdb2.so
        ln -s <diretório_de_instalação_do_DB2>/lib64/libdb2.so /var/mqm/exits64/libdb2.so
      • Se você tiver o DB2 Versão 9 desempenhando a coordenação utilizando o WebSphere MQ Versão 5.3:
        ln -s <diretório_de_instalação_do_DB2>/lib32/libdb2.so /var/mqm/exits/libdb2.so
      • Se você tiver o DB2 Versão 9 desempenhando a coordenação utilizando o WebSphere MQ Versão 6.0:
        ln -s <diretório_de_instalação_do_DB2>/lib32/libdb2.so /var/mqm/exits/libdb2.so
        ln -s <diretório_de_instalação_do_DB2>/lib64/libdb2.so /var/mqm/exits64/libdb2.so
    Fim da mudança
  3. Siga as instruções apropriadas aos grupos de execução:

Grupos de Execução de 32 Bits

Para configurar o gerenciador de filas do intermediário para coordenar fluxos de mensagens implementados em um grupo de execução de 32 bits:
  1. UNIX platform No UNIX somente, crie os seguintes links simbólicos para especificar o local dos drivers de banco de dados ODBC e do arquivo de chave que são fornecidos com o WebSphere Message Broker:
    ln –s install_dir/sample/xatm/db2swit /var/mqm/exits/db2swit
    ln –s install_dir/sample/xatm/db2swit64 /var/mqm/exits64/db2swit
    Em que:
    • install_dir é o local onde o WebSphere Message Broker está instalado.
  2. Configure o gerenciador de filas do intermediário com informações do gerenciador de recursos XA para cada banco de dados envolvido na transação que será coordenada globalmente pelo gerenciador de filas. Se os fluxos de mensagens fizerem referência a dicionários de mensagem ou contiverem nós Publicação, será necessário utilizar o mesmo método para definir informações do gerenciador de recursos XA para o banco de dados do intermediário e para bancos de dados do usuário.

    UNIX platform No UNIX:

    1. Abra o arquivo qm.ini do gerenciador de filas em um editor de texto. O arquivo qm.ini está localizado em /var/mqm/qmgrs/queue_manager_name/qm.ini, em que queue_manager_name é o nome do intermediário que está associado ao gerenciador de filas.
    2. No final do arquivo qm.ini, cole a seguinte sub-rotina:
      XAResourceManager:
      Name=DB2
      SwitchFile=db2swit
      XAOpenString=db=MyDataSource,uid=MyUserId,pwd=MyPassword,toc=t
      XACloseString=
      ThreadOfControl=THREAD

      O arquivo de chave é fornecido pelo WebSphere Message Broker.

    3. Na linha XAOpenString, substitua os seguintes valores pelos valores apropriados à sua configuração:
      • MyDataSource é o nome da origem de dados à qual você deseja se conectar.
      • MyUserId deve ser o nome de usuário que o intermediário utiliza para conectar-se ao banco de dados. O nome de usuário que o intermediário utiliza pode ser definido de várias maneiras. Se você utilizar o parâmetro -u no comando mqsicreatebroker ao criar o intermediário, este nome de usuário será utilizado para conectar-se ao banco de dados, a menos que o comando mqsisetdbparms tenha sido utilizado para associar um nome de usuário e senha específicos a um DSN (Nome de Origem de Dados) específico. Se você não utilizar o parâmetro -u no comando mqsicreatebroker, nem no comando mqsisetdbparms, o nome utilizado será o nome de usuário do serviço do intermediário, definido com o parâmetro -i no comando mqsicreatebroker.
      • MyPassword é a senha associada ao nome de usuário.
    4. Aceite os valores padrão para todas as demais linhas na sub-rotina. Por exemplo:
      XAResourceManager:
      Name=DB2
      SwitchFile=db2swit
      XAOpenString=db=MYDB,uid=wbrkuid,pwd=wbrkpw,toc=t
      XACloseString=
      ThreadOfControl=THREAD
  3. Pare, em seguida, reinicie o gerenciador de filas para aplicar as alterações, porque qm.ini é somente leitura durante a execução do gerenciador de filas.
    Para parar e, em seguida, reiniciar o gerenciador de filas, digite os seguintes comandos, em que queue_manager_name é o nome do gerenciador de filas:
    endmqm queue_manager_name
    strmqm queue_manager_name

    Quando o gerenciador de filas for reiniciado, verifique o log do gerenciador de filas em busca que algum aviso associado ao reinício. Os arquivos de log estão localizados em /var/mqm/qmgrs/queue_manager_name/errors, em que queue_manager_name é o nome do gerenciador de filas reiniciado.

    Quando o gerenciador de filas for reiniciado com êxito, as alterações feitas em qm.ini serão aplicadas.
O DB2 agora está configurado para uma coordenação global com um gerenciador de filas de 64 bits coordenando transações.
Em seguida: você pode implementar fluxo de mensagens coordenadas globalmente no intermediário.

Grupos de Execução de 64 Bits

Para configurar o gerenciador de filas do intermediário para coordenar fluxos de mensagens implementados em um grupo de execução de 64 bits:
  1. UNIX platform No UNIX somente, crie os seguintes links simbólicos para especificar o local dos drivers de banco de dados ODBC e do arquivo de chave que são fornecidos com o WebSphere Message Broker:
    ln –s install_dir/sample/xatm/db2swit64 /var/mqm/exits64/db2swit
    ln -s install_dir/sample/xatm/db2swit /var/mqm/exits/db2swit

    Em que install_dir é o local no qual o WebSphere Message Broker está instalado.

  2. Configure o gerenciador de filas do intermediário com informações do gerenciador de recursos XA para cada banco de dados envolvido na transação que será coordenada globalmente pelo gerenciador de filas. Se os fluxos de mensagens fizerem referência a dicionários de mensagem ou contiverem nós Publicação, será necessário utilizar o mesmo método para definir informações do gerenciador de recursos XA para o banco de dados do intermediário e para bancos de dados do usuário.

    UNIX platform No UNIX:

    1. Abra o arquivo qm.ini do gerenciador de filas em um editor de texto. O arquivo qm.ini está localizado em /var/mqm/qmgrs/queue_manager_name/qm.ini, em que queue_manager_name é o nome do intermediário que está associado ao gerenciador de filas.
    2. No final do arquivo qm.ini, cole a seguinte sub-rotina:
      XAResourceManager:
      Name=DB2
      SwitchFile=db2swit
      XAOpenString=db=MyDataSource,uid=MyUserId,pwd=MyPassword,toc=t
      XACloseString=
      ThreadOfControl=THREAD

      O arquivo de chave é fornecido pelo WebSphere Message Broker.

    3. Na linha XAOpenString, substitua os seguintes valores pelos valores apropriados à sua configuração:
      • MyDataSource é o nome da origem de dados à qual você deseja se conectar.
      • MyUserId deve ser o nome de usuário que o intermediário utiliza para conectar-se ao banco de dados. O nome de usuário que o intermediário utiliza pode ser definido de várias maneiras. Se você utilizar o parâmetro -u no comando mqsicreatebroker ao criar o intermediário, este nome de usuário será utilizado para conectar-se ao banco de dados, a menos que o comando mqsisetdbparms tenha sido utilizado para associar um nome de usuário e senha específicos a um DSN (Nome de Origem de Dados) específico. Se você não utilizar o parâmetro -u no comando mqsicreatebroker, nem no comando mqsisetdbparms, o nome utilizado será o nome de usuário do serviço do intermediário, definido com o parâmetro -i no comando mqsicreatebroker.
      • MyPassword é a senha associada ao nome de usuário.
    4. Aceite os valores padrão para todas as demais linhas na sub-rotina. Por exemplo:
      XAResourceManager:
      Name=DB2
      SwitchFile=db2swit
      XAOpenString=db=MYDB,uid=wbrkuid,pwd=wbrkpw,toc=t
      XACloseString=
      ThreadOfControl=THREAD
  3. Pare, em seguida, reinicie o gerenciador de filas para aplicar as alterações, porque qm.ini é somente leitura durante a execução do gerenciador de filas.
    Para parar e, em seguida, reiniciar o gerenciador de filas, digite os seguintes comandos, em que queue_manager_name é o nome do gerenciador de filas:
    endmqm queue_manager_name
    strmqm queue_manager_name

    Quando o gerenciador de filas for reiniciado, verifique o log do gerenciador de filas em busca que algum aviso associado ao reinício. Os arquivos de log estão localizados em /var/mqm/qmgrs/queue_manager_name/errors, em que queue_manager_name é o nome do gerenciador de filas reiniciado.

    Quando o gerenciador de filas for reiniciado com êxito, as alterações feitas em qm.ini serão aplicadas.
O DB2 agora está configurado para uma coordenação global com um gerenciador de filas de 64 bits coordenando transações.
Em seguida: você pode implementar fluxo de mensagens coordenadas globalmente no intermediário.
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Última atualização : 2009-02-13 16:11:37

ac00905_