Confluence 6 SQL 异常的问题解决

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Confluence 6 SQL 异常的问题解决相关的知识,希望对你有一定的参考价值。

如果你得到了与下面显示内容类似的信息话,那么你最好考虑修改 Confluence 的日志级别输出更多的信息。如果你考虑通过 Atlassian support 获得帮助,那么这些详细的错误信息能够更好的帮助我们找到问题的原因。

增加日志的级别将会让我们能够对下面的问题进行诊断:

org.springframework.dao.DataIntegrityViolationException: (HibernateTemplate): data integrity violated by SQL ''; nested exception is java.sql.BatchUpdateException: Duplicate entry '1234' for key 1
caused by: java.sql.BatchUpdateException: Duplicate entry '1234' for key 1

或者

(HibernateTemplate): data integrity violated by SQL ''; nested exception is java.sql.BatchUpdateException: ORA-00001: unique constraint (CONFLUENCE.SYS_C0012345) violated

这个文档对如果在你的系统中增加日志级别,并让日志输出更多详细信息进行了说明。

Changing the logging levels via the Administration Console

从 Confluence 2.7 开始,你可以在你的 Confluence 管理员控制台中调整日志的级别——请阅读 Working with Confluence Logs 页面中的相关内容。下面我们将会告诉你如何直接编辑 log4j 文件。

  1. 打开 confluence/WEB-INF/classes/log4j.properties 然后取消注释下面的行。 ## 行是注释,请保持这行的完整。

    ## log hibernate prepared statements/SQL queries (equivalent to setting 'hibernate.show_sql' to 'true')
     
    ## log hibernate prepared statement parameter values

    技术分享图片 如果你不能在你的 log4j.properties 文件中找到上面的内容的话,请在文件的最后添加上这些内容。

  2. 重启 Confluence。

  3. 重新操作你出现错误的的步骤。

  4. 压缩你的日志目录然后添加到你的支持请求工单中。

  5. 如果你使用的是 Oracle 数据库同时你收到了一个 constraint error,请询问你的数据库管理员是哪个一个数据库表和列有约束(例如:CONFLUENCE.SYS_C0012345),获得相关信息后将这些内容添加到你的工单中。

  6. 打开 confluence/WEB-INF/classes/log4j.properties 文件,删除在第一步中添加的上面 4 行(让 Confluence 输出更多的日志信息将会影响 Confluence 的性能,在生产环境中,你应该不输出这些信息)。

相关主题

Enabling Detailed SQL Logging
Working with Confluence Logs
Troubleshooting failed XML site backups

https://www.cwiki.us/display/CONF6ZH/Troubleshooting+SQL+Exceptions


以上是关于Confluence 6 SQL 异常的问题解决的主要内容,如果未能解决你的问题,请参考以下文章

Confluence 6 尝试从 XML 备份中恢复时解决错误

Confluence 6 "Duplicate Key" 相关问题解决

Confluence 6 从关闭的连接中恢复

Confluence 6 MySQL 3.x 字符集编码问题

Confluence 6 MySQL 3.x 字符集编码问题

Confluence 6 指定日志选项和已知问题