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

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

最終更新日 2022 年 7 月 29 日

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

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