My Oracle Support Banner

メタデータフィールドのタイプを変更後、索引付けが ORA-12899 や ORA-904エラーで失敗しコンテンツのステータスがWWW生成で滞留することがある (Doc ID 1597623.1)

Last updated on JUNE 08, 2018

適用範囲:

Oracle WebCenter Content - バージョン 11.1.1.6.0 以降
この文書の内容はすべてのプラットフォームに適用されます。

現象

既存のメタデータ・フィールドのタイプを変更(テキストからロング・テキストへの変更、またはテキストやロングテキストからメモへの変更)を行った後、以下のような事象が発生します。

この問題は、以下の手順で再現することができます。

 

1. 構成マネージャ アプレットを起動し、既存フィールドを編集、フィールド・タイプを変更します。(例: テキスト→ロング・テキスト)

2. [データベース設計の更新]をクリックし、変更をリポジトリDBに反映します。

3. その後、新たなコンテンツをチェックインします。その際、上記手順で変更したフィールドに、変更前の最大長よりも長い文字列を指定します(例えばテキストからロング・テキストに変更した場合であれば、31文字以上の値を設定します)

4. チェックイン後、該当コンテンツのコンテンツ情報を確認します。
→ステータスが WWW生成で止まり、エラー"Indexing aborted on this content item." が出ています(Case 1の状況)
→この問題が発生した際、Content Serverログには以下のエラーが出現しています。

Indexing aborted. Unable to index metadata only. This may indicate the collection is damaged. Indexing aborted. [ Details ]

An error has occurred. The stack trace below shows more information.

!csIndexerAbortedMsg!csIndexerMetaOnlyFailed
intradoc.common.ServiceException: !csIndexerMetaOnlyFailed
at intradoc.indexer.IndexerBulkLoader.handleIndexerResults(IndexerBulkLoader.java:600)
at intradoc.indexer.IndexerBulkLoader.createBulkLoad(IndexerBulkLoader.java:384)
at intradoc.indexer.IndexerBulkLoader.doWork(IndexerBulkLoader.java:170)
at intradoc.indexer.Indexer.doIndexing(Indexer.java:411)
at intradoc.indexer.Indexer.buildIndex(Indexer.java:319)
at intradoc.server.IndexerMonitor.doIndexing(IndexerMonitor.java:1021)
at intradoc.server.IndexerMonitor$4.run(IndexerMonitor.java:842)

 →また、indexerトレースを取得していると、以下のようにORA-12899エラーの発生が確認できます。

>indexer/6 06.10 04:23:03.289 index update work Unable to execute batch: intradoc.data.DataException: !csDbUnableToExecuteBatch,!$ORA-12899: value too large for column "DEV_OCS"."IDCTEXT1"."XTESTFIELD01" (actual: 50\, maximum: 30)

indexer/6 06.10 04:23:03.289 index update work
indexer/6 06.10 04:23:03.289 index update work at intradoc.jdbc.JdbcWorkspace.handleSQLException(JdbcWorkspace.java:2548)
indexer/6 06.10 04:23:03.289 index update work at intradoc.jdbc.JdbcWorkspace.executeBatch(JdbcWorkspace.java:443)
indexer/6 06.10 04:23:03.289 index update work at intradoc.indexer.OracleTextHandler.batchExecution(OracleTextHandler.java:497)
indexer/6 06.10 04:23:03.289 index update work at intradoc.indexer.OracleTextHandler.updateDocuments(OracleTextHandler.java:429)
indexer/6 06.10 04:23:03.289 index update work at intradoc.indexer.OracleTextHandler.executeIndexer(OracleTextHandler.java:250)
indexer/6 06.10 04:23:03.289 index update work at intradoc.indexer.IndexerExecution.executeIndexer(IndexerExecution.java:597)
indexer/6 06.10 04:23:03.289 index update work at intradoc.indexer.IndexerDriverAdaptor.executeIndexer(IndexerDriverAdaptor.java:144)
indexer/6 06.10 04:23:03.289 index update work at intradoc.indexer.DocIndexerAdaptor.indexList(DocIndexerAdaptor.java:209)
indexer/6 06.10 04:23:03.289 index update work at intradoc.indexer.DocIndexerAdaptor.finishIndexing(DocIndexerAdaptor.java:131)
indexer/6 06.10 04:23:03.289 index update work at intradoc.indexer.IndexerBulkLoader.createBulkLoad(IndexerBulkLoader.java:383)
indexer/6 06.10 04:23:03.289 index update work at intradoc.indexer.IndexerBulkLoader.doWork(IndexerBulkLoader.java:171)
indexer/6 06.10 04:23:03.289 index update work at intradoc.indexer.Indexer.doIndexing(Indexer.java:411)
indexer/6 06.10 04:23:03.289 index update work at intradoc.indexer.Indexer.buildIndex(Indexer.java:319)
indexer/6 06.10 04:23:03.289 index update work at intradoc.server.IndexerMonitor.doIndexing(IndexerMonitor.java:1021)
indexer/6 06.10 04:23:03.289 index update work at intradoc.server.IndexerMonitor$4.run(IndexerMonitor.java:842)

5. その後、チェックイン時に長い文字列を登録していたフィールドの値を更新し、短くします(例えば30文字未満の文字列を設定します)。その後該当コンテンツの再送信を行います。
→この操作は成功し、対象コンテンツのステータスは「リリース」となります。

6. リポジトリマネージャを起動し、コレクション再構築サイクルを起動します。その時、「高速再構築の使用」にチェックを付けて実行します。

7. 再構築完了後、チェックインしていたコンテンツのコンテンツ情報ページを再度確認します。
→ステータスが WWW生成で止まり、エラー"Indexing aborted on this content item." が出ています(Case 2の状況)
→この問題が発生した際、Content Serverログには以下のエラーが出現しています。

Indexing aborted. Unable to index metadata only. This may indicate the collection is damaged. Indexing aborted. [ Details ]

An error has occurred. The stack trace below shows more information.

!csIndexerAbortedMsg!csIndexerMetaOnlyFailed
intradoc.common.ServiceException: !csIndexerMetaOnlyFailed
at intradoc.indexer.IndexerBulkLoader.handleIndexerResults(IndexerBulkLoader.java:600)
at intradoc.indexer.IndexerBulkLoader.createBulkLoad(IndexerBulkLoader.java:384)
at intradoc.indexer.IndexerBulkLoader.doWork(IndexerBulkLoader.java:170)
at intradoc.indexer.Indexer.doIndexing(Indexer.java:411)
at intradoc.indexer.Indexer.buildIndex(Indexer.java:319)
at intradoc.server.IndexerMonitor.doIndexing(IndexerMonitor.java:1021)
at intradoc.server.IndexerMonitor$4.run(IndexerMonitor.java:842)

 → また、indexerトレースを取得していると、今度は以下のようにORA-904エラーの発生が確認できます。

>indexer/6 06.10 04:38:44.989 index update work Unable to execute batch: intradoc.data.DataException: !csDbUnableToExecuteBatch,!$ORA-00904: "XTESTFIELD01": invalid identifier
indexer/6 06.10 04:38:44.989 index update work
indexer/6 06.10 04:38:44.989 index update work at intradoc.jdbc.JdbcWorkspace.handleSQLException(JdbcWorkspace.java:2548)
indexer/6 06.10 04:38:44.989 index update work at intradoc.jdbc.JdbcWorkspace.executeBatch(JdbcWorkspace.java:443)
indexer/6 06.10 04:38:44.989 index update work at intradoc.indexer.OracleTextHandler.batchExecution(OracleTextHandler.java:497)
indexer/6 06.10 04:38:44.989 index update work at intradoc.indexer.OracleTextHandler.updateDocuments(OracleTextHandler.java:429)
indexer/6 06.10 04:38:44.989 index update work at intradoc.indexer.OracleTextHandler.executeIndexer(OracleTextHandler.java:250)
indexer/6 06.10 04:38:44.989 index update work at intradoc.indexer.IndexerExecution.executeIndexer(IndexerExecution.java:597)
indexer/6 06.10 04:38:44.989 index update work at intradoc.indexer.IndexerDriverAdaptor.executeIndexer(IndexerDriverAdaptor.java:144)
indexer/6 06.10 04:38:44.989 index update work at intradoc.indexer.DocIndexerAdaptor.indexList(DocIndexerAdaptor.java:209)
indexer/6 06.10 04:38:44.989 index update work at intradoc.indexer.DocIndexerAdaptor.finishIndexing(DocIndexerAdaptor.java:131)
indexer/6 06.10 04:38:44.989 index update work at intradoc.indexer.IndexerBulkLoader.createBulkLoad(IndexerBulkLoader.java:383)
indexer/6 06.10 04:38:44.989 index update work at intradoc.indexer.IndexerBulkLoader.doWork(IndexerBulkLoader.java:171)
indexer/6 06.10 04:38:44.989 index update work at intradoc.indexer.Indexer.doIndexing(Indexer.java:411)
indexer/6 06.10 04:38:44.989 index update work at intradoc.indexer.Indexer.buildIndex(Indexer.java:319)
indexer/6 06.10 04:38:44.989 index update work at intradoc.server.IndexerMonitor.doIndexing(IndexerMonitor.java:1021)
indexer/6 06.10 04:38:44.989 index update work at intradoc.server.IndexerMonitor$4.run(IndexerMonitor.java:842)

 

 

変更点

 この現象は、既存フィールドのタイプを変更した(例えばテキスト→ロング・テキスト)場合に発生します。

原因

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


本書の内容
現象
変更点
原因
解決策
参照情報

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.