6 トラブルシューティング

この章では、Oracle WebCenter Enterprise Captureのトラブルシューティングについて説明します。

この章には次の項が含まれます:

6.1 一般

この項の内容は次のとおりです。

6.1.1バッチ・プロセッサのワーカー・スレッド数の変更

任意のバッチ・プロセッサのワーカー・スレッドの数を変更できます。たとえば、インポート・プロセッサのワーカー・スレッドの数を変更するには、次のステップを実行します。次の例では、スレッド数が10から1に変更されます:

  1. Capture管理対象サーバーを停止します。

  2. WebLogic Server管理コンソールで、左側の「ドメイン構造」ツリーの「デプロイメント」をクリックします。「デプロイメントのサマリー」ページが表示されます。

  3. 「デプロイメント」表で、Captureデプロイメント・ノードを展開します。

  4. Captureデプロイメント・ノードの下の「モジュール」ノードを展開して、oddc-core.jarを選択します。oddc-core.jarの設定ページが表示されます。

  5. 「構成」タブを選択して、「ワークロード」サブタブをクリックします。

  6. 「アプリケーション・スコープのワーク・マネージャ」のリストから「ImportProcessorMgr」を選択します。ImportProcessorMgrの設定ページが表示されます。

  7. 「アプリケーション・スコープのワーク・マネージャ」のリストから「ImportProcessorMaxThreads」を選択します。ImportProcessorMaxThreadsの設定ページが表示されます。

  8. 「カウント」フィールドの値を(10から)1に設定します。

  9. 「保存」をクリックします。

次のステップを実行して、スレッド数の設定の変更を確認します:

  1. Capture管理対象サーバーを起動します。
  2. WebLogic Server管理コンソールで、左側の「ドメイン構造」ツリーの「サービス」ノードをクリックします。
  3. 「サービス」の下の「メッセージング」ノードを展開して、「JMSモジュール」をクリックします。「JMSモジュール」ページが表示されます。
  4. 「JMSモジュール」表で、「capture-jms-module」を選択します。capture-jms-moduleの設定ページが表示されます。
  5. 「リソースのサマリー」表で、「capture-batchinput-queue」を選択します。capture-batchinput-queueの設定ページが表示されます。
  6. 「監視」タブを選択します。「宛先」表の「現在のコンシューマ数」列と「最大コンシューマ数」列の値は1になります。

6.1.2 ハッシュ・パーティションの作成によるデータベース・パフォーマンスの改善

EBATCTITEMS表のハッシュ・パーティションを使用すると、データベース待機イベントenq: HW– contentionを最小化できるため、データベースの拡張を抑制できます。次に示すように、このイベントは多くのスレッドでECBATCHTITEMSを更新して、ECBATCHTITEMSに新しいBLOBアイテムを追加しようとすると発生します。

table - "UPDATE ECBATCHITEMS SET ECITEMDATA=:1 WHERE ECITEMID=:2"

ハッシュ・パーティションを作成すると個々のアイテムが8個の異なるパーティションに存在するようになるため、この競合を最小化できます。『Oracle Fusion Middleware Oracle WebCenter Contentのインストールと構成』ハッシュ・パーティションの作成によるデータベース・パフォーマンスの改善に関する項を参照してください。

ノート:

Oracle Databaseでハッシュ・パーティションを使用する場合は、Oracle Partitioningライセンスを購入する必要があるため、ライセンスを考慮する必要があります。http://docs.oracle.com/cd/B28359_01/license.111/b28287.pdfのドキュメントを参照してください。

6.2 コミット・プロセッサ

この項では、コミット・プロセッサに関連するトラブルシューティングのトピックについて説明します。

6.2.1 Captureの外部のPDFイメージのみのドキュメント・エクスポート・ドライバのテスト

Outside In Technology (OIT) PDFエクスポート・ユーティリティをテストするには、エクスポートをテストするためのTIFFファイルを提供する必要があります。このステップは次のとおりです。

Linuxの使用

  1. 端末のウィンドウを開きます。

  2. {Middleware Home}/oit/linux64/lib/contentaccessディレクトリに変更します。

    ノート: Linuxのデフォルトの{Middleware Home}パスは/Oracle/Middleware/Oracle_Homeです。

  3. 次のコマンドを入力すると、最初にLD_LIBRARY_PATH変数が現在のディレクトリ(".")に設定され、PDFExport64ユーティリティが実行されます:

    env LD_LIBRARY_PATH=. ../../../../wccapture/capture/bin/linux/PDFExport64 -i {TIFF file to read} -o {PDF file to create} -l {log file to create} -f {Path to font folder}

    例:

    env LD_LIBRARY_PATH=. ../../../../wccapture/capture/bin/linux/PDFExport64 -i /tmp/sample.tif -o /tmp/test.pdf -l /tmp/pdfexport.log -f /usr/share/X11/fonts

    OIT PDFエクスポート・ユーティリティのロギングは、前述のコマンドで指定したログ・ファイル(例: /tmp/pdfexport.log)に取得されます。

Windowsの使用

  1. 端末のウィンドウを開きます。
  2. {Middleware Home}\oit\windows-amd64\lib\contentaccessディレクトリに変更します。

    ノート: Windowsのデフォルトの{Middleware Home}パスはc:\Oracle\Middleware\Oracle_Homeです。

  3. 次のコマンドを入力すると、PDFExport64ユーティリティが実行されます:

    ..\..\..\..\wccapture\capture\bin\win64\PDFExport64 -i {TIFF file to read} -o {PDF file to create} -l {log file to create}

    例:

    ..\..\..\..\wccapture\capture\bin\win64\PDFExport64 -i C:\tmp\sample.tif -o C:\tmp\test.pdf -l C:\tmp\pdfexport.log

    OIT PDFエクスポート・ユーティリティのロギングは、前述のコマンドで指定したログ・ファイル(例: C:\tmp\pdfexport.log)に取得されます。

6.3 クライアント

この項の内容は次のとおりです。

6.3.1 Captureクライアントでのロギングの設定

次のステップを実行して、キャプチャ・クライアントの追加のJavaロギングを有効化します:

  1. ショートカット・アイコンを右クリックして、メニューから「プロパティ」を選択し、WebCenter Enterprise Captureクライアントのデスクトップ・ショートカットの変更を開始します。

  2. 「ショートカット」タブで、「ターゲット」フィールド内をクリックし、行の末尾にカーソルを置きます。空白を入力し、その後に-showconsoleを入力します(引用符はなし)。

  3. 変更を保存する場合は、「OK」をクリックします。デスクトップ・ショートカットを使用して次にCaptureクライアントを起動すると、追加のロギング情報を提供するデバッグ・コンソールが表示されます。

Captureクライアントで次のステップを実行して、バッチ・ロギングをアクティブ化します:

  1. ウィンドウの右上隅にあるドロップダウン・リストの矢印をクリックして、「プリファレンス」を選択します。「プリファレンス」ウィンドウが表示されます。
  2. 「ロギング・レベル」フィールドで、新しいレベルを選択します。

    デフォルトでは、ロギングは「オフ」に設定されます。他には、「重大」「警告」「情報」「構成」「詳細」「より詳細」「最も詳細」「すべて」などの値を設定できます。

    ログ・ファイルは、ホーム・ディレクトリ内の.oracle_capture\Logディレクトリにローカル格納されます。ログ・ファイルの名前はWC{date}で、dateはMMddyyyyの形式です。

  3. 「保存」をクリックします。

TWAIN駆動のスキャン・デバイスに関連する問題の場合は、TWAINログが自動的に作成されます:

C:\Users\WINDOWS_USER\AppData\Local\Temp\capture_twain.log

6.3.2 Kofax VRS TWAINドライバを使用した白黒でのスキャン

Kofax VRS TWAINドライバを使用してCaptureクライアントで白黒でスキャンする場合、スキャンされたイメージで白黒の領域が反転します。

この問題を解決するステップは、次のとおりです:

  1. Captureクライアントにログインします。
  2. ウィンドウの右上隅にあるドロップダウン・リストの矢印をクリックして、「プリファレンス」を選択します。「プリファレンス」ウィンドウが表示されます。
  3. 「ファイル・モード転送の禁止」フィールドを選択します。
  4. 「保存」をクリックします。

前述の設定は、大きいDPI値(300から600のDPI値など)でカラー・イメージをスキャンするときに、パフォーマンスの問題を引き起こす場合があります。

6.4 ドキュメント変換プロセッサ

この項の内容は次のとおりです。

6.4.1 変換プロセッサ(OIT変換)での「イメージのエクスポートに失敗(コード3)」

「イメージのエクスポートに失敗(コード3)」エラー・メッセージは、CaptureでのOIT変換に関連した一般的なエラー・メッセージです。詳細なエラー・メッセージを収集するには、CAPTUREOITEXPORTLOG環境変数を設定してログ・ファイルを生成する必要があります。

Linuxの使用

Linuxで環境変数を設定するには、{Oracle Home}/user_projects/domains/{Capture domain}/binディレクトリにあるsetDomainEnv.shファイルを変更する必要があります。

ファイルの末尾に次の2行を追加します:

CAPTUREOITEXPORTLOG="/scratch/captureoit.log"

export CAPTUREOITEXPORTLOG

"/scratch"は、存在して書込み可能な他のディレクトリに変更できます。環境変数を追加したら、Capture管理対象サーバーを再起動して、問題を複製します。次に、captureoit.logファイルを調べて、詳細なエラー・メッセージを確認します。

Windowsの使用

Windowsで環境変数を設定するには、{Oracle Home}\user_projects\domains\{Capture domain}\binディレクトリにあるsetDomainEnv.cmdファイルを変更する必要があります。

ファイルの末尾に次の行を追加します。

set CAPTUREOITEXPORTLOG="C:\temp\captureoit.log"

"C:\temp"は、存在して書込み可能な他のディレクトリに変更できます。環境変数を追加したら、Capture管理対象サーバーを再起動して、問題を複製します。次に、captureoit.logファイルを調べて、詳細なエラー・メッセージを確認します。

6.4.2 TIFFへの変換に関連する問題をデバッグするためのCaptureOITExportの実行

Captureでは、OITライブラリを使用してTIFFへの変換を実行します。内部的には、変換にCaptureOITExportを使用します。OIT固有のログが作成され、これはOIT関連エラーを解決するのに役立ちます。

Linuxの使用

  1. シェル・プロンプトを開き、ディレクトリを{Oracle WebCenter Home}/oit/linux64/lib/contentaccessに変更します。

  2. 一部のプラットフォームで変換を機能させるには、特定の環境変数を設定する必要があります。XWindowsを実行しているLinuxオペレーティング・システムの場合、適切なグラフィック能力を持つシステムにディスプレイをリダイレクトする際、変換を開始する前にDISPLAYを有効なX Serverに設定します。

    ノート: Oracle Linuxでは、ディスプレイ・サーバーを使用できます。AIXサーバーでは、インストールが別途必要になる場合があります。

  3. OIT固有のログ・ファイルを作成します。CAPTUREOITEXPORTLOG環境変数をエクスポートして、指定されたログ・ファイルを作成します。

  4. 変換のパラメータを含む入力ファイルを作成します。入力ファイルの名前は/test/testuser/input.txtであり、次の行が含まれます:

    BEGINSESSION|1|/test/testuser/Test_07.docx|/test/testuser/output/out.tif|FI_TIFF~1|0|0|0|/test/testuser/output/che.lst|300
    quit
    
  5. CaptureOITExport64を実行します。

    例:

    export DISPLAY=:0
    export CAPTUREOITEXPORTLOG=/test/testuser/oit.log
    ../../../../wccapture/capture/bin/linux/CaptureOITExport64 < /test/testuser/input.txt
    CaptureOITExport Started.
    ACKSESSION
    FINISHSESSION
    INITIATETERMINATE
    

    このサンプルで注目すべき点は以下のとおりです。

    • /test/testuser/Test_07.docx: Microsoft Wordドキュメント・ファイルを入力します

    • /test/testuser/output/out.tif: TIFFを出力します

    • /test/testuser/output/che.lst: 複数ページのTIFFのページ・リストが含まれます

Windowsの使用

例:

  1. この例の入力ファイルは、input.txt (C:\OIT\convtest\input.txt)です。入力ファイルには、変換に必要なパラメータが含まれています。これには、変換するファイル(C:\OIT\convtest\Test_07.docx)、出力TIFFファイル(C:\OIT\convtest\output\out.tif)、および次の2行が含まれます:

    BEGINSESSION|1|C:\OIT\convtest\Test_07.docx|C:\OIT\convtest\output\out.tif|FI_TIFF~1|0|0|0|C:\OIT\convtest\output\che.lst|300

    quit

  2. コマンド・プロンプトでのCAPTUREOITEXPORTLOGの設定:

    C:\Users\odc>set CAPTUREOITEXPORTLOG=C:\OIT\convtest\oit.log

  3. ディレクトリを{Oracle WebCenter Home}\oit\windows-amd64\lib\contentaccessに変更します。
  4. 入力ファイルを使用した変換の起動:

    C:\Oracle\Middleware\Oracle_Home\oit\windows-amd64\lib\contentaccess>C:\Oracle\Middleware\Oracle_Home\wccapture\capture\bin\win64\CaptureOITExport.exe < C:\OIT\convtest\input.txt

    CaptureOITExport Started

    ACKSESSION

    FINISHSESSION

    INITIATETERMINATE

    C:\Oracle\Middleware\Oracle_Home\oit\windows-amd64\lib\contentaccess>

6.5 Linuxイメージの変換およびレンダリングの問題の解決

この項では、CaptureでのLinuxイメージの変換およびレンダリングの問題を修正するための症状、原因、トラブルシューティング・ステップおよび問題の解決策について説明します。

次のエラーが解決されます:
  • コード3でのイメージのエクスポートの失敗
  • XOpenDisplayの失敗
  • ドキュメントを完全にレンダリングできない
  • イメージ変換に失敗したため、現時点でキャッシュに格納できない
  • キャッシュ例外の発生
  • 変換プロセスでエラー・コード135が返される
  • ドキュメントの暗号化中の失敗の発生
  • CaptureOITExportの起動の失敗
  • 外部変換プロセスの起動中のエラー

前述のエラーを解決するには、次のトラブルシューティング・ステップを実行します:

  1. DISPLAYおよびGDFONTPATH環境変数を確認します:

    DISPLAYが設定されていないか、有効な値に設定されていない場合は、エラーが発生します。GDFONTPATH環境変数は、有効なTrueTypeフォント・ディレクトリ・パスに設定する必要があります。Oracle Linuxマシンでは、デフォルトのTrueTypeフォント・ディレクトリは/user/share/fonts/liberationです。ディレクトリには、6つの.TTFフォント・ファイルが含まれています。CaptureにはGDFONTPATH MBeanはありません。

    CaptureとImagingが同じサーバー上で実行されている場合、DISPLAY変数は両方のプロセスに対して設定されます。これは、どちらもこの設定のファイルsetDomainEnv.shに依存するためです。この環境では、Imagingはイメージ変換にXサーバーも使用します。

    実行中のプロセスにDISPLAYまたはGDFONTPATH環境変数(あるいはその両方)が設定されているかどうかを確認するには:
    $ ps –ef | grep <capture_server1 or IPM_server1>

    たとえば、プロセスID (PID)を検索するには、次のコマンドを入力します:

    出力例:

    [example@linuxtest2 ~]$ ps -ef | grep capture_server1 example 1184 802 9 Sep24 ? 2-13:25:39 /usr/java/jdk1.8.0_171-amd64/bin/java -server -Xms256m
          -Xmx1024m -cp /oracle2/Middleware12c/wlserver/server/lib/weblogic-launcher.jar
          -Dlaunch.use.env.classpath=true -Dweblogic.Name=capture_server1<actual output truncated>

    1184は、CaptureサーバーのPIDです。通常は4桁または5桁の10進数です。

    実行中のプロセスでDISPLAYおよびGDFONTPATH環境変数値を問い合せるには、次のようにします:

    Linuxの場合:

    $ ps ewww <capture_server1 PID> | tr ' ' '\n' | grep \= | grep DISPLAY
    $ ps ewww <capture_server1 PID> | tr ' ' '\n' | grep \= | grep GDFONTPATH

    Solarisの場合:

    $ pargs –e <capture_server1 PID> | grep DISPLAY
    $ pargs –e <capture_server1 PID> | grep GDFONTPATH

    例:

    $ ps ewww 1184 | tr ' ' '\n' | grep \= | grep DISPLAY

    出力:

    DISPLAY=10.148.51.219:0
    $ ps ewww 1184 | tr ' ' '\n' | grep \= | grep GDFONTPATH

    出力:

    GDFONTPATH=/usr/share/fonts/liberation

    不良出力例:

    $ ps ewww 1184 | tr ' ' '\n' | grep \= | grep DISPLAY

    <出力表示なし>

    $ ps ewww 1184 | tr ' ' '\n' | grep \= | grep GDFONTPATH

    <出力表示なし>

    問題の解決:

    必要に応じて、ファイルsetDomainEnv.sh ($DOMAIN_HOME/bin/)に次の環境変数を設定する必要があります:

    1 DISPLAY=<machine name or IP>:<display>:<port>
    export DISPLAY
    GDFONTPATH=<path to .ttf font files>
    export GDFONTPATH
    一方または両方の変数が定義されている場合は、setDomainEnv.shファイル($DOMAIN_HOME/bin/setDomainEnv.sh)で設定できますが、システム上の他の多くの場所で設定することもできます。DISPLAYおよびGDFONTPATH変数は、.profile.bash_profileなどの他のプロセス起動スクリプトで設定できます。DISPLAY変数が不要な場合は、setDomainEnv.shファイルに次のコマンドを追加して、プロセスから変数を削除します:
    unset DISPLAY

    ノート:

    GDFONTPATH環境変数は常に設定する必要があります。

    DISPLAYまたはGDFONTPATH変数が定義されていない場合は、ファイルsetDomainEnv.sh ($DOMAIN_HOME/bin/)にこれらの変数の定義が含まれていないことが原因です。定義されているが、setDomainEnv.shファイルで作成または設定されていない場合、これらをsetDomainEnv.shファイルで定義すると、事前設定された値が上書きされます。

    DISPLAYの値は、多くの場合、localhost:n.0に設定されます。これは、Xサーバーがローカル・サーバー上で実行されているかぎり有効なサーバー、表示n、ポート0を指しています。SOAが同じサーバーで実行されている場合は、ファイルsetSOADomainEnv.sh ($DOMAIN_HOME/bin/)にGDFONTPATH変数も設定する必要があります。

    setDomainEnv.shファイルに必要な変更を行った後、ドメイン全体を再起動してから再テストします。

    それでも問題が解決しない場合は、トラブルシューティングを続行します。

  2. Xサーバーが実行されていることを確認します:

    Captureがサーバーで実行されていない場合は、ステップ4に進みます。Captureがサーバーで実行されている場合は、Xサーバーが実行されている必要があります。既知のオプションは、X、VNC (Linuxの複数のフレーバ)、Gnome Desktop Manager (GDM)または仮想フレーム・バッファ(VFB、Solarisのみ)です。同じことを行うソフトウェア・パッケージは他にもあります。

    コマンド:
    $ ps -ef | grep ‘X ‘ | grep –v grep
    出力例:
    root 6497 1 0 Sep23 tty7 00:00:01 X :0
    不良または存在しない出力の例:
    $ ps -ef | grep vfb | grep –v grep
    $ ps -ef | grep gdm | grep –v gdm
    $ ps -ef | grep vnc | grep –v vnc
    出力例の解釈:
    • DISPLAYlocalhost:0.0に設定されて実行されているXサーバーがあります
    • このホストではVFB (Solarisのみ)、GDMまたはVNCは実行されていません。

    問題の検出および解決:

    Xサーバーの構成および実行は、Oracleサポートの範囲外です。システム管理者は、これらの操作を実行する必要があります。

    Captureの問題の場合、どのタイプ(X、VNC、GDM、VFBまたはその他の種類)であるかに関係なく、Xサーバーが実行されている必要があります。

  3. Xサーバー構成および権限を確認します:
    VNCを使用する場合は、VNC構成ファイル/etc/sysconfig/vncserversに次の行を追加します。
    VNCSERVERS="0:root 1:oracle"

    ここで、oracleは、Captureサーバーのユーザー・アカウントです。この構成の詳細は、LinuxでのVNCサーバーの構成を参照してください。この行が変更された場合は、表示1のVNCサーバーを停止して再起動します。前述の2つのステップは、多くの場合、問題の原因です。問題がなければ、次のステップに従います。

  4. OITライブラリの場所および整合性をチェックします:

    OITライブラリは、$ECM_HOME/OIT/<platform>/lib/contentaccessにあります。Solarisの場合は、solaris-x86/libの場所ではなく、solaris/lib locationに移動します。

    次の場所に移動します:
    $ cd $ECM_HOME/oit/<platform>/lib/contentaccess

    必要なコンポーネントがすべてインストールされていることを確認します。

    LinuxおよびSolarisの場合
    $ ldd libos_gd.so
    $ ldd libos_xwin.so
    AIXでは、次のコマンドを入力します:
    $ dump –H libos_gd.so
    $ dump –H libos_xwin.so
    出力例:
    $ cd /oracle/Middleware/Oracle_ECM1/oit/linux/lib/contentaccess
    $ ldd libos_gd.so
    linux-gate.so.1 => (0xf777b000)
    libwv_gdlib.so => /oracle/Middleware/Oracle_ECM1/oit/linux/lib/contentaccess/./libwv_gdlib.so (0xf7753000)
    libwv_core.so => /oracle/Middleware/Oracle_ECM1/oit/linux/lib/contentaccess/./libwv_core.so (0xf737d000)
    libm.so.6 => /lib/libm.so.6 (0xf7353000)
    libpthread.so.0 => /lib/libpthread.so.0 (0xf7337000)
    libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xf724c000)
    libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xf722e000)
    libc.so.6 => /lib/libc.so.6 (0xf7097000)
    libfreetype.so.6 => /oracle/Middleware/Oracle_ECM1/oit/linux/lib/contentaccess/./libfreetype.so.6 (0xf702c000)
    libdl.so.2 => /lib/libdl.so.2 (0xf7026000)
    /lib/ld-linux.so.2 (0xf777c000)
    libz.so.1 => /lib/libz.so.1 (0xf7012000)
    何かが欠落している場合、行には欠落していることが明確に示されます。たとえば:
    libcsfml-window.so.2.2 => not found
    libcsfml-graphics.so.2.2 => not found

    問題の検出および解決:

    ライブラリが見つからない場合は、続行する前に、システム管理者が欠落しているパッケージをインストールする必要があります。必要なパッケージのインストールは、Oracleサポートの範囲外です。

  5. Imaging OITの場所を再確認します:

    Captureで問題が解決された場合は、このステップをスキップしてステップ6に進みます。

  6. OITライブラリのバージョンを確認します:
    バージョンを手動で確認します。ここでのplatformは、Linux、Solarisなどになります。
    $ cd $ECM_HOME/oit/<platform>/lib/contentaccess 
    $ for i in *; do echo 
    $i; strings 
    $i | grep _VER; done