从生产上备份的Oracle数据库导入到测试环境中突然报违反唯一约束的错误解释

         最新生产上的项目审批时报了一个错,我们把数据库的备份拿下来之后,发现提流程时一直再报相关表的”违反唯一约束条件“的错误,查原因查了半天,才找到原因觉得有必要记录一下。

        问题的主要原因还是Oracle数据库中相关表使用的sequence生成的主键值与表中已有的主键值有冲突,导致该问题的原因呢,原来是和数据库的备份有关。数据库在备份时是先备份的数据库中的序列,然后才备份的数据库表,我们在备份数据库时,应该是有用户仍在使用应用,导致备份出的序列的值可能小于表中主键的最大值,因此,备份下来后再使用时,就会导致违反唯一约束的问题。

猜你喜欢

转载自blog.csdn.net/xiongmaodeguju/article/details/61920113