Oracle序列迁移重建

原因: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

然后在命令窗口执行该文档。

执行完毕目标库的序列号就和原库的一致了。

相关推荐
DBA小马哥10 分钟前
智能电网调度系统国产化:为什么总卡在数据库替换这一步?
数据库
JAVA学习通19 分钟前
InnoDB 存储引擎
java·数据库·mysql
oradh1 小时前
Oracle 11g单库环境PSU补丁安装
数据库·oracle
Java面试题总结1 小时前
PostgreSQL表名超长踩坑记
数据库·postgresql
泯仲1 小时前
从零起步学习MySQL 第三章:DML语句定义及常见用法示例
数据库·学习·mysql
難釋懷1 小时前
Redis主从-主从数据同步原理
前端·数据库·redis
霖霖总总2 小时前
[Redis小技巧7]Redis Bitmaps 深度解析:从原理到用户签到实战
数据库·redis·缓存
Keanu-2 小时前
Redis 安装与部署
数据库·redis
我爱小疯喵喵2 小时前
2 常用数据库命令行操作
数据库
七夜zippoe2 小时前
Docker容器化实战:核心概念、镜像制作与多阶段构建全解析
java·jvm·数据库·docker·oracle·容器化