SQL 例外のトラブルシューティング
以下のような例外が発生した場合、Confluence インスタンスのログ レベルを上げることをお勧めします。アトラシアン サポートをリクエストする場合、この追加のログがあると、エラーの原因を解決するのに役立ちます。
ログ レベルを上げると、以下のようなエラーの診断が可能になります。
org.springframework.dao.DataIntegrityViolationException: (HibernateTemplate): data integrity violated by SQL ''; nested exception is java.sql.BatchUpdateException: Duplicate entry '1234' for key 1
at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.translate(SQLStateSQLExceptionTranslator.java:88)
caused by: java.sql.BatchUpdateException: Duplicate entry '1234' for key 1
at com.mysql.jdbc.ServerPreparedStatement.executeBatch(ServerPreparedStatement.java:647)
または
(HibernateTemplate): data integrity violated by SQL ''; nested exception is java.sql.BatchUpdateException: ORA-00001: unique constraint (CONFLUENCE.SYS_C0012345) violated
このドキュメントでは、システムのログを増加させる手順を説明します。
管理コンソールを介したログ レベルの変更
Confluence 2.7 以降の場合、実行中に管理コンソールからログ レベルを調整することができます。 — 「手順」を参照してください。以下では log4j ファイルを直接変更する方法を説明しています。
confluence/WEB-INF/classes/log4j.properties
を開き、以下の行のコメント化を解除します。2 つの ## がある行はコメントなので、このままにしておきます。## log hibernate prepared statements/SQL queries (equivalent to setting 'hibernate.show_sql' to 'true') #log4j.logger.net.sf.hibernate.SQL=DEBUG ## log hibernate prepared statement parameter values #log4j.logger.net.sf.hibernate.type=DEBUG
log4j.properties
ファイル内にこれらの行がない場合、ファイルの最後に追加します。- Confluence を再起動します。
- エラーの原因となった手順を再度実行します。
- ログ ディレクトリを zip 化し、サポート チケットに添付します。
- Oracle を使用していて制約エラーが発生した場合、データベース管理者に、制約 (
CONFLUENCE.SYS_C0012345
) が参照するテーブルと列を問い合わせ、その情報をサポート チケットに追加します。 confluence/WEB-INF/classes/log4j.properties
を再度開いて、手順 1 で追加した 4 行を削除します (追加のログ取得はパフォーマンスに影響を与えるため、この手順が完了したら無効にする必要があります)。
関連トピック
詳細な SQL ログの有効化
Confluence ログを使用する
失敗した XML サイト バックアップのトラブルシューティング
最終更新日 2011 年 5 月 20 日
Powered by Confluence and Scroll Viewport.