Spring-由于 StandardLockService 中 Oracle 上的 Liquibase 问题,引导应用程序无法启动

Spring-Boot application is failing to start due to Liquibase issue on Oracle in StandardLockService

运行 spring-boot 2.1.3.RELEASE 并在 Oracle 12.1.0.2.v15 上使用 liquibase 3.6.3,启动时出现异常:

Did not update change log lock correctly.\n\n 0 rows were updated instead of the expected 1 row using executor oracle there are 0 rows in the table

这个:

正在调查,我怀疑这可能与我的用户缺少某些权限有关,因为它在使用 AWS RDS 12.1.0.2.v15 创建的数据库上运行良好,但在本地数据库上运行不正常。

唯一明显的区别是本地用户无权访问 v$parameter,因此我得到:

Could not set check compatibility mode on OracleDatabase, assuming not running in any sort of compatibility mode: Cannot read from v$parameter: ..

有人有想法吗?

是否与自动提交默认值有关?

Oracle 用户在使用 liquibase 时有任何 link 要求吗?

所以问题最终是 DBA 的 Oracle 用户配置错误,他没有表空间的权限。

但是这个问题并没有出现在日志中。

一旦我删除了 liquibase 上下文:

spring.liquibase.contexts

问题很明显:

ORA-01950 : no privileges on tablespace ....