SonarQube 6.7.1 无法启动,Oracle NLS_CHARACTERSET 设置为 WE8ISO8859P1

SonarQube 6.7.1 fails to start with Oracle NLS_CHARACTERSET set to WE8ISO8859P1

我们正在从 SonarQube (SQ) 4.5.4 迁移到最新的 6.7 LTS。到目前为止,我们尝试了 6.7 的升级,一切似乎都运行良好,现在我们尝试了 6.7.1,网络启动失败并显示消息

ERROR web[][o.s.s.p.Platform] Web server startup failed: Oracle NLS_CHARACTERSET does not support UTF8: WE8ISO8859P1

从日志中可以清楚地看出我们使用的是 WE8ISO8859P1 并且 SQ 需要 UTF-8。在我们的基础架构中,SQ 作为单一模式中的租户之一存在,我们不可能迁移到 UTF-8;相比之下,UTF-8 也会占用大量存储空间。

现在我的问题是,

感谢 Jeroen Heier 的回答,但在进一步挖掘后我发现你的回答只对了一半。我想详细说明我为什么会遇到这种情况以及我是如何克服它的。

SonarQube 5.6 requires UTF-8 as characterset not just SQ 6+

为什么 SQ 6.7 可以使用 WE8ISO8859P1 字符集而 SQ 6.7.1 坚持使用 UTF-8

SonarQube does not check for characterset in existing instance, it is only worried about new installations until Sonar Qube version 6.7.

我们现在可以做什么?

如果您比SonarQube 要求更坚决,请先安装SonarQube 4.5.4,然后指向相同的数据库并升级。直到现在你只能使用到 6.7

未来的版本如何? 根据此评论,不应强制现有安装移动到 UTF-8。正如他们自己承认的那样,从 non-utf 迁移到 UTF-8 很痛苦。

SonarSource是不是要逼我们迁移了? 让我们希望他们不会。

参考:https://jira.sonarsource.com/browse/SONAR-6171

我在 Google 组中创建了一个 post:https://groups.google.com/d/msg/sonarqube/jYRzfL5IaBk/8dnPIEnOBAAJ