千家信息网

Linux下安装DBD::Oracle、DBI和Ora2Pg

发表于:2024-10-05 作者:千家信息网编辑
千家信息网最后更新 2024年10月05日,介质下载路径:DBI:http://www.cpan.org/modules/by-module/DBI/DBD:http://www.cpan.org/modules/by-module/DBD/O
千家信息网最后更新 2024年10月05日Linux下安装DBD::Oracle、DBI和Ora2Pg

介质下载路径:

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

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

Ora2Pg:https://sourceforge.net/projects/ora2pg/files/

要求:perl 版本5.8以上, perl -v查看版本

使用root用户进行安装

1、安装DBI

[root@rhel6 DBI-1.627]$ perl Makefile.PL


*** Your LANG environment variable is set to 'en_US.UTF-8'

*** This may cause problems for some perl installations.

*** If you get test failures, please try again with LANG unset.

*** If that then works, please email dbi-dev@perl.org with details

*** including the output of 'perl -V'


Your perl was compiled with gcc (version 4.4.7 20120313 (Red Hat 4.4.7-14)), okay.

Creating test wrappers for DBD::Gofer:

t/zvg_01basics.t

t/zvg_02dbidrv.t

t/zvg_03handle.t

t/zvg_04mods.t

t/zvg_05concathash.t

t/zvg_06attrs.t

......

[root@rhel6 DBI-1.627]$ make

/usr/bin/perl -MExtUtils::Command -e 'mkpath' -- blib/lib/DBI

rm -f blib/lib/DBI/Changes.pm

cp Changes blib/lib/DBI/Changes.pm

cp Driver_xst.h blib/arch/auto/DBI/Driver_xst.h

cp lib/DBD/Proxy.pm blib/lib/DBD/Proxy.pm

cp lib/DBI/Gofer/Response.pm blib/lib/DBI/Gofer/Response.pm

cp lib/DBI/Util/_accessor.pm blib/lib/DBI/Util/_accessor.pm

cp lib/DBI/Gofer/Transport/Base.pm blib/lib/DBI/Gofer/Transport/Base.pm

cp lib/DBD/DBM.pm blib/lib/DBD/DBM.pm

cp DBIXS.h blib/arch/auto/DBI/DBIXS.h

cp dbixs_rev.pl blib/lib/dbixs_rev.pl

cp lib/DBI/Gofer/Serializer/DataDumper.pm blib/lib/DBI/Gofer/Serializer/DataDumper.pm

cp lib/DBI/Const/GetInfoType.pm blib/lib/DBI/Const/GetInfoType.pm

cp lib/DBI/DBD/Metadata.pm blib/lib/DBI/DBD/Metadata.pm

cp lib/DBD/Gofer/Transport/pipeone.pm blib/lib/DBD/Gofer/Transport/pipeone.pm

cp lib/DBI/Const/GetInfo/ODBC.pm blib/lib/DBI/Const/GetInfo/ODBC.pm

cp lib/DBI/ProfileDumper/Apache.pm blib/lib/DBI/ProfileDumper/Apache.pm

cp lib/DBD/File/Roadmap.pod blib/lib/DBD/File/Roadmap.pod

......

[oracle@rhel6 DBI-1.627]$ make test(可选)

PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t

t/01basics.t .................... ok

t/02dbidrv.t .................... ok

t/03handle.t .................... ok

t/04mods.t ...................... ok

t/05concathash.t ................ ok

t/06attrs.t ..................... ok

t/07kids.t ...................... ok

[root@rhel6 DBI-1.627]# make install

Files found in blib/arch: installing files in blib/lib into architecture dependent library tree

Installing /usr/local/lib64/perl5/auto/DBI/DBI.bs

Installing /usr/local/lib64/perl5/auto/DBI/dbixs_rev.h

Installing /usr/local/lib64/perl5/auto/DBI/dbivport.h

Installing /usr/local/lib64/perl5/auto/DBI/DBIXS.h

Installing /usr/local/lib64/perl5/auto/DBI/DBI.so

Installing /usr/local/lib64/perl5/auto/DBI/dbipport.h

Installing /usr/local/lib64/perl5/auto/DBI/dbi_sql.h

Installing /usr/local/lib64/perl5/auto/DBI/dbd_xsh.h

Installing /usr/local/lib64/perl5/auto/DBI/Driver_xst.h

Installing /usr/local/lib64/perl5/auto/DBI/Driver.xst

Installing /usr/local/lib64/perl5/dbixs_rev.pl

......

2、安装DBD:Oracle

配置环境变量

export ORACLE_BASE=/u02/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.4/db1

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH

安装

[root@rhel6 DBD-Oracle-1.74]# perl Makefile.PL

Multiple copies of Driver.xst found in: /usr/local/lib64/perl5/auto/DBI/ /usr/lib64/perl5/auto/DBI/ at Makefile.PL line 39

Using DBI 1.627 (for perl 5.010001 on x86_64-linux-thread-multi) installed in /usr/local/lib64/perl5/auto/DBI/


Configuring DBD::Oracle for perl 5.010001 on linux (x86_64-linux-thread-multi)


Remember to actually *READ* the README file! Especially if you have any problems.


Installing on a linux, Ver#2.6

Using Oracle in /u02/app/oracle/product/11.2.4/db1

DEFINE _SQLPLUS_RELEASE = "1102000400" (CHAR)

Oracle version 11.2.0.4 (11.2)

Found /u02/app/oracle/product/11.2.4/db1/rdbms/lib/ins_rdbms.mk

Using /u02/app/oracle/product/11.2.4/db1/rdbms/lib/ins_rdbms.mk

Your LD_LIBRARY_PATH env var is set to '/u02/app/oracle/product/11.2.4/db1/lib:'

......

[root@rhel6 DBD-Oracle-1.74]# make

cp lib/DBD/Oracle/Troubleshooting/Cygwin.pod blib/lib/DBD/Oracle/Troubleshooting/Cygwin.pod

cp lib/DBD/Oracle.pm blib/lib/DBD/Oracle.pm

cp Oracle.h blib/arch/auto/DBD/Oracle/Oracle.h

cp lib/DBD/Oracle/Troubleshooting/Hpux.pod blib/lib/DBD/Oracle/Troubleshooting/Hpux.pod

cp lib/DBD/Oracle/Troubleshooting/Vms.pod blib/lib/DBD/Oracle/Troubleshooting/Vms.pod

cp lib/DBD/Oracle/Troubleshooting/Linux.pod blib/lib/DBD/Oracle/Troubleshooting/Linux.pod

cp lib/DBD/Oracle/GetInfo.pm blib/lib/DBD/Oracle/GetInfo.pm

cp lib/DBD/Oracle/Troubleshooting.pod blib/lib/DBD/Oracle/Troubleshooting.pod

cp dbdimp.h blib/arch/auto/DBD/Oracle/dbdimp.h

cp ocitrace.h blib/arch/auto/DBD/Oracle/ocitrace.h

cp lib/DBD/Oracle/Troubleshooting/Sun.pod blib/lib/DBD/Oracle/Troubleshooting/Sun.pod

cp lib/DBD/Oracle/Troubleshooting/Macos.pod blib/lib/DBD/Oracle/Troubleshooting/Macos.pod

cp lib/DBD/Oracle/Troubleshooting/Aix.pod blib/lib/DBD/Oracle/Troubleshooting/Aix.pod

cp lib/DBD/Oracle/Object.pm blib/lib/DBD/Oracle/Object.pm

cp lib/DBD/Oracle/Troubleshooting/Win64.pod blib/lib/DBD/Oracle/Troubleshooting/Win64.pod

cp lib/DBD/Oracle/Troubleshooting/Win32.pod blib/lib/DBD/Oracle/Troubleshooting/Win32.pod

cp mk.pm blib/arch/auto/DBD/Oracle/mk.pm

......

[root@rhel6 DBD-Oracle-1.74]# make test(可选)

PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t

t/000-report-versions-tiny.t .. #

#

# Generated by Dist::Zilla::Plugin::ReportVersions::Tiny v1.10

# perl: 5.010001 (wanted 5.006) on linux from /usr/bin/perl

#

# B => 1.22 (want any version)

# Carp => 1.11 (want any version)

# DBI => 1.627 (want 1.51)

......

[root@rhel6 DBD-Oracle-1.74]# make install

Files found in blib/arch: installing files in blib/lib into architecture dependent library tree

Installing /usr/local/lib64/perl5/auto/DBD/Oracle/Oracle.h

Installing /usr/local/lib64/perl5/auto/DBD/Oracle/dbdimp.h

Installing /usr/local/lib64/perl5/auto/DBD/Oracle/Oracle.bs

Installing /usr/local/lib64/perl5/auto/DBD/Oracle/mk.pm

Installing /usr/local/lib64/perl5/auto/DBD/Oracle/Oracle.so

Installing /usr/local/lib64/perl5/auto/DBD/Oracle/ocitrace.h

Installing /usr/local/lib64/perl5/DBD/Oracle.pm

Installing /usr/local/lib64/perl5/DBD/Oracle/GetInfo.pm

Installing /usr/local/lib64/perl5/DBD/Oracle/Object.pm

Installing /usr/local/lib64/perl5/DBD/Oracle/Troubleshooting.pod

Installing /usr/local/lib64/perl5/DBD/Oracle/Troubleshooting/Win64.pod

Installing /usr/local/lib64/perl5/DBD/Oracle/Troubleshooting/Sun.pod

Installing /usr/local/lib64/perl5/DBD/Oracle/Troubleshooting/Win32.pod

Installing /usr/local/lib64/perl5/DBD/Oracle/Troubleshooting/Hpux.pod

......

3、检查脚本list.pl

[root@rhel6 ~]# cat list.pl #!/usr/bin/perluse strict;use ExtUtils::Installed;my $inst= ExtUtils::Installed->new();my @modules = $inst->modules();foreach(@modules){        my $ver = $inst->version($_) || "???";        printf("%-12s --  %s\n", $_, $ver);  }exit;[root@rhel6 ~]# perl list.pl DBD::Oracle  --  1.74DBI          --  1.627Perl         --  5.10.1

DBD::Oracle和DBI安装完成

4、安装ora2pt

[root@rhel6 ora2pg-17.6]$ perl Makefile.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@rhel6 ora2pg-17.6]# make && make install

Installing /usr/local/share/perl5/Ora2Pg.pm

Installing /usr/local/share/perl5/Ora2Pg/PLSQL.pm

Installing /usr/local/share/perl5/Ora2Pg/MySQL.pm

Installing /usr/local/share/perl5/Ora2Pg/GEOM.pm

Installing /usr/local/share/man/man3/ora2pg.3

Installing /usr/local/bin/ora2pg

Installing /usr/local/bin/ora2pg_scanner

Installing default configuration file (ora2pg.conf.dist) to /etc/ora2pg

Appending installation info to /usr/lib64/perl5/perllocal.pod

检查,DBD::Oracle DBI Ora2Pg安装完成

[root@rhel6 ~]# perl list.pl

DBD::Oracle -- 1.74

DBI -- 1.627

Ora2Pg -- 17.6b

Perl -- 5.10.1

使用Ora2Pg从Oracle导数据到PostgreSQL参考:http://hbxztc.blog.51cto.com/1587495/1880339

参考文档:

http://www.askoracle.org/oracle/backup/1009.html

http://blog.sina.com.cn/s/blog_a32eff280102vmpn.html


0