Support Article
password not picked up after Database password encryption
SA-8743
Summary
The requirement is to run BIX using command-line with encrypted database password. The keyring file is generated, but when running the BIX script it fails with the following error:
Caused by SQL Problems.
Problem #1, SQLState 72000, Error code 1005: java.sql.SQLException: ORA-01005: null password given; logon denied
Error Messages
2015-04-13 12:45:39,685 [ main] [ ] [ ] [ ] ( etier.impl.EngineStartup) ERROR - PegaRULES initialization failed. Server: unknown
java.lang.ExceptionInInitializerError
at com.pega.pegarules.exec.internal.PRExecProviderImpl.getSystemSettings(PRExecProviderImpl.java:470)
at com.pega.pegarules.data.external.clipboard.SyncDeclarativePageInstanceContainer.<init>(SyncDeclarativePageInstanceContainer.java:72)
at com.pega.pegarules.data.internal.PRDataProviderImpl.getSyncDeclarativePageInstanceContainer(PRDataProviderImpl.java:946)
at com.pega.pegarules.session.internal.mgmt.base.AbstractDataPageHandler.<init>(AbstractDataPageHandler.java:37)
at com.pega.pegarules.session.internal.mgmt.base.handler.ReadOnlyDataPageHandler.<init>(ReadOnlyDataPageHandler.java:44)
at com.pega.pegarules.session.internal.mgmt.base.handler.ReadOnlyDataPageHandlerForNode.<init>(ReadOnlyDataPageHandlerForNode.java:34)
at com.pega.pegarules.session.internal.mgmt.PRNodeImpl.configure(PRNodeImpl.java:200)
at com.pega.pegarules.session.internal.mgmt.PRNodeImpl.<init>(PRNodeImpl.java:223)
at com.pega.pegarules.session.internal.mgmt.PRNodeImpl.<clinit>(PRNodeImpl.java:188)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineStartup.initEngine(EngineStartup.java:603)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl._initEngine_privact(EngineImpl.java:165)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl.doStartup(EngineImpl.java:138)
at com.pega.pegarules.session.internal.mgmt.EngineImpl.startEngineImpl(EngineImpl.java:240)
at com.pega.pegarules.session.internal.mgmt.EngineImpl.startEngine(EngineImpl.java:119)
at com.pega.pegarules.session.internal.mgmt.EngineImpl.startEngine(EngineImpl.java:112)
at com.pega.pegarules.data.internal.access.ExtractImpl.main(ExtractImpl.java:951)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethod(PRBootstrap.java:338)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingThrowable(PRBootstrap.java:379)
at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethodPropagatingThrowable(AppServerBridgeToPega.java:216)
at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethod(AppServerBridgeToPega.java:265)
at com.pega.pegarules.pub.PegaRULES.main(PegaRULES.java:85)
Caused by: com.pega.pegarules.pub.PRRuntimeException: Error determining the mode of PRPC install from database.
at com.pega.pegarules.data.internal.PRDataProviderImpl.isMultiTenantEnvironment(PRDataProviderImpl.java:1109)
at com.pega.pegarules.exec.internal.basic.SystemSettingsImpl.<clinit>(SystemSettingsImpl.java:118)
... 25 more
Caused by: com.pega.pegarules.pub.database.DatabaseException: Database-General Problem encountered when getting connection for database pegarules 1017 72000 ORA-01017: invalid username/password; logon denied
From: (unknown)
Caused by SQL Problems.
Problem #1, SQLState 72000, Error code 1017: java.sql.SQLException: ORA-01017: invalid username/password; logon denied
at com.pega.pegarules.data.internal.access.ExceptionInformation.createExceptionDueToDBFailure(ExceptionInformation.java:257)
at com.pega.pegarules.data.internal.access.ConnectionManagerImpl.getConnectionFromDatabaseName(ConnectionManagerImpl.java:856)
at com.pega.pegarules.data.internal.access.ConnectionManagerImpl.getConnection(ConnectionManagerImpl.java:1187)
at com.pega.pegarules.data.internal.access.ConnectionManagerImpl.getConnection(ConnectionManagerImpl.java:1129)
at com.pega.pegarules.data.internal.access.ConnectionManagerImpl.getConnection(ConnectionManagerImpl.java:343)
at com.pega.pegarules.data.internal.PRDataProviderImpl.isMultiTenantEnvironment(PRDataProviderImpl.java:1099)
... 26 more
Caused by: java.sql.SQLException: ORA-01017: invalid username/password; logon denied
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:450)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:392)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:385)
Steps to Reproduce
1) Generate a keyring file.
2) Remove the username and password elements in prconfig.xml.
3) Invoke the BIX Extract script.
Root Cause
The issue occurs because the username element is removed from the prconfig.xml and the -Dpegarules.keyring parameter option is included in the BIX extract script to specify the path of the pegarules.keyring file.
Resolution
When using pegarules.keyring file, the username element must be included in prconfig.xml. Only the password element can be removed. In addition, the BIX script must include -Dpegarules.keyring parameter option.
Published January 31, 2016 - Updated December 2, 2021
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.