创建Oracle Apex表单页面触发ORA-00001唯一约束违反错误求助
解决Oracle Apex创建表单页面时的ORA-00001约束冲突错误
问题说明
创建表单页面时触发错误:ORA-00001: unique constraint (APEX_230200.WWV_DICTIONARY_CACHE_OBJ_IDX2) violated,该错误源于APEX字典缓存表中存在重复条目,触发了唯一索引约束。
解决方法
清除应用缓存
进入应用构建器,打开目标应用,点击右上角「编辑应用属性」,左侧菜单选择「缓存」,点击「清除所有缓存」,之后重试表单创建操作。刷新APEX字典缓存
使用拥有APEX_ADMINISTRATOR_ROLE权限的用户执行以下PL/SQL代码(替换:APP_ID为你的应用ID):BEGIN APEX_UTIL.CLEAR_APP_CACHE(p_app_id => :APP_ID); APEX_DICTIONARY.CACHE_REFRESH; END; /执行完成后重新尝试创建表单。
排查并清理重复缓存条目(管理员操作)
首先查询重复记录:SELECT obj_type, obj_name, owner, COUNT(*) FROM APEX_230200.WWV_DICTIONARY_CACHE_OBJ GROUP BY obj_type, obj_name, owner HAVING COUNT(*) > 1;确认重复条目后,备份数据再删除重复行:
DELETE FROM APEX_230200.WWV_DICTIONARY_CACHE_OBJ WHERE ROWID NOT IN ( SELECT MIN(ROWID) FROM APEX_230200.WWV_DICTIONARY_CACHE_OBJ GROUP BY obj_type, obj_name, owner ); COMMIT;重启相关服务(终极方案)
若以上方法无效,联系DBA重启APEX服务或Oracle数据库实例,重置缓存状态。
内容的提问来源于stack exchange,提问作者Sudhanshu Vishwakarma
相关产品推荐
相关产品推荐

