java.sql.SQLException: ORA-01017: invalid username/password; logon denied SQL Error: ORA-65096: invalid common user or role name

Applies to: All versions of Ephesoft Transact 

Issue

Transact won’t start, and the following error appears in the catalina.out logs:

“Caused by: java.sql.SQLException: ORA-01017: invalid username/password; login denied

Root Cause 

On further investigation, it was found that the database user was not created due to the error log:

“ORA-65096: invalid common user or role name”

Detailed Error report:

“SQL Error: ORA-65096: invalid common user or role name

65096.00000 –  “invalid common user or role name”

*Cause: An attempt was made to create a common user or role with a name

        that was not valid for common users or roles.  In addition to

        the usual rules for user and role names, common user and role

        names must start with C## or c## and consist only of ASCII

        characters.

*Action: Specify a valid common user or role name.”

As the configured database version is Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 64bit Production (Linux), a new parameter is added as COMMON_USER prefix. Refer to the following Oracle article for more information.

By default, this parameter value is set as C##. And the configured user is EPHESOFT_4130UAT1. Due to the missing prefix of C##, the database did not allow users to be created.

Solution

As a workaround, update the database parameter COMMON_USER prefix.

If the COMMON_USER prefix is set to an empty string, Oracle will not enforce any restrictions on the names of common or local users, roles, and profiles.

You can find detailed steps to change the COMMON_USER prefix in the following DBASolved article.