ORA-00001: unique constraint (...) violated并不一定是数据冲突
来源:互联网 发布:苹果电脑 知乎 编辑:程序博客网 时间:2024/05/16 12:43
收到一位测试人员RAISE的JIRA,说在某张表上INSERT不了数据,报ORA-00001: unique constraint violated的错误,但是仔细核查了一下,并没有发现有重复的数据,让帮忙检查一下是什么问题。
仅仅看错误,应该是数据冲突引起的。但有一点比较奇怪的是错误中提示的违反的约束是一个索引,而这个索引并不是唯一索引!将这个索引DROP后,ORA-00001依然存在,但是这次换了一个索引!而这个索引依然不是唯一索引!再将这个索引DROP后再进行INSERT,问题的本质就暴露出来了:
ERROR at line 1:
ORA-00600: internal error code, arguments: [6002], [0], [227], [2], [0], [], [], []
600的错误,可能是表或表上的索引数据有坏块或者表或表的索引结构存在问题,尝试分析表及索引的结构:
SQL> ANALYZE TABLE #.# VALIDATE STRUCTURE CASCADE;
ANALYZE TABLE #.# VALIDATE STRUCTURE CASCADE
*
ERROR at line 1:
ORA-01499: table/index cross reference failure - see trace file
已经基本可以确定问题在表结构及其索引,尝试对表及相关索引进行重建:
SQL> alter TABLE #.# move;
Table altered.
SQL> alter index #.# REBUILD;
Index altered.
...
重建完表和索引后,终于正常INSERT了。
仅仅看错误,应该是数据冲突引起的。但有一点比较奇怪的是错误中提示的违反的约束是一个索引,而这个索引并不是唯一索引!将这个索引DROP后,ORA-00001依然存在,但是这次换了一个索引!而这个索引依然不是唯一索引!再将这个索引DROP后再进行INSERT,问题的本质就暴露出来了:
ERROR at line 1:
ORA-00600: internal error code, arguments: [6002], [0], [227], [2], [0], [], [], []
600的错误,可能是表或表上的索引数据有坏块或者表或表的索引结构存在问题,尝试分析表及索引的结构:
SQL> ANALYZE TABLE #.# VALIDATE STRUCTURE CASCADE;
ANALYZE TABLE #.# VALIDATE STRUCTURE CASCADE
*
ERROR at line 1:
ORA-01499: table/index cross reference failure - see trace file
已经基本可以确定问题在表结构及其索引,尝试对表及相关索引进行重建:
SQL> alter TABLE #.# move;
Table altered.
SQL> alter index #.# REBUILD;
Index altered.
...
重建完表和索引后,终于正常INSERT了。
0 0
- ORA-00001: unique constraint (...) violated并不一定是数据冲突
- ORA-00001: unique constraint (...) violated并不一定是数据冲突
- ORA-00001: unique constraint (...) violated并不一定是数据冲突
- ORA-00001: unique constraint violated并不一定是主键冲突
- ORA-00001: unique constraint (.......) violated
- ORA-00001 unique constraint (string.string) violated
- ORA-00001: unique constraint (XINNET20100422.PK_T_THEME_ORDER) violated
- ORA-00001: unique constraint (...) violated解决方案
- ORA-00001: unique constraint (CONTRACT_MGR.PK_T_SUPPLIER) violated
- Statspack ORA-00001 unique constraint violated错误的解决
- ORA-00001 unique constraint violated错误的解决
- ORA-00001 unique constraint violated错误的解决 (
- impdp ORA-00001: unique constraint (SYS.I_JOB_JOB) violated
- java.sql.BatchUpdateException: ORA-00001: unique constraint (IEVSP.PK_C_CSERVICES) violated
- ORA-00001: unique constraint pk_****_key violated oracle imp 语句导入数据对oracle的数据字段操作顺序
- ORA-00001 : Unique Constraint Violated Caused by DATE VS Timestamp(6)
- ALTER SEQUENCE 修改序列解决唯一约束冲突 unique constraint violated
- 向ArcSDE导入数据出现(ORA-00001: Unique contraint (SDE.GDB_OC_PKC) violated错误
- zoj1074
- 【Cocos2d-x 状态机篇】第0章--木头学状态,一副自恋的姿态~
- vitualbox上安装ubuntu——空间不足&安装程序内部崩溃
- POJ1122
- java不常用关键字
- ORA-00001: unique constraint (...) violated并不一定是数据冲突
- MFC Radio Button 使用 分组 RadioButton 用法
- 为啥不离线编程呢?
- 韩官方称沉船事故已有164人获救 293人仍失踪
- zoj1081
- 求a,b两个数中的大者(函数调用)
- 第六周作业1——利用哈夫曼编码英文字母表
- (九)-利用PullingRefreshTableView实现下拉刷新
- Keil MDK下学习STM32注意事项