原因:oracle数据导入后序列不一致
解决办法:从原库中导出一份最新的序列号,在目标库中导入
1.删除目标库该用户下的所有索引
sql
select 'DROP SEQUENCE ' ||sequence_name || ';' from dba_sequences where sequence_owner= 'xxxxx';
2.查询出所有序列,直接复制到txt文档中,保存后将txt后缀改为sql
然后在命令窗口执行该文档。
sql
SQL> @C:\a.sql
3.在原库查询导入语句
sql
select 'create sequence ' ||sequence_name||
' minvalue ' ||min_value||
' maxvalue ' ||max_value||
' start with ' ||last_number||
' increment by ' ||increment_by||
( case when cache_size= 0 then ' nocache' else ' cache ' ||cache_size end) || '; '
from dba_sequences where sequence_owner= 'xxxxx';
4.查询出所有序列,直接复制到txt文档中,保存后将txt后缀改为sql
然后在命令窗口执行该文档。
执行完毕目标库的序列号就和原库的一致了。