ORA-00001 WARN: 一意制約
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
ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、こちら までご連絡ください。
問題
Oracle データベースを使用して DXP 7.2 から 7.4 U53 にアップグレードすると、次の WARN メッセージが表示されました:
ORA-00001: unique constraint (PORTALESLIFERAY1.IX_CB778855, nos podeis decir a que se debe y si afecta al proceso de acutalización del producto.com.liferay.portal.kernel.log.LogSanitizerException: java.sql.SQLIntegrityConstraintViolationException: ORA-00001: unique constraint (PORTALESLIFERAY1.IX_CB778855) violated_ [Sanitized] at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:494) ~[ojdbc8.jar:18.3.0.0.0] at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:446) ~[ojdbc8.jar:18.3.0.0.0] at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1052) ~[ojdbc8.jar:18.3.0.0.0] at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:537) ~[ojdbc8.jar:18.3.0.0.0] at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:255) ~[ojdbc8.jar:18.3.0.0.0] at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:610) ~[ojdbc8.jar:18.3.0.0.0]
解像度
WARNレベルでは、以下の例外が表示されるが、無視して構わない:
2023-02-09 09:46:46.396 WARN [main][BasePortletIdUpgradeProcess:511] null com.liferay.portal.kernel.log.LogSanitizerException: java.sql.SQLIntegrityConstraintViolationException: ORA-00001: unique constraint (PORTALESLIFERAY1.IX_CB778855) violated_ [Sanitized] at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:494) ~[ojdbc8.jar:18.3.0.0.0] at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:446) ~[ojdbc8.jar:18.3.0.0.0] [...] at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_171] at com.liferay.portal.tools.db.upgrade.client.DBUpgraderLauncher.main(DBUpgraderLauncher.java:54) [com.liferay.portal.tools.db.upgrade.client.jar:?] Caused by: com.liferay.portal.kernel.log.LogSanitizerException: Error : 1, Position : 0, Sql = update PortletPreferences set portletId = 'com_liferay_dynamic_data_mapping_form_web_portlet_DDMFormAdminPortlet' where portletId = 'com_liferay_polls_web_portlet_PollsPortlet', OriginalSql = update PortletPreferences set portletId = 'com_liferay_dynamic_data_mapping_form_web_portlet_DDMFormAdminPortlet' where portletId = 'com_liferay_polls_web_portlet_PollsPortlet', Error Msg = ORA-00001: unique constraint (PORTALESLIFERAY1.IX_CB778855) violated_ [Sanitized] at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:498) ~[ojdbc8.jar:18.3.0.0.0] ... 284 more
同じレコードを2回挿入しようとすると警告が出ますが、無視しても問題ありません。 2番目のレコードが挿入されるのは、DXP 7.4でPollsの機能がFomsに移行されたためで、DXP 7.4 のアップグレードでは、portletPreferences テーブルの portletId がcom_liferay_polls_web_portlet_PollsPortlet から com_liferay_dynamic_data_mapping_form_web_portlet_DDMFormAdminPortlet に変更され、更新されますが、ダッシュボードポートレット plid=0 では、重複挿入が発生します。 詳細については、DXP 7.3からのアップグレード後にAsset Libraries throw warningsという 記事で説明されており、アップグレード中にWARNが表示されないようにする回避策があります。
追加情報
起動時の LDAP インポートがオンの場合に制約 (IX_228562AD) に違反する
did-this-article-resolve-your-issue