当前位置: 首页 > news >正文

ORA-00001: unique constraint (...) violated并不一定是数据冲突

原文链接:http://blog.163.com/jet_it_life/blog/static/205097083201301410303931/


收到一位测试人员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了。

================================================================

关于ANALYZE的用法参考http://blog.sina.com.cn/s/blog_682841ba0101bncp.html

相关文章:

  • 关于touchTouch.jquery.js浏览图片重复的问题
  • Android中的内部类引起的内存泄露
  • XMemcached实例及与spring的集成
  • JAVA8
  • classpath对获取配置文件的影响
  • Delphi XE里面 SharedActivityContext 提示错误
  • Android 带你从源码的角度解析Scroller的滚动实现原理
  • ODI调用WebService----OdiInvokeWebService
  • OK335xS GPMC nand device register hacking
  • WebService的缓存机制
  • Linux压缩打包方法连载之三:bzip2, bzcat 命令
  • 用MonoDevelop开发Linux游戏
  • Android 服务类Service 的详细学习
  • Android获取返回键的点击事件
  • 赢得Docker挑战最佳实践
  • 深入了解以太坊
  • 实现windows 窗体的自己画,网上摘抄的,学习了
  • 《微软的软件测试之道》成书始末、出版宣告、补充致谢名单及相关信息
  • codis proxy处理流程
  • ECMAScript 6 学习之路 ( 四 ) String 字符串扩展
  • Facebook AccountKit 接入的坑点
  • JavaScript HTML DOM
  • Javascript Math对象和Date对象常用方法详解
  • js递归,无限分级树形折叠菜单
  • learning koa2.x
  • LeetCode29.两数相除 JavaScript
  • Mysql优化
  • Python连接Oracle
  • webpack项目中使用grunt监听文件变动自动打包编译
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 微服务框架lagom
  • 用 Swift 编写面向协议的视图
  • 在weex里面使用chart图表
  • Mac 上flink的安装与启动
  • ​​​​​​​​​​​​​​汽车网络信息安全分析方法论
  • ​​​​​​​Installing ROS on the Raspberry Pi
  • ​LeetCode解法汇总2583. 二叉树中的第 K 大层和
  • ​低代码平台的核心价值与优势
  • (1)(1.11) SiK Radio v2(一)
  • (1)bark-ml
  • (2022版)一套教程搞定k8s安装到实战 | RBAC
  • (AtCoder Beginner Contest 340) -- F - S = 1 -- 题解
  • (附源码)springboot人体健康检测微信小程序 毕业设计 012142
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (新)网络工程师考点串讲与真题详解
  • (转)3D模板阴影原理
  • .NET Core SkiaSharp 替代 System.Drawing.Common 的一些用法
  • .NET DataGridView数据绑定说明
  • .NET6实现破解Modbus poll点表配置文件
  • .Net6支持的操作系统版本(.net8已来,你还在用.netframework4.5吗)
  • .net开发引用程序集提示没有强名称的解决办法
  • .NET微信公众号开发-2.0创建自定义菜单
  • 。Net下Windows服务程序开发疑惑
  • @Bean, @Component, @Configuration简析