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 ファイルを直接変更する方法を説明しています。

  1. 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
    
    (info) If you can not locate these lines in your log4j.properties file, please add them to the end of it.
  2. Confluence を再起動します。
  3. エラーの原因となった手順を再度実行します。
  4. ログ ディレクトリを zip 化し、サポート チケットに添付します。
  5. Oracle を使用していて制約エラーが発生した場合、データベース管理者に、制約 (CONFLUENCE.SYS_C0012345) が参照するテーブルを問い合わせ、その情報をサポート チケットに追加します。
  6. confluence/WEB-INF/classes/log4j.properties を再度開いて、手順 1 で追加した 4 行を削除します (追加のログ取得はパフォーマンスに影響を与えるため、この手順が完了したら無効にする必要があります)。
関連トピック

詳細な SQL ログの有効化
Confluence ログを使用する
失敗した XML サイト バックアップのトラブルシューティング

最終更新日: 2023 年 2 月 21 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.