Как исправить: ORA-2091: OracleXAException: вызвано ORA-02292: XAErr получает нарушение целостности - PullRequest
0 голосов
/ 02 мая 2019

Я пытаюсь выполнить операцию отмены из моего приложения, которая удалит запись из базы данных. Однако в тестовой среде я получаю ошибку в журнале, и отмена не удается. То же приложение, развернутое на моем локальном хосте, работает без проблем.

Я пытался воспроизвести проблему в моей локальной среде, но она работает там.

Обратите внимание, что мой локальный и тестовый env указывают на одну и ту же базу данных .

Произошла ошибка в следующих условиях :

App Server : WebLogic 12cR2

DB : 12c

OS : AIX

Java : 1.8

Работа в условиях ниже :

App Server : WebLogic 12cR2

DB : 12c

OS : Windows 7

Java : 1.8

Получена ошибка:

Caused by: oracle.jdbc.xa.OracleXAException: XAErr (100): The
inclusive lower bound oof the rollback codes. ORA-2091 SQLErr (0)
Caused by: java.sql.SQLTransactionRollbackException: ORA-02091: transaction rolled back
ORA-02292: integrity constraint (EDOC2.FK_REQ_DOC_TYPE) violated - child record found

Полный журнал ошибок :

weblogic.transaction.RollbackException: XAErr (100): The inclusive lower bound oof the rollback codes. ORA-2091 SQLErr (0)
        at weblogic.transaction.internal.TransactionImpl.throwRollbackException(TransactionImpl.java:2104)
        at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:376)
        at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:262)
        at weblogic.ejb.container.internal.BaseRemoteObject.postInvoke1(BaseRemoteObject.java:442)
        at weblogic.ejb.container.internal.StatelessRemoteObject.postInvoke1(StatelessRemoteObject.java:20)
        at weblogic.ejb.container.internal.BaseRemoteObject.__WL_postInvokeTxRetry(BaseRemoteObject.java:307)
        at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invokeInternal(SessionRemoteMethodInvoker.java:67)
        at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(SessionRemoteMethodInvoker.java:21)


Caused by: oracle.jdbc.xa.OracleXAException: XAErr (100): The inclusive lower bound oof the rollback codes. ORA-2091 SQLErr (0)
        at oracle.jdbc.xa.OracleXAResource.checkError(OracleXAResource.java:1112)
        at oracle.jdbc.xa.client.OracleXAResource.commit(OracleXAResource.java:629)
        at weblogic.jdbc.jta.DataSource.commit(DataSource.java:1156)
        at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:1572)
        at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:625)
        at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.java:644)
        at weblogic.transaction.internal.ServerTransactionImpl.localCommit(ServerTransactionImpl.java:2402)
        at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit(ServerTransactionImpl.java:3386)
        at weblogic.transaction.internal.ServerTransactionImpl.globalCommit(ServerTransactionImpl.java:3291)
        at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:314)

Caused by: java.sql.SQLTransactionRollbackException: ORA-02091: transaction rolled back
ORA-02292: integrity constraint (EDOC2.FK_REQ_NEW_BE) violated - child record found

        at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:494)
        at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:441)
        at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:436)
        at oracle.jdbc.driver.T4CTTIfun.processError(T4CTTIfun.java:1061)
        at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:623)
        at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:252)
        at oracle.jdbc.driver.T4CTTIOtxen.doOTXEN(T4CTTIOtxen.java:169)
        at oracle.jdbc.driver.T4CXAResource.doTransaction(T4CXAResource.java:818)
        at oracle.jdbc.driver.T4CXAResource.doCommit(T4CXAResource.java:455)
        at oracle.jdbc.xa.client.OracleXAResource.commit(OracleXAResource.java:624)

Ожидаемый результат должен состоять в том, что он должен работать как в локальной, так и в тестовой среде. Пожалуйста, дайте мне знать, что я пропускаю.

...