0

我正在尝试使用 Oracle 12.1.0.2.0 数据库安装 Sonarqube 5.3。

创建 Oracle 用户时授予所有权限(全部授予)和“撤销选择任何”选项。声纳以“./sonar.sh start”启动,但初始模式创建在表创建后失败插入表“组”:

2016.01.15 09:42:25 ERROR web[jruby.rack] initialization failed
org.jruby.rack.RackInitializationException: An error has occurred, all later migrations canceled:

ActiveRecord::JDBCError: ORA-00904: "VERSION": invalid identifier
: INSERT INTO groups (name, description, created_at, updated_at, displayname, created, lastmodified, version, id) VALUES('sonar-administrators', 'System administrators', TO_TIMESTAMP('2016-01-15 09:42:25:478000','YYYY-MM-DD HH24:MI:SS:FF6
'), TO_TIMESTAMP('2016-01-15 09:42:25:478000','YYYY-MM-DD HH24:MI:SS:FF6'), NULL, NULL, NULL, 0, ?)

将表结构与语句进行比较,我注意到并非所有列都已创建:缺少列 DISPLAYNAME、CREATED、LASTMODIFIED、VERSION!

  1. 为什么不创建这些?
  2. 如果我手动创建它们,声纳之后将无法启动。有没有办法重新初始化初始数据?

使用声纳嵌入式数据库工作正常。

有任何想法吗?

4

1 回答 1

0

问题解决了!

似乎数据库配置和权限与我们数据库上的公共同义词相结合导致了这个问题。该问题已通过执行以下步骤解决:

  • 清除部分生成的模式,包括所有包含的对象
  • 在新/干净的 Oracle XE 11 数据库上安装 Sonarqube 5.3 并创建基本配置
  • 停止 Sonarqube 并导出数据库模式
  • 在 Oracle 12 数据库上导入数据库模式

启动 Sonarqube 后,我意识到 Oracle JDBC 驱动程序 12.1.0.1 在启动时产生 NullPointerException 的问题。基本上这是驱动程序本身的一个错误,Oracle 已经修复了 -> 使用 ojdbc-driver 12.1.0.2 来修复这个问题!

希望这可以帮助其他有类似问题的人。

于 2016-01-26T07:27:16.370 回答