Support Article
prpcUtils doesn't work if database user is not schema owner
SA-4793
Summary
Pega deployment utility (prpcUtils script) is used to deploy a product file (zip/jar). If the database (DB) user configured to run the import using prpcUtils is not the "schema owner" of PegaRULES DB then the deployment fails.
Error Messages
From: (A92CEFC5414FA188924C020C96521FFE4)
[java] SQL: ALTER TABLE CUSTOMER_TABLE ADD CONSTRAINT CUSTOMER_TABLE_PK PRIMARY KEY (pzInsKey)
[java]
[java] Caused by SQL Problems.
[java] Problem #1, SQLState 42000, Error code 942: java.sql.SQLException: ORA-00942: table or view does not exist
Steps to Reproduce
1. Create a Rule-Admin-Product instance in application (e.g. DEV).
2. Include a new Data-Admin-DB-Table instance in Rule-Admin-Product instance. Make sure the table (mentioned in Data-Admin-DB-Table) exist in target env also in Pega RULES schema.
3. Save the Rule.
4. Created Product file by clicking on button below in form.
5. Run deployment process using (SH or BAT file) via command line utility. Config would require target env (e.g. SIT) database ID/pass. Provide user ID which has all the access to PegaRULES schema but it is not schema owner. Complete additional necessary set-up.
6. Run deployment utility.
7. Deployment fails
Root Cause
The root cause of this problem is defect/misconfiguration in the PRPC operating environment. When running the utility, as well as running the PRPC web application, the database queries are not schema qualified in 6.x. The database user needs to have the appropriate read/write/execute privileges on everything within the PegaRules schema but also needs to be able to access them without schema qualifying the database object names.
Resolution
This article was written to run a BIX extract from the command line as a non-schema user but the same instructions will work for running prpcUtils.
https://pdn.pega.com/business-intelligence-exchange-bix/troubleshooting-bix-extract-error-unable-to-load-classes-ora-00942-table-or-view-does-not-exi
For either of the two options described in the article you need to create a base user with CONNECT role and DELETE, SELECT, UPDATE and INSERT object privileges on all tables and views and EXECUTE object privilege for functions and procedures of the schema owner.
Published January 31, 2016 - Updated October 8, 2020
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.