legacy-knowledge-base
公開されました Sep. 10, 2025

ORA-01408 カスタム Service Builder モジュールのアップグレード時の例外

written-by

Alexandra Rujzam

How To articles are not official guidelines or officially supported documentation. They are community-contributed content and may not always reflect the latest updates to Liferay DXP. We welcome your feedback to improve How To articles!

While we make every effort to ensure this Knowledge Base is accurate, it may not always reflect the most recent updates or official guidelines.We appreciate your understanding and encourage you to reach out with any feedback or concerns.

legacy-article

learn-legacy-article-disclaimer-text

問題

ランニングg! upgrade:コンポーネントが正常に移行されなかったことが判明したことを確認します。出力は次のとおりです。
ServiceBuilder.serviceで利用可能な0.0.0から1.0.0へのアップグレードプロセスがあります

アップグレードを実行すると、同様のエラーが表示されます。

com.liferay.portal.kernel.upgrade.UpgradeException: Bundle ServiceBuilder.service_1.0.0 [93] has invalid content in indexes.sql: 
create index IX_F27B1EFC on marketnotice (isEnglish);
create index IX_441C90FD on marketnotice (marketNoticeId);
create index IX_6415039A on marketnotice (uuid_[$COLUMN_LENGTH:75$]);
at com.liferay.portal.spring.extender.internal.context.ModuleApplicationContextExtender$ModuleApplicationContextExtension$1.upgrade(ModuleApplicationContextExtender.java:350)
at com.liferay.portal.upgrade.internal.release.osgi.commands.ReleaseManagerOSGiCommands$UpgradeInfosRunnable.run(ReleaseManagerOSGiCommands.java:539)
... 32 more
Caused by: java.sql.SQLException: ORA-01408: such column list already indexed

環境への配慮

  • ポータル 6.2
  • DXP7.
  • DXP 7.1
  • DXP7.

決議

この場合、 service.xmlmarketNoticeId というfinder要素が存在することが問題の原因です。

DBでは、 marketnotice テーブルの主キーが marketNoticeIdであることがわかります。 marketnotice テーブルの主キーである marketNoticeId フィールドは、そのフィールドを持つ要素を取得するためのインデックスとメソッドをすでに持っています。 したがって、この場合はこのファインダーは必要ありません。

解決策としては、前述のファインダーを削除し、カスタムモジュールを再配備することです。 あるいは、オプションでfinder要素のdb-index属性の値を falseに設定することもできます。

did-this-article-resolve-your-issue

legacy-knowledge-base