PG数据库和Oracle数据迁移

前言

近期需要将PG数据库的数据迁移至Oracle数据库,并对数据进行一个验证,本文对整个过程中遇到的坑做一个总结。

聊聊过程中的坑

1、maven引入Oracle的驱动

<dependency>
   <groupId>com.oracle</groupId>
   <artifactId>ojdbc14</artifactId>
   <version>11.2.0</version>
</dependency>

但是因为Oracle的版权问题,如果单纯在pom文件中加入这个依赖,整个工程会报错。
【解决方案】: 1)、下载对应的ojdbc.jar,可以直接去Oracle官网下载,也可以从maven官网下载,或者从已经安装的Oracle产品目录里复制,一般在Oracle\app\oracle\product\11.2.0\server\jdbc\lib中能找到对应的jar包。
2)、然后执行如下命令安装到本地maven仓库就行,然后保持pom中的依赖就行。

mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc14 -Dversion=11.2.0 -Dpackaging=jar -Dfile=ojdbc6.jar

2、boolean类型
pg数据库中有boolean类型,但是Oracle中没有boolean类型,大多数0和1表示。

3、空串

空字符串:两个单引号,中间无空格等任何内容。
在postgresql中,空字符串与null是不同的;而oracle中,空字符串与null等同。所以在查询过程中,需要做判空处理。

4、JDBC连接PB数据库

Class.forName("org.postgresql.Driver");
DriverManager.getConnection("jdbc:postgresql://localhost:5432/dbname", "username", "password")

5、JDBC连接Oracle

Class.forName("oracle.jdbc.OracleDriver");
DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:dbname", "username", "password");

6、迁移验证点
数据库metadata表,字段、数据、数据库的参数配置、热点数据、是否分库分表、默认值的设置、存储过程、空间的增长、发布过程中监控及回滚方案等都需要注意。

发布了49 篇原创文章 · 获赞 15 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/weixin_43164644/article/details/86649210