Question
Bank of America
IN
Last activity: 6 Apr 2018 19:26 EDT
'SPPR_PURGE_TABLE' procedure is throwing error after upgrade
Hi ,
After upgrade to 7.2.2 , at the time of application start , it is generating below exception in logs. We have verified that we have execute privileges and also we have executed it manually with base user.
User ID: System
Last SQL: {call sppr_purge_table(?,?,?)}
java.sql.SQLException: ORA-06550: line 1, column 7:
PLS-00201: identifier 'SPPR_PURGE_TABLE' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
Quick response will help us a lot.
Thanks,
Vijay
-
Like (0)
-
Share this page Facebook Twitter LinkedIn Email Copying... Copied!
Pegasystems Inc.
IN
Please upload your log file.
Bank of America
IN
2017-05-25 07:41:19,996 [rp.bankofamerica.com] [ ] [ ] [ ] ( etier.impl.EngineImpl) ERROR - invokeEn
gine: ThreadContainer not null on exit -- clearing.
2017-05-25 07:41:26,152 [fault (self-tuning)'] [ STANDARD] [ ] [ ] ( internal.async.AgentQueue) INFO - Startup
agents scheduled are 1
2017-05-25 07:41:26,155 [fault (self-tuning)'] [ STANDARD] [ ] [ ] ( internal.async.AgentQueue) INFO - Startup
agents scheduled are 2
2017-05-25 07:41:26,345 [rp.bankofamerica.com] [ STANDARD] [ ] [ PegaRULES:07.10] (.Data_Decision_Features.Action) INFO - DSM feat
ure toggle initialization complete
2017-05-25 07:41:26,353 [rp.bankofamerica.com] [ STANDARD] [ ] [ PegaRULES:07.10] ( internal.async.AgentQueue) INFO - Startup
agents still running are 1
2017-05-25 07:41:27,230 [rp.bankofamerica.com] [ STANDARD] [ ] [ PegaRULES:07.10] ( internal.async.Agent) INFO - All star
tup agent finished, set node's run state to running!!!
2017-05-25 07:41:27,230 [rp.bankofamerica.com] [ STANDARD] [ ] [ PegaRULES:07.10] ( internal.async.AgentQueue) INFO - Startup
agents still running are 0
2017-05-25 07:41:19,996 [rp.bankofamerica.com] [ ] [ ] [ ] ( etier.impl.EngineImpl) ERROR - invokeEn
gine: ThreadContainer not null on exit -- clearing.
2017-05-25 07:41:26,152 [fault (self-tuning)'] [ STANDARD] [ ] [ ] ( internal.async.AgentQueue) INFO - Startup
agents scheduled are 1
2017-05-25 07:41:26,155 [fault (self-tuning)'] [ STANDARD] [ ] [ ] ( internal.async.AgentQueue) INFO - Startup
agents scheduled are 2
2017-05-25 07:41:26,345 [rp.bankofamerica.com] [ STANDARD] [ ] [ PegaRULES:07.10] (.Data_Decision_Features.Action) INFO - DSM feat
ure toggle initialization complete
2017-05-25 07:41:26,353 [rp.bankofamerica.com] [ STANDARD] [ ] [ PegaRULES:07.10] ( internal.async.AgentQueue) INFO - Startup
agents still running are 1
2017-05-25 07:41:27,230 [rp.bankofamerica.com] [ STANDARD] [ ] [ PegaRULES:07.10] ( internal.async.Agent) INFO - All star
tup agent finished, set node's run state to running!!!
2017-05-25 07:41:27,230 [rp.bankofamerica.com] [ STANDARD] [ ] [ PegaRULES:07.10] ( internal.async.AgentQueue) INFO - Startup
agents still running are 0
2017-05-25 07:41:48,583 [fault (self-tuning)'] [ STANDARD] [ ] [ abcd:01.01.01] (l.access.ConnectionManagerImpl) ERROR - Not retu
rning connection 2 for database "pegadata" to the pool as it previously encountered the following error
User ID: System
Last SQL: {call sppr_purge_table(?,?,?)}
java.sql.SQLException: ORA-06550: line 1, column 7:
PLS-00201: identifier 'SPPR_PURGE_TABLE' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:445)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:879)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:450)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:207)
at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1044)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1329)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3594)
at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3695)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1378)
at weblogic.jdbc.wrapper.PreparedStatement.execute(PreparedStatement.java:101)
at com.pega.pegarules.data.internal.store.DatabasePreparedStatementImpl.execute(DatabasePreparedStatementImpl.java:560)
at com.pega.pegarules.data.internal.access.ListSpec.list(ListSpec.java:402)
at com.pega.pegarules.data.internal.access.DBQueryExecutor.executeRDB(DBQueryExecutor.java:114)
at com.pega.pegarules.data.internal.access.DBQueryExecutor.executeRDB(DBQueryExecutor.java:66)
at com.pega.pegarules.data.internal.access.Deleter.deleteRDB(Deleter.java:778)
at com.pega.pegarules.data.internal.access.DatabaseImpl.deleteRDB(DatabaseImpl.java:2787)
at com.pegarules.generated.activity.ra_action_purgetablesvcidlog_179acfe14e64a6303b0879ba48386860.step5_circum0(ra_action_purgetablesvcidlog_179acfe1
4e64a6303b0879ba48386860.java:480)
at com.pegarules.generated.activity.ra_action_purgetablesvcidlog_179acfe14e64a6303b0879ba48386860.perform(ra_action_purgetablesvcidlog_179acfe14e64a6
303b0879ba48386860.java:148)
at com.pega.pegarules.session.internal.mgmt.Executable.doActivity(Executable.java:3553)
at com.pega.pegarules.session.internal.async.agent.QueueProcessor.runActivity(QueueProcessor.java:749)
at com.pega.pegarules.session.internal.async.agent.QueueProcessor.execute(QueueProcessor.java:618)
at com.pega.pegarules.session.internal.async.BatchRequestorTask.run(BatchRequestorTask.java:1000)
at com.pega.pegarules.session.internal.PRSessionProviderImpl.performTargetActionWithLock(PRSessionProviderImpl.java:1286)
at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:1034)
at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:916)
at com.pega.pegarules.session.internal.async.BatchRequestorTask.run(BatchRequestorTask.java:707)
at com.pega.pegarules.session.internal.async.Agent.queueBatchActivityForAgent(Agent.java:1532)
at com.pega.pegarules.session.internal.async.Agent.queueBatchActivityForAgent(Agent.java:1303)
at com.pega.pegarules.session.internal.async.AgentQueue.run(AgentQueue.java:917)
at com.pega.pegarules.session.internal.async.Agent.runAgentTask(Agent.java:947)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.AsyncServant.processAsyncTask(AsyncServant.java:222)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.AsyncServant.invoke(AsyncServant.java:168)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl._invokeEngine_privact(EngineImpl.java:331)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl.invokeEngine(EngineImpl.java:274)
at com.pega.pegarules.session.internal.engineinterface.etier.ejb.EngineBean.invokeEngine(EngineBean.java:225)
at sun.reflect.GeneratedMethodAccessor155.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethod(PRBootstrap.java:370)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingThrowable(PRBootstrap.java:411)
at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethodPropagatingThrowable(AppServerBridgeToPega.java:224)
at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethodPropagatingException(AppServerBridgeToPega.java:246)
at com.pega.pegarules.internal.etier.ejb.EngineBeanBoot.invokeEngine(EngineBeanBoot.java:168)
at com.pega.pegarules.internal.etier.ejb.EngineBMT_h449u3_ELOImpl.__WL_invoke(Unknown Source)
at weblogic.ejb.container.internal.SessionLocalMethodInvoker.invoke(SessionLocalMethodInvoker.java:33)
at com.pega.pegarules.internal.etier.ejb.EngineBMT_h449u3_ELOImpl.invokeEngine(Unknown Source)
at com.pega.pegarules.session.internal.engineinterface.etier.mdb.PRAsync.processRequest(PRAsync.java:155)
at com.pega.pegarules.session.internal.engineinterface.etier.mdb.PRAsync.onMessage(PRAsync.java:112)
at sun.reflect.GeneratedMethodAccessor154.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethod(PRBootstrap.java:370)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingThrowable(PRBootstrap.java:411)
at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethodPropagatingThrowable(AppServerBridgeToPega.java:224)
at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethod(AppServerBridgeToPega.java:273)
at com.pega.pegarules.internal.etier.mdb.PRAsyncBoot.onMessage(PRAsyncBoot.java:91)
at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:575)
at weblogic.ejb.container.internal.MDListener.run(MDListener.java:874)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:550)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:295)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:254)
2017-05-25 07:41:48,588 [fault (self-tuning)'] [ STANDARD] [ ] [ abcd:01.01.01] (_abc_Data_UserLoginInfo.Action) ERROR - Error in
RDB-Delete
com.pega.pegarules.pub.database.DatabaseException: There was a problem getting a list: code: 6550 SQLState: 65000 Message: ORA-06550: line 1, column 7:
PLS-00201: identifier 'SPPR_PURGE_TABLE' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
DatabaseException caused by prior exception: java.sql.SQLException: ORA-06550: line 1, column 7:
PLS-00201: identifier 'SPPR_PURGE_TABLE' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
| SQL Code: 6550 | SQL State: 65000
From: (B4974BDEF7ADA4F22A2E32324A9861CD7)
SQL: {call sppr_purge_table(?,?,?)}
Caused by SQL Problems.
Problem #1, SQLState 65000, Error code 6550: java.sql.SQLException: ORA-06550: line 1, column 7:
PLS-00201: identifier 'SPPR_PURGE_TABLE' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
at com.pega.pegarules.data.internal.access.ExceptionInformation.createExceptionDueToDBFailure(ExceptionInformation.java:262)
at com.pega.pegarules.data.internal.access.ListSpec.list(ListSpec.java:491)
at com.pega.pegarules.data.internal.access.DBQueryExecutor.executeRDB(DBQueryExecutor.java:114)
at com.pega.pegarules.data.internal.access.DBQueryExecutor.executeRDB(DBQueryExecutor.java:66)
at com.pega.pegarules.data.internal.access.Deleter.deleteRDB(Deleter.java:778)
at com.pega.pegarules.data.internal.access.DatabaseImpl.deleteRDB(DatabaseImpl.java:2787)
at com.pegarules.generated.activity.ra_action_purgetablesvcidlog_179acfe14e64a6303b0879ba48386860.step5_circum0(ra_action_purgetablesvcidlog_179acfe1
4e64a6303b0879ba48386860.java:480)
at com.pegarules.generated.activity.ra_action_purgetablesvcidlog_179acfe14e64a6303b0879ba48386860.perform(ra_action_purgetablesvcidlog_179acfe14e64a6
303b0879ba48386860.java:148)
at com.pega.pegarules.session.internal.mgmt.Executable.doActivity(Executable.java:3553)
at com.pega.pegarules.session.internal.async.agent.QueueProcessor.runActivity(QueueProcessor.java:749)
at com.pega.pegarules.session.internal.async.agent.QueueProcessor.execute(QueueProcessor.java:618)
at com.pega.pegarules.session.internal.async.BatchRequestorTask.run(BatchRequestorTask.java:1000)
at com.pega.pegarules.session.internal.PRSessionProviderImpl.performTargetActionWithLock(PRSessionProviderImpl.java:1286)
at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:1034)
at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:916)
at com.pega.pegarules.session.internal.async.BatchRequestorTask.run(BatchRequestorTask.java:707)
at com.pega.pegarules.session.internal.async.Agent.queueBatchActivityForAgent(Agent.java:1532)
at com.pega.pegarules.session.internal.async.Agent.queueBatchActivityForAgent(Agent.java:1303)
at com.pega.pegarules.session.internal.async.AgentQueue.run(AgentQueue.java:917)
at com.pega.pegarules.session.internal.async.Agent.runAgentTask(Agent.java:947)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.AsyncServant.processAsyncTask(AsyncServant.java:222)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.AsyncServant.invoke(AsyncServant.java:168)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl._invokeEngine_privact(EngineImpl.java:331)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl.invokeEngine(EngineImpl.java:274)
at com.pega.pegarules.session.internal.engineinterface.etier.ejb.EngineBean.invokeEngine(EngineBean.java:225)
at sun.reflect.GeneratedMethodAccessor155.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethod(PRBootstrap.java:370)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingThrowable(PRBootstrap.java:411)
at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethodPropagatingThrowable(AppServerBridgeToPega.java:224)
at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethodPropagatingException(AppServerBridgeToPega.java:246)
at com.pega.pegarules.internal.etier.ejb.EngineBeanBoot.invokeEngine(EngineBeanBoot.java:168)
at com.pega.pegarules.internal.etier.ejb.EngineBMT_h449u3_ELOImpl.__WL_invoke(Unknown Source)
at weblogic.ejb.container.internal.SessionLocalMethodInvoker.invoke(SessionLocalMethodInvoker.java:33)
at com.pega.pegarules.internal.etier.ejb.EngineBMT_h449u3_ELOImpl.invokeEngine(Unknown Source)
at com.pega.pegarules.session.internal.engineinterface.etier.mdb.PRAsync.processRequest(PRAsync.java:155)
at com.pega.pegarules.session.internal.engineinterface.etier.mdb.PRAsync.onMessage(PRAsync.java:112)
at sun.reflect.GeneratedMethodAccessor154.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethod(PRBootstrap.java:370)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingThrowable(PRBootstrap.java:411)
at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethodPropagatingThrowable(AppServerBridgeToPega.java:224)
at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethod(AppServerBridgeToPega.java:273)
at com.pega.pegarules.internal.etier.mdb.PRAsyncBoot.onMessage(PRAsyncBoot.java:91)
at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:575)
at weblogic.ejb.container.internal.MDListener.run(MDListener.java:874)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:550)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:295)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:254)
Caused by: java.sql.SQLException: ORA-06550: line 1, column 7:
PLS-00201: identifier 'SPPR_PURGE_TABLE' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:445)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:879)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:450)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:207)
at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1044)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1329)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3594)
at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3695)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1378)
at weblogic.jdbc.wrapper.PreparedStatement.execute(PreparedStatement.java:101)
at com.pega.pegarules.data.internal.store.DatabasePreparedStatementImpl.execute(DatabasePreparedStatementImpl.java:560)
at com.pega.pegarules.data.internal.access.ListSpec.list(ListSpec.java:402)
... 49 more
Bank of America
IN
After Upgrade, SPPR_PURGE_TABLE procedure exists in both DATA and RULES schema.
Pegasystems Inc.
IN
yes it will be there. You need to run Optimize schema wizard to delete the unused tables from both the schemas using
DesgnerStudio->Database>Optimize schema.
This step will take care of deleting the associate procedures also.
Bank of America
IN
We have manually deleted the unused tables and rechecked from application after deletion, still we are facing the same issue.
Pegasystems Inc.
IN
Could you please make sure that base user have an access to run the SPPR_PURGE_TABLE procedure on pegadata schema.
Bank of America
IN
Hi Dhevendra,
We have tried manually executing that procedure using base user in data schema and ale to execute successfully. Could you please tell us what all privileges are needed to base user on dataschema?
Pegasystems Inc.
IN
Generally base user will be configured as data schema user. refere to "General user permissions and purposes" section in upgrade guide
https://docs-previous.pega.com/pega-722-platform-upgrade-guide
Bank of America
IN
Hi Dhevendra,
We have all below privileges assigned to base user what we are using in PegaRULES datasource. Please let us know if anything else is needed.
UNLIMITED TABLESPACE
l CREATE SESSION
l CREATE TABLE
l CREATE PROCEDURE
l CREATE VIEW
l CREATE TYPE
l CREATE TRIGGER
Hi Dhevendra,
We have all below privileges assigned to base user what we are using in PegaRULES datasource. Please let us know if anything else is needed.
UNLIMITED TABLESPACE
l CREATE SESSION
l CREATE TABLE
l CREATE PROCEDURE
l CREATE VIEW
l CREATE TYPE
l CREATE TRIGGER
Want to check one more thing on this, why the call to SPPR_PURGE_TABLE procedure going with out schema name in front of object name.
Last SQL: {call sppr_purge_table(?,?,?)}
Unless the object is identified with schema name, how it can differentiate between the object users?
accenture
IN
Hi Dhevendra
We have full end ADMIN, but still getting error as
Last SQL: {call gin.sppr_purge_table(?,?,?)}
java.sql.SQLException: ORA-06550: line 1, column 7:
PLS-00201: identifier 'SPPR_PURGE_TABLE' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignoredPLS-00201: identifier 'SPPR_PURGE_TABLE' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
Assuming that the problem is with call sppr_purge_table(?,?,?) because it is not using schema name inform of object name. Hope the call should go as call dataschemaname.sppr_purge_table(?,?,?)
Please clarify....