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 ....
运行 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 ....