2011년 6월 18일 토요일

Exception occurs during recovery of Oracle database transactions


많이 알려진 문제이나 그래도 심심치 않게 접하게 되는 문제이다.
Oracle 사용시 XAER_RMERR 내용과 함께 xa_recover 관련 메세지를 확인할 수 있다.
아래 공식적인 내용 및 관련 URL이다.


원인
트랜잭션 복구를 수행하는 데 필요한 특수 사용 권한을 가지려면 Oracle에 WebSphere Application Server 트랜잭션 서비스와 같은 서비스가 있어야 합니다.
솔루션
SYS라는 사용자로서 Oracle 서버에서 다음 명령을 실행하십시오.
grant select on pending_trans$ to public;
grant select on dba_2pc_pending to public;
grant select on dba_pending_transactions to public;
grant execute on dbms_system to <user>;
User는 XA 데이터 소스에 트랜잭션 복구를 수행할 수 있는 권한이 부여된 Application Server의 사용자 ID입니다. 트랜잭션 복구를 수행할 수 있는 권한이 부여된 사용자 ID가 없는 경우, Application Server는 데이터소스의 로그인 별명을 사용자 ID로 사용합니다.
이 문제점은 Oracle 버그: 3979190에 언급되어 있습니다. 이전 명령을 실행하면 문제점이 해결됩니다


댓글 없음:

댓글 쓰기