Может ли процесс Oracle или Java был остановлен без завершения транзакции? что он пытается восстановить, но не может, см. IBM - WebSphere Application Server не удается запустить с XAException: XAER_RMERR (xa_recover)
* фрагмент 1006 *
Это означает, что диспетчер транзакций не смог выполнить операцию восстановления XA, и Oracle вернула ошибку XAER_RMERR, чтобы указать, что WebSphere не закрыл свое соединение с Oracle должным образом. Когда WebSphere Application Server пытается восстановить соединение, Oracle должен откатить любые транзакции, которые выполнялись, но пользователь Oracle, который WebSphere использует для входа в базу данных (в данном примере Скотт), не может выполнить восстановление.
Решение состоит в том, чтобы дать пользователю Oracle разрешение на восстановление, особенно для доступа к внутренним таблицам Oracle, используемым для управления восстановлением.
Для этого:
- Войдите в SQL Plus как SYSOPER или SYSDBA. Выполните следующую команду:
grant select on DBA_PENDING_TRANSACTIONS to PUBLIC
Примечание:
Если вы не хотите предоставлять это разрешение всем пользователям, укажите только пользователя, указанного в сообщении об ошибке (в данном примере, Скотт).
- Перезагрузите базу данных. Перезагрузите
- Сервер WebSphere.