Como habilitar XA Transactions no Oracle

DBA Geral (instalação, configuração do banco, scripts do Sql*Plus, shell scripts, batch scripts, etc...)
Responder
carlosdev
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 9
Registrado em: Ter, 06 Abr 2010 4:55 pm
Localização: SP

Pessoal,
estamos desenvolvendo em .Net C# controlando transação através de objeto TransactionScope.
Está dando o erro:

Selecionar tudo

"The Promote method returned an invalid value for the distributed transaction"
Desconfiamos que falta configurar alguma coisa no servidor Oracle como o XA Transaction.
Como verificar se o XA Transaction está habilitado e se não tiver, como habilitar?

Obrigado,
Carlos Araujo
Avatar do usuário
adrianoturbo
Moderador
Moderador
Mensagens: 393
Registrado em: Qui, 20 Mar 2008 4:09 pm
Localização: Brasília
Adriano Alves
---Para cada problema dificil existe uma solução simples.----

Brother,imagino eu que esteja trabalhando com transações distribuídas,pois bem por default o XA transactions não vêem habilitadas ,recomendo que dê um

Selecionar tudo

select * from  para a view SYS.DBA_PENDING_TRANSACTION
para verificar se retorna alguma coisa nas colunas: FORMATID,GLOBALID e BRANCHID ,senão retornar nada sugiro execute dois scripts que fazem com que XA transactions seja habilitado que são : initxa.sql e xaview.sql ,esses scripts estão lá
na pasta

Selecionar tudo

/oracle/product/11.2.0/db_1/rdbms/admin

Executando esses scripts com o usuário sys dê grant

Selecionar tudo

sql>grant select,insert,update,delete on DBA_PENDING_TRANSACTIONS to qualquerusuario;
sql>grant select,insert,update,delete on DBA_PENDING_TRANSACTIONS to system; 
Pronto é isso ,espero ter ajudado e boa sorte.
Responder
  • Informação