Oracle12C #8 使用 Ora2Pg 工具迁移数据到 PostgreSQL

一、迁移环境

Linux 服务器,Oracle 12C 数据库 以及 PostgreSQL 数据库

二、安装 Ora2Pg 工具

1、安装依赖包
yum install perl-DBI perl-DBD-Pg perl-ExtUtils-MakeMaker gcc
wget http://search.cpan.org/CPAN/authors/id/P/PY/PYTHIAN/DBD-Oracle-1.74.tar.gz
tar -zxvf DBD-Oracle-1.74.tar.gz
cd DBD-Oracle-1.74
source /home/oracle/.bash_profile
perl Makefile.PL -l
make
make install  
2、安装 Ora2Pg 包

下载地址: https://sourceforge.net/projects/ora2pg/files/?source=navbar

下载完毕后将包上传到 Linux 根目录,执行如下步骤命令:

tar -jxvf ora2pg-18.2.tar.bz2
cd ora2pg-18.2
perl Makefile.PL
make
make install

Ora2Pg 默认安装位置为: /usr/local/bin/ 。

3、修改 conf 配置

Ora2Pg 的 conf 文件 ( ora2pg.conf.dist ) 默认位置为:/etc/ora2pg/ 。

主要修改以下几个参数内容就行:

ORACLE_DSN     dbi:Oracle:host=192.168.23.116;service_name=ORCLPDB;port=1521
//这里也可以根据SID来配置
ORACLE_DSN     dbi:Oracle:host=192.168.23.116;SID=ORCL;port=1521
//用户名
ORACLE_USER     hkswing
//密码
ORACLE_PWD     hkswing
//模式,一般与用户名相同
SCHEMA         hkswing
4、测试数据库连接

Ora2Pg 安装配置好了之后,可以使用如下方式测试数据库是否可以正常连接:

ora2pg -t SHOW_VERSION -c ora2pg.conf.dist
//以下结果说明可以正常连接数据库
[root@localhost ora2pg]# ora2pg -t SHOW_VERSION -c ora2pg.conf.dist
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0
5、导出 Oracle 数据库

执行如下命令导出数据库,导出速度取决于数据量,刚开始可能比较慢,耐心等待进度条出现直至完成:

ora2pg -c ora2pg.conf.dist
//导出完成时显示如下
[root@localhost ora2pg]# ora2pg -c ora2pg.conf.dist 
[========================>] 305/305 tables (100.0%) end of scanning.                        
Retrieving table partitioning information...
[========================>] 305/305 tables (100.0%) end of table export.

导出结果默认位置为当前位置,如果是在 conf 路径下执行的导出命令,那么结果位于路径: cd /etc/ora2pg/ 下。

6、导入 PostgreSQL 数据库

因为导出的结果是 sql 文件,所以导入时可以去 PostgreSQL 数据库下使用 \i 命令执行导入,亦或者借助工具执行 sql 文件导入也行。

Ora2Pg 迁移后的数据并不 100% 没有问题,小细节处还需人为干预处理。

本文参考内容如下,侵删:

参考文献:https://www.cnblogs.com/alighie/p/7834136.html

你可能感兴趣的:(#,Oracle,#,PostgreSQL,oracle)