SV 10.6 Enterprise Dashboard service will not start

book

Article ID: 209174

calendar_today

Updated On:

Products

Service Virtualization

Issue/Introduction

We are using DevTest 10.6 fresh install, and Oracle 19c database.

After having the DBA create the Enterprise Dashboard using the provided DDL scripts manually, we are seeing the following error when attempting to start the Enterprise Dashboard Service using the AppUser account.

Caused by: org.flywaydb.core.api.FlywayException: Found non-empty schema "XXXXXX" without metadata table! Use baseline() or set baselineOnMigrate to true to initialize the metadata table.

 

2021-02-18 17:40:13,680Z (12:40) [main] ERROR dradis.Application             - Exception: Error creating bean with name 'dradisInitBean': Invocation of init method failed; nested exception is org.flywaydb.core.api.FlywayException: Found non-empty schema "XXXXXX" without metadata table! Use baseline() or set baselineOnMigrate to true to initialize the metadata table.

 

Also we were told there are two approaches for setting up the Oracle database:

  1. Provide schema owner privileges to the 3 db accounts, have DevTest create the required tables, etc, on startup. Then later downgrade the permissions.

  2. Have our DBA execute DDL scripts to create the all required tables/views, etc, with 3 schema owner accounts. Create synonym’s. Then use a different app account (has only DML permissions to all objects in the 3 schema’s) in the devtest db connection.

We went with the second approach. We are quite sure our DBA’s granted all DML permissions. In our case, DBA’s created 3 schema owner account (that has DDL permissions)

  • ID_EM
  • ID_ACCESSMANAGER
  • ID_REGISTRY

One appuser account (that doesn’t have any DDL permissions) and the same appuser account is used for all services Enterprise Dashboard, Access Manager, and Registry.

One issue we have identified is that the component table was present in 2 schemas, so only one synonym was created, which could be a problem. We were told earlier that all table names are unique between those 3 schemas so having synonyms won't cause an issue.

 After updating the license, we were trying to restart the Enterprise Dashboard service, and it's throwing the error mentioned above.

 

Cause

During a troubleshooting session with the DBA, the DBA noticed the "schema_version" table is created with an all lower-case name. He was expecting this to be in all upper-case as the other tables.

Environment

Release : 10.6

Component : CA Service Virtualization

Resolution

To resolve the issue the DBA dropped the "schema_version" table and reran the script, which created the "schema_version" table with an all lower-case name. Now the Enterprise Dashboard service is able to start. However, the customer is unable to start the Registry service, due to the shared table name mentioned before. They have requested a second  AppUser account to use for starting the Registry.

 

Additional Information

The reason the "schema_version" table has an all lower-case name is due to a restriction placed by the Flyway Database.

"This really is "private API", internal to Flyway. This table is an internal implementation detail of Flyway DB, and it should be maintained with quotes (i.e, "schema_version") as it is case-sensitive."

For more information see https://github.com/flyway/flyway/issues/785