Configurando Bancos de Dados para Fluxos de Mensagens Coordenados com o Oracle

Se o fluxo de mensagens interagir com um banco de dados Oracle e você desejar coordenar as atualizações feitas no banco de dados com outras ações dentro do fluxo de mensagens, configure o intermediário para gerenciar essas atualizações.

Antes de começar:

Para concluir esta tarefa, você deve ter concluído a seguinte tarefa:

Início da mudançaEste tópico descreve como utilizar o Oracle com um intermediário de 32 bits, um intermediário de 64 bits e com o WebSphere MQ V5 ou WebSphere MQ V6 e também descreve os parâmetros XAOpenString necessários: Fim da mudança

Utilizando o Oracle com o WebSphere MQ V5 como o Coordenador de Transação

Se você deseja utilizar o Oracle nas transações coordenadas:

  1. Assegure-se de que o ID do usuário utilizado para acessar o banco de dados especificado no XAOpenString tenha os privilégios do Oracle necessários para acessar a visualização DBA_PENDING_TRANSACTIONS. É possível conceder o acesso necessário utilizando o seguinte comando do Oracle SQLPLUS:
    grant select on DBA_PENDING_TRANSACTIONS to <userid>;
  2. Utilize o switchfile fornecido pelo WebSphere Message Broker. Quando você incluir a informação de configuração para o Oracle do XAResourceManager, especifique:
    • UKor8dtc20.so como o switchfile no AIX, Solaris e Linux (x86 platform).
    • UKor8dtc20.sl como o switchfile no HP-UX
    • UKor8dtc20.dll como o switchfile no Windows
  3. Crie os seguintes links simbólicos:
    No AIX:
    ln –s install_dir/merant/lib/libUKicu20.a /var/mqm/exits/libUKicu20.a
    ln –s $ORACLE_HOME/lib/libclntsh.a /var/mqm/exits/libclntsh.a
    No Solaris e Linux (x86 platform):
    ln –s install_dir/merant/lib/libUKicu20.so /var/mqm/exits/libUKicu20.so
    ln –s $ORACLE_HOME/lib/libclntsh.so /var/mqm/exits/libclntsh.so
    No HP-UX:
    ln –s install_dir/merant/lib/libUKicu20.sl /var/mqm/exits/libUKicu20.sl
    ln –s $ORACLE_HOME/lib/libclntsh.sl /var/mqm/exits/libclntsh.sl

Consulte as informações fornecidas para a versão do WebSphere MQ que você instalou:

  • Os exemplos a seguir mostram o que você deve incluir na sub-rotina XAResourceManager no arquivo qm.ini nos sistemas Linux e UNIX e as informações equivalentes para Windows:
    • No AIX: Início da mudança
      XAResourceManager:
      Name=OracleXA
      SwitchFile=install_dir/merant/lib/UKor8dtc20.so
      XAOpenString=ORACLE_XA+SQLNET=myserver+HostName=myhostname+PortNumber=myportnumber+Sid=mySID
      +ACC=P/uid/passwd+sestm=100+threads=TRUE+DataSource=mydatasourcename+DB=mydatasourcename+K=2+
      XACloseString=
      ThreadOfControl=THREAD
      Fim da mudança
    • No HP-UX: Início da mudança
      XAResourceManager:
      Name=OracleXA
      SwitchFile=install_dir/merant/lib/UKor8dtc20.sl
      XAOpenString=ORACLE_XA+SQLNET=myserver+HostName=myhostname+PortNumber=myportnumber+Sid=mySID
      +ACC=P/uid/passwd+sestm=100+threads=TRUE+DataSource=mydatasourcename+DB=mydatasourcename+K=2+
      XACloseString=
      ThreadOfControl=THREAD
      Fim da mudança
    • No Linux (x86 platform):Início da mudança
      XAResourceManager:
      Name=OracleXA
      SwitchFile=install_dir/merant/lib/UKor8dtc20.so
      XAOpenString=ORACLE_XA+SQLNET=myserver+HostName=myhostname+PortNumber=myportnumber+Sid=mySID
      +ACC=P/uid/passwd+sestm=100+threads=TRUE+DataSource=mydatasourcename+DB=mydatasourcename+K=2+
      XACloseString=
      ThreadOfControl=THREAD
      Fim da mudança
    • No Solaris:Início da mudança
      XAResourceManager:
      Name=OracleXA
      SwitchFile=install_dir/merant/lib/UKor8dtc20.so
      XAOpenString=ORACLE_XA+SQLNET=myserver+HostName=myhostname+PortNumber=myportnumber+Sid=mySID
      +ACC=P/uid/passwd+sestm=100+threads=TRUE+DataSource=mydatasourcename+DB=mydatasourcename+K=2+
      XACloseString=
      ThreadOfControl=THREAD
      Fim da mudança
    • No Windows, defina os seguintes valores na página Recursos do diálogo de propriedades para o gerenciador de filas do WebSphere MQ (acessível a partir dos Serviços do WebSphere MQ). Este exemplo assume que você tenha instalado o WebSphere Message Broker no diretório C:\WMQI: Início da mudança
      SwitchFile: C:\WMQI\BIN\UKor8dtc20.dll
      XAOpenString=ORACLE_XA+SQLNET=myserver+HostName=myhostname+PortNumber=myportnumber+Sid=mySID
      +ACC=P/uid/passwd+sestm=100+threads=TRUE+DataSource=mydatasourcename+DB=mydatasourcename+K=2+
      ThreadOfControl: THREAD
      Fim da mudança

Utilizando o Oracle com o WebSphere MQ V6 como o Coordenador de Transação

Se você deseja utilizar o Oracle nas transações coordenadas:

  1. Assegure-se de que o ID do usuário utilizado para acessar o banco de dados especificado no XAOpenString tenha os privilégios do Oracle necessários para acessar a visualização DBA_PENDING_TRANSACTIONS. É possível conceder o acesso necessário utilizando o seguinte comando do Oracle SQLPLUS:
    grant select on DBA_PENDING_TRANSACTIONS to <userid>;
  2. Utilize o switchfile fornecido pelo WebSphere Message Broker. Quando você incluir a informação de configuração para o Oracle do XAResourceManager, especifique:
    • UKor8dtc20.so como o switchfile no AIX e no Solaris.
    • UKor8dtc20.sl como o switchfile no HP-UX.
  3. Especifique o nome do host da máquina do servidor Oracle, o número da porta na qual ele está atendendo, o SID (Service ID) do Oracle, o nome do usuário e a senha que devem ser utilizados para acessar o banco de dados, além do nome do banco de dados a ser coordenado.
  4. Crie o seguinte link simbólico.
    No AIX:
    ln –s install_dir/merant/lib/libUKicu20.a /var/mqm/exits/libUKicu20.a
    ln –s $ORACLE_HOME/lib/libclntsh.a /var/mqm/exits/libclntsh.a
    ln –s install_dir/DD64/lib/libUKicu20.a /var/mqm/exits64/libUKicu20.a
    Início da mudançaln –s install_dir/DD64/lib/UKoradtc20.so /var/mqm/exits64/UKor8dtc20.soFim da mudança
    No HP-UX:
    ln –s install_dir/merant/lib/libUKicu20.sl /var/mqm/exits/libUKicu20.sl
    ln –s $ORACLE_HOME/lib/libclntsh.sl /var/mqm/exits/libclntsh.slln –s <Your install directory>/DD64/lib/libUKicu20.sl /var/mqm/exits64/libUKicu20.sl
    Início da mudançaln –s install_dir/DD64/lib/UKoradtc20.sl /var/mqm/exits64/UKor8dtc20.slFim da mudança
    Início da mudançaNo Linux (x86 platform):
    ln –s install_dir/merant/lib/libUKicu20.so /var/mqm/exits/libUKicu20.so
    ln –s $ORACLE_HOME/lib/libclntsh.so /var/mqm/exits/libclntsh.so
    Fim da mudança
    No Solaris:
    ln –s install_dir/merant/lib/libUKicu20.so /var/mqm/exits/libUKicu20.so
    ln –s $ORACLE_HOME/lib/libclntsh.so /var/mqm/exits/libclntsh.soln –s install_dir/DD64/lib/libUKicu20.so /var/mqm/exits64/libUKicu20.so
    Início da mudançaln –s install_dir/DD64/lib/UKoradtc20.so /var/mqm/exits64/UKor8dtc20.soFim da mudança

Os exemplos a seguir mostram o que você deve incluir na sub-rotina XAResourceManager no arquivo qm.ini nos sistemas UNIX e a informação equivalente para o Windows:

  • No AIX: Início da mudança
    XAResourceManager:
    Name=OracleXA
    SwitchFile=UKor8dtc20.so
    XAOpenString=ORACLE_XA+SQLNET=myserver+HostName=myhostname+PortNumber=myportnumber+Sid=mySID
    +ACC=P/uid/passwd+sestm=100+threads=TRUE+DataSource=mydatasourcename+DB=mydatasourcename+K=2+
    XACloseString=
    ThreadOfControl=THREAD
    Fim da mudança
  • No HP-UX: Início da mudança
    XAResourceManager:
    Name=OracleXA
    SwitchFile=UKor8dtc20.sl
    XAOpenString=ORACLE_XA+SQLNET=myserver+HostName=myhostname+PortNumber=myportnumber+Sid=mySID
    +ACC=P/uid/passwd+sestm=100+threads=TRUE+DataSource=mydatasourcename+DB=mydatasourcename+K=2+
    XACloseString=
    ThreadOfControl=THREAD
    Fim da mudança
  • No Linux (x86 platform):Início da mudança
    XAResourceManager:
    Name=OracleXA
    SwitchFile=UKor8dtc20.so
    XAOpenString=ORACLE_XA+SQLNET=myserver+HostName=myhostname+PortNumber=myportnumber+Sid=mySID
    +ACC=P/uid/passwd+sestm=100+threads=TRUE+DataSource=mydatasourcename+DB=mydatasourcename+K=2+
    XACloseString=
    ThreadOfControl=THREAD
    Fim da mudança
  • No Solaris:Início da mudança
    XAResourceManager:
    Name=OracleXA
    SwitchFile=UKor8dtc20.so
    XAOpenString=ORACLE_XA+SQLNET=myserver+HostName=myhostname+PortNumber=myportnumber+Sid=mySID
    +ACC=P/uid/passwd+sestm=100+threads=TRUE+DataSource=mydatasourcename+DB=mydatasourcename+K=2+
    XACloseString=
    ThreadOfControl=THREAD
    Fim da mudança
  • No Windows, defina os seguintes valores na página Recursos do diálogo de propriedades para o gerenciador de filas do WebSphere MQ (acessível a partir dos Serviços do WebSphere MQ). Este exemplo assume que você tenha instalado o WebSphere Message Broker no diretório C:\WMQI: Início da mudança
    SwitchFile: UKor8dtc20.dll
    XAOpenString=ORACLE_XA+SQLNET=myserver+HostName=myhostname+PortNumber=myportnumber+Sid=mySID
    +ACC=P/uid/passwd+sestm=100+threads=TRUE+DataSource=mydatasourcename+DB=mydatasourcename+K=2+
    ThreadOfControl: THREAD
    Fim da mudança
Início da mudança

Parâmetros XAOpenString

Segue uma lista dos parâmetros XAOpenString que você precisa incluir na sub-rotina XAResourceManager no arquivo qm.ini:
DataSource
O nome da origem de dados ODBC para o banco de dados.
DB
O nome da origem de dados ODBC para o banco de dados.
HostName
O nome do host TCP/IP no qual reside o banco de dados Oracle.
PortNumber
A porta TCP/IP na qual o banco de dados Oracle está atendendo.
Sid
O SID (System Identifier) Oracle do banco de dados.
SQLNET
O "Nome de Serviço" Oracle que é resolvido para um "Descritor de Conexão", por exemplo, através de um mapeamento no arquivo TSNAMES.ORA.
Conceitos relacionados
Visão Geral de Fluxos de Mensagens
Referências relacionadas
Bancos de Dados Suportados
Nós Internos
Fim da mudança
Notices | Trademarks | Downloads | Library | Support | Feedback
Copyright IBM Corporation 1999, 2006 Last updated: 5월 25, 2006
ac00910_