Configurando a Coordenação Global com o Oracle 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 Oracle 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. Linux platformUNIX platform No Linux em x86 e 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:
    AIX platform No AIX:
    ln -s install_dir/merant/lib/libUKicu20.a /var/mqm/exits/libUKicu20.a
    ln -s install_dir/merant/lib/UKor8dtc20.so /var/mqm/exits/UKor8dtc20.so
    ln -s Oracle_install_dir/lib32/libclntsh.a /var/mqm/exits/libclntsh.a
    ln -s install_dir/DD64/lib/libUKicu20.a /var/mqm/exits64/libUKicu20.a
    ln -s install_dir/DD64/lib/UKoradtc20.so /var/mqm/exits64/UKor8dtc20.so
    ln -s install_dir/DD64/lib/UKora20.so /var/mqm/exits64/UKora20.so
    HP-UX platform No HP-UX em PA-RISC:
    ln -s install_dir/merant/lib/libUKicu20.sl /var/mqm/exits/libUKicu20.sl
    ln -s install_dir/merant/lib/UKor8dtc20.sl /var/mqm/exits/UKor8dtc20.sl
    ln -s Oracle_install_dir/lib32/libclntsh.sl /var/mqm/exits/libclntsh.sl
    ln -s install_dir/DD64/lib/libUKicu20.sl /var/mqm/exits64/libUKicu20.sl
    ln -s install_dir/DD64/lib/UKoradtc20.sl /var/mqm/exits64/UKor8dtc20.sl
    ln -s install_dir/DD64/lib/UKora20.sl /var/mqm/exits64/UKora20.sl
    HP-UX platform No HP-UX em Itanium:
    ln -s install_dir/DD64/lib/libUKicu20.so /var/mqm/exits64/libUKicu20.so
    ln -s install_dir/DD64/lib/UKoradtc20.so /var/mqm/exits64/UKor8dtc20.so
    ln -s install_dir/DD64/lib/UKora20.so /var/mqm/exits64/UKora20.so
    Linux platform No Linux em x86:
    ln -s install_dir/merant/lib/libUKicu20.so /var/mqm/exits/libUKicu20.so
    ln -s install_dir/merant/lib/UKor8dtc20.so /var/mqm/exits/UKor8dtc20.so
    ln -s Oracle_install_dir/lib32/libclntsh.so /var/mqm/exits/libclntsh.so
    Solaris platform No Solaris em SPARC:
    ln -s install_dir/merant/lib/libUKicu20.so /var/mqm/exits/libUKicu20.so
    ln -s install_dir/merant/lib/UKor8dtc20.so /var/mqm/exits/UKor8dtc20.so
    ln -s Oracle_install_dir/lib32/libclntsh.so /var/mqm/exits/libclntsh.so
    ln -s install_dir/DD64/lib/libUKicu20.so /var/mqm/exits64/libUKicu20.so
    ln -s install_dir/DD64/lib/UKoradtc20.so /var/mqm/exits64/UKor8dtc20.so
    ln -s install_dir/DD64/lib/UKora20.so /var/mqm/exits64/UKora20.so
    Solaris platform No Solaris em x86-64:
    ln -s install_dir/merant/lib/libUKicu20.so /var/mqm/exits/libUKicu20.so
    ln -s install_dir/merant/lib/UKoradtc20.so /var/mqm/exits/UKoradtc20.so
    ln -s install_dir/merant/lib/UKora20.so /var/mqm/exits/UKora20.so
    ln -s install_dir/DD64/lib/libUKicu20.so /var/mqm/exits64/libUKicu20.so
    ln -s install_dir/DD64/lib/UKoradtc20.so /var/mqm/exits64/UKoradtc20.so
    ln -s install_dir/DD64/lib/UKora20.so /var/mqm/exits64/UKora20.so
    Em que:
    • install_dir é o local onde o WebSphere Message Broker está instalado.
    • Oracle_install_dir é o local no qual o Oracle está instalado, que é o mesmo valor que $ORACLE_HOME.
  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.

    Linux platformUNIX platform No Linux em x86 e 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=OracleXA
      SwitchFile=SwitchFileName
      XAOpenString=ORACLE_XA
         +SQLNET=MyServerName
         +HostName=MyHostName
         +PortNumber=MyPortNumber
         +Sid=MySID
         +ACC=P/MyUserId/MyPassword
         +sestm=100+threads=TRUE
         +DataSource=MyDataSourceName
         +DB=MyDataSourceName+K=2+
      XACloseString=
      ThreadOfControl=THREAD
    3. Na linha SwitchFile da sub-rotina, substitua SwitchFileName pelo nome do arquivo do comutador para seu sistema operacional. A tabela a seguir mostra o nome do arquivo do comutador para cada sistema operacional.
      Sistema operacional Switch file
      HP-UX em PA-RISC UKor8dtc20.sl
      Todas as outras plataformas UKoradtc20.so

      O arquivo de chave é fornecido pelo WebSphere Message Broker.

    4. Na linha XAOpenString, substitua os seguintes valores pelos valores apropriados à sua configuração:
      • MyServerName é o nome do Oracle Server.
      • MyHostName é o nome do host TCP/IP que hospeda o banco de dados Oracle.
      • MyPortNumber é a porta TCP/IP na qual o banco de dados Oracle está atendendo.
      • MySID é o SID (System Identifier) do Oracle do banco de dados.
      • 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.
      • MyDataSourceName é o nome da origem de dados ODBC do banco de dados.
    5. Aceite os valores padrão para todas as demais linhas na sub-rotina. Por exemplo, no AIX:
      XAResourceManager:
      Name=OracleXA
      SwitchFile=UKor8dtc20.so
      XAOpenString=ORACLE_XA+SQLNET=diaz
         +HostName=diaz.hursley.ibm.com
         +PortNumber=1521
         +Sid=diaz
         +ACC=P/wbrkuid/wbrkpw
         +sestm=100+threads=TRUE
         +DataSource=MYDB+DB=MYDB+K=2+
      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 Oracle agora está configurado para coordenação global com um gerenciador de filas de 64 bits que coordena transações.
Em seguida: você pode implementar fluxo de mensagens coordenadas globalmente no intermediário.
Tarefas relacionadas
Configurando Fluxos de Mensagens Coordenados Globalmente
Configurando a Coordenação Global de Transações (two-phase commit)
Referências relacionadas
Bancos de Dados Suportados
Comando mqsicreatebroker
Comando mqsisetdbparms
Informações relacionadas
Centro de Informações On-line do WebSphere MQ Versão 6
Página da Web da Biblioteca do WebSphere MQ
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

ac00915_