④ 将替换过后的ddl拷贝到idea中的一个新控制台中运行创建表全选ddl , 然后点击左上角运行创建表 【 注:这里需先清空该库下所有表 , 因此步骤①要先备份一下从mysql迁移到oracle后的表数据 , 不要忘记哦!!】

文章插图
等待表全部创建成功 , 如下所示:

文章插图
⑤ 导入备份数据数据泵 -> 数据泵导入

文章插图

文章插图
【从 MySQL 迁移数据到 Oracle 中的全过程】

文章插图
⑥ 最后查看数据导入成功!

文章插图
这时候 , 数据有了 , 自增主键也有了 , 但是存在一个问题就是插入数据的时候主键自增ID都是从1开始自增 , 如果表中没有数据都还ok , 问题是如果表有数据 , 就会出现主键ID重复的问题!!!
2、解决自增主键ID无法从表数据ID最大值开始增值
思路:拼接出修改表自增ID从几开始的sql即可!
SELECT'SELECT ''ALTER TABLE SEWAGE_GY.' || t1.table_name || ' MODIFY(' || t1.Column_Name || ' Generated as Identity (START WITH '' || MAX( ' || t1.Column_Name || '+1 ) || ''));'' FROM ' || t1.table_name || ' UNION ALL' AS FINAL_SQLFROM cols t1LEFT JOIN user_col_comments t2 ON t1.Table_name = t2.Table_name AND t1.Column_Name = t2.Column_NameLEFT JOIN user_tab_comments t3 ON t1.Table_name = t3.Table_nameWHERENOT EXISTS (SELECT t4.Object_NameFROM User_objects t4WHEREt4.Object_Type = 'TABLE'AND t4.TEMPORARY = 'Y'AND t4.Object_Name = t1.Table_Name)AND t1.IDENTITY_COLUMN = 'YES'ORDER BY t1.Table_Name, t1.Column_ID命令解析:# 设置表主键ID从多少开始自增ex:下面标识从10000开始自增ALTER TABLE 数据库名.表名 MODIFY(主键ID Generated as Identity (START WITH 10000));# 查询该库下所有表名SELECT table_name FROM user_tables;# 查询出指定表的主键ID字段名SELECT t1.table_name,t1.Column_NameFROM cols t1LEFT JOIN user_col_comments t2 ON t1.Table_name = t2.Table_name AND t1.Column_Name = t2.Column_NameLEFT JOIN user_tab_comments t3 ON t1.Table_name = t3.Table_name WHERE NOT EXISTS (SELECT t4.Object_NameFROM User_objects t4WHERE t4.Object_Type = 'TABLE'AND t4.TEMPORARY = 'Y'AND t4.Object_Name = t1.Table_Name)AND t1.table_name = '表名'AND t1.IDENTITY_COLUMN = 'YES' ORDER BY t1.Table_Name, t1.Column_ID# 查询该库下所有表名+表主键字段名SELECT t1.table_name,t1.Column_NameFROM cols t1LEFT JOIN user_col_comments t2 ON t1.Table_name = t2.Table_name AND t1.Column_Name = t2.Column_NameLEFT JOIN user_tab_comments t3 ON t1.Table_name = t3.Table_name WHERE NOT EXISTS (SELECT t4.Object_NameFROM User_objects t4WHERE t4.Object_Type = 'TABLE'AND t4.TEMPORARY = 'Y'AND t4.Object_Name = t1.Table_Name)AND t1.IDENTITY_COLUMN = 'YES' ORDER BY t1.Table_Name, t1.Column_ID
文章插图
拷贝到新的控制台后注意删除最后一个 UNION ALL 再运行哦!!!

文章插图
最终完成自增主键ID从表数据最大值开始自增!

文章插图
3、程序中的sql语句转换这里结合个人语言实际操作...
推荐阅读
- 分布式系统之Redis主从架构
- 从头带你捋一遍 MySQL 索引结构
- MySQL读写分离?MySQL主从复制原理?如何解决主从同步延时?
- 小黄单车创始人 共享单车巨头
- 坐便器飞小虫子怎么处理,马桶飞虫从哪里出来的
- 梦见水从地下往上冒成了一个池塘 梦见水从地下往上冒,地裂缝
- 闻香识台茶
- 肖光亮,从门外汉到制茶能手
- 梦见车子从很高掉下去醒来心跳很快吓死了 梦见车子从很高掉下去,粉身碎骨
- 郑来荣,昔日庄稼汉 今朝茶老板
