因为数据库换服务器,所以把所有的相关对象都移植到新的服务器上,自然,序列也要移植过去,我想问下,序列移植过去的话,这个序列应该从哪个数字开始呢?难不成从最小的一个数字开始?如果这样的话,会不会出现主键冲突?
比方说,序列SEQ_META_LOG 移植到新的数据库服务器上,但是,其相关的表 t_meta_log也移植过来,而且数据也有了,但是该表的主键的最大值是10000,如果,序列SEQ_META_LOG 从最小的开始,比方说从100开始计数,那将来肯定会有主键冲突吧
请求解决办法

解决方案 »

  1.   

    创建序列的时候可以指定最小值
    例如
    create sequence seq minvalue 10000;
      

  2.   

    个人认为序列不会重置的,本身序列有last_number存在数据字典中的
      

  3.   

    实在不放心,写个过程,批量去将seq进行提位--1、获得原有表最大主键的取值
    --2、获得迁移过来序列的NEXTVAL
    --3、取最大取值 与 NEXTVAL的差
    --4、如果差>0则,循环取差值+1000次NEXTVAL的值.