Troubleshooting
Problem
The "PLS-00201: identifier 'DBMS_LOCK' must be declared" error is seen in the SystemOut.log file with a newly created IBM Business Process Manager Version 7.5 profile or with a profile that is migrated from a previous version.
Symptom
The following exception is observed in the SystemOut.log file:
[7/26/11 13:52:09:695 CDT] 0000001c wle E CWLLG2229E: An exception occurred in an EJB call. Error: ConnectionCallback; bad SQL grammar []; nested exception is java.sql.SQLException: ORA-06550: line 1, column 13:
PLS-00201: identifier 'DBMS_LOCK' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
org.springframework.jdbc.BadSqlGrammarException: ConnectionCallback; bad SQL grammar []; nested exception is java.sql.SQLException: ORA-06550: line 1, column 13:
PLS-00201: identifier 'DBMS_LOCK' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.translate(SQLStateSQLExceptionTranslator.java:111)
at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.translate(SQLErrorCodeSQLExceptionTranslator.java:322)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:349)
at com.lombardisoftware.server.tracking.loader.LockHolder.runLockQuery(LockHolder.java:170)
at com.lombardisoftware.server.tracking.loader.LockHolder.runLockQuery(LockHolder.java:166)
at com.lombardisoftware.server.tracking.loader.LockHolder.lockSystemTable(LockHolder.java:70)
at com.lombardisoftware.server.tracking.transfer.DataTransferCore.transferData(DataTransferCore.java:82)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at com.lombardisoftware.utility.spring.TransactionInterceptor$1.call(TransactionInterceptor.java:52)
at com.lombardisoftware.utility.spring.ProgrammaticTransactionSupport$1.doInTransaction(ProgrammaticTransactionSupport.java:317)
at org.springframework.transaction.jta.WebSphereUowTransactionManager$UOWActionAdapter.run(WebSphereUowTransactionManager.java:306)
at com.ibm.ws.uow.UOWManagerImpl.runUnderNewUOW(UOWManagerImpl.java:1067)
at com.ibm.ws.uow.UOWManagerImpl.runUnderUOW(UOWManagerImpl.java:628)
Cause
The Oracle schema or user does not have access to the DBMS_LOCK package.
Environment
The issue is seen when you have a newly created or a migrated IBM Business Process Manager V7.5 profile with Oracle as the back-end database
Resolving The Problem
Grant Execute permission to the Oracle user or schema that is used for the performance database. Complete the following steps:
- Stop the application server.
- On the Oracle server, use the 'SQL Plus Worksheet' Oracle tool.
- Log into the database using administrative credentials.
- Run the following script:
- GRANT execute ON DBMS_LOCK TO <schema_name>;
where <schema_name> is the userID that is used for the performance database.
5. Restart the server
Related Information
Product Synonym
BPM
Was this topic helpful?
Document Information
Modified date:
15 June 2018
UID
swg21507277