1、Requirement

[root@centos1~]#perl-vThisisperl5,version16,subversion3(v5.16.3)builtforx86_64-linux-thread-multi(with38registeredpatches,seeperl-Vformoredetail)[root@centos1~]#gcc-vUsingbuilt-inspecs.COLLECT_GCC=gccCOLLECT_LTO_WRAPPER=/usr/local/gcc-9.2.0/libexec/gcc/x86_64-pc-linux-gnu/9.2.0/lto-wrapperTarget:x86_64-pc-linux-gnugccversion9.2.0(GCC)[root@centos1~]#yuminstallperl-DBIperl-DBD-Pgperl-ExtUtils-MakeMakerperl-Time-HiRes

2、 安装Oracle客户端或者服务端(这里是已经安装了oracle11g服务端)

参考 http://www.cnblogs.com/zydev/p/7213845.html

配置root用户下 Oracle环境变量,因为准备将ora2pg在root下执行

[root@centos1~]#echo$ORACLE_HOME/u01/app/oracle/product/11.2.0/dbhome_1[root@centos1~]#echo$LD_LIBRARY_PATH/u01/app/oracle/product/11.2.0/dbhome_1/lib:/lib:/usr/lib[root@centos1DBD-Oracle-1.80]#echo$ORACLE_BASE/u01/app/oracle

3 、安装DBI,DBD::Oracle
DBI只是个抽象层,要实现支持不同的数据库,则需要在DBI之下,编写针对不同数据库的驱动。对MySql来说,有DBD::Mysql, 而对ORACLE来说,则是DBD::Oracle。其中的DBD这是DataBase Driver的简写。安装顺序是先装DBI,再装DBD::Oracle
介质下载路径:

DBI:http://www.cpan.org/modules/by-module/DBI/

DBD:http://www.cpan.org/modules/by-module/DBD/

安装DBI

[root@centos1opt]#tar-zxvfDBI-1.642.tar.gz[root@centos1opt]#cdDBI-1.642/[root@centos1DBI-1.642]#perlMakefile.PLIseeyou'reusingperl5.016003onx86_64-linux-thread-multi,okay.Remembertoactually*read*theREADMEfile!Use'make'tobuildthesoftware(dmakeornmakeonWindows).Then'maketest'toexecuteselftests.Then'makeinstall'toinstalltheDBIandthendeletethisworkingdirectorybeforeunpackingandbuildinganyDBD::*drivers.WritingMakefileforDBI[root@centos1DBI-1.642]#make[root@centos1DBI-1.642]#makeinstall

安装DBD:Oracle

[root@centos1opt]#tarzxvfDBD-Oracle-1.80.tar.gz[root@centos1DBD-Oracle-1.80]#perlMakefile.PLCheckingifyourkitiscomplete...LooksgoodLD_RUN_PATH=/u01/app/oracle/product/11.2.0/dbhome_1/libUsingDBD::Oracle1.80.UsingDBD::Oracle1.80.MultiplecopiesofDriver.xstfoundin:/usr/local/lib64/perl5/auto/DBI//usr/lib64/perl5/vendor_perl/auto/DBI/atMakefile.PLline1807.UsingDBI1.642(forperl5.016003onx86_64-linux-thread-multi)installedin/usr/local/lib64/perl5/auto/DBI/WritingMakefileforDBD::Oracle[root@centos1DBD-Oracle-1.80]#make[root@centos1DBD-Oracle-1.80]#makeinstall


检查安装

[root@centos1opt]#vilist.pl#!/usr/bin/perlusestrict;useExtUtils::Installed;my$inst=ExtUtils::Installed->new();my@modules=$inst->modules();foreach(@modules){my$ver=$inst->version($_)||"???";printf("%-12s--%s\n",$_,$ver);}exit;[root@centos1opt]#perllist.plDBD::Oracle--1.80DBI--1.642Perl--5.16.3

4、安装ora2pg

https://github.com/darold/ora2pg/releases

[root@centos1opt]#tar-zxvfora2pg-20.0.tar.gz[root@centos1opt]#cdora2pg-20.0/[root@centos1ora2pg-20.0]#perlMakefile.PL


Checking if your kit is complete...
Looks good
Writing Makefile for Ora2Pg

Done...
------------------------------------------------------------------------------
Please read documentation at http://ora2pg.darold.net/ before asking for help
------------------------------------------------------------------------------
Now type: make && make install

[root@centos1ora2pg-20.0]#make&&makeinstall[root@centos1ora2pg-20.0]#whereisora2pgora2pg:/etc/ora2pg/usr/local/bin/ora2pg

[root@centos1opt]#perllist.plDBD::Oracle--1.80DBI--1.642Ora2Pg--20.0Perl--5.16.3

环境变量

[root@centos1opt]#exportPERL5LIB=/usr/local/bin/[root@centos1opt]#source/etc/profile

安装完成,接下来测试从oracle到postgres的数据迁移 查看ora2pg的使用(二、ora2pg的配置及oracle向postgres数据迁移)