首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ubuntu上的Perl Ora2Pg

Ubuntu上的Perl Ora2Pg
EN

Stack Overflow用户
提问于 2009-09-12 08:56:20
回答 3查看 3.4K关注 0票数 1

我刚刚在我的上试用了Ora2Pg。

首先,安装是很困难的,但是在下载了这里和那里的一些debs和rpms之后,我终于通过synaptic安装了ora2pg。

但是,当我尝试运行此命令时

ora2pg /tmp/ora2pg.conf

我得到了一个

install_driver(Oracle)失败:无法加载模块DBD的/usr/lib/perl 5/auto/oracle.so:Oracle: libclntsh.so.10.1:无法打开共享对象文件:在/usr/lib/perl/5.10/DynaLoader.pm第196行没有这样的文件或目录。

在(eval 14)行3

在第3行的要求中编译失败。

可能没有按预期安装所需的共享库或dll

在/usr/share/perl5 5/Ora2Pg.pm第566行

有什么不对的地方,怎么解决?

注意:我不使用perl。我就是因为这个才开始浏览的。

EN

回答 3

Stack Overflow用户

发布于 2016-11-08 11:28:22

这是正确的安装顺序:

代码语言:javascript
复制
apt-get install libdbi-perl
apt-get install alien dpkg-dev debhelper build-essential
apt-get install libaio1
apt-get install make
apt-get install alien
apt-get install rpm
apt-get install libpq-dev

下载DBD-Oracle-1.74或最后版本

下载DBD-Pg-3.5.3或最后版本

下载DBI-1.636或最后版本

下载ora2pg-17.5或最后版本

下载oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64.rpm

下载oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm

下载oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm

提取rpm包并安装后:

代码语言:javascript
复制
alien oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm
alien oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64.rpm 
alien oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm
dpkg -i oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.deb
dpkg -i oracle-instantclient12.1-devel_12.1.0.2.0-2_amd64.deb
dpkg -i oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.deb

然后:

代码语言:javascript
复制
export LD_LIBRARY_PATH=/usr/lib/oracle/12.1/client64/lib 

oracle客户端安装的路径

代码语言:javascript
复制
export ORACLE_HOME=/usr/lib/oracle/12.1/client64/

然后,将所有用于Oracle和Postgres的perl扩展

代码语言:javascript
复制
cd  DBI-1.636
perl Makefile.PL
make && makeinstall

cd DBD-Oracle-1.74 o DBD-Oracle-1.64
perl Makefile.PL
make && makeinstall

cd DBD-Pg-3.5.3
perl Makefile.PL
make && makeinstall

最后,安装

代码语言:javascript
复制
cd ora2pg-17.x
perl Makefile.PL
make && makeinstall

签入版本是正确的

代码语言:javascript
复制
ora2pg -v

最后在/etc/ora2pg/上配置/etc/ora2pg/

插入文件,连接到Oracle和Postgres的配置。

票数 2
EN

Stack Overflow用户

发布于 2009-09-13 02:08:03

DBD::Oracle找不到Oracle库,因为它们不在库路径中。如果您没有Oracle客户端库,也没有系统管理员为您提供这些库,那么您需要从oracle网站获取"Oracle Instantclient“包并安装它。如果您已经安装了Instantclient,那么您需要将其lib目录(类似于/usr/lib/oracle/instantclient/lib/opt/ora/instantclient10_1/lib)添加到库路径中--通过向/etc/ld.so.conf添加一行并以根用户身份运行ldconfig,或者设置LD_LIBRARY_PATH环境变量。

票数 1
EN

Stack Overflow用户

发布于 2019-07-19 10:55:11

安装前步骤:

必须安装

  1. ORACLE客户端并设置ORACLE_HOME
  2. installed (Version5.6及以上版本)

安装步骤:

  1. 安装DBI (数据库接口模块)

apt-get install cpanminus (用于ubuntu)

yum install cpanminus (用于Linux)

cpanm DBI

  1. 安装DBD::OracleDBD::Pg

cpanm::Oracle::Pg

  1. http://sourceforge.net/projects/ora2pg/下载最新版本的ora2pg并运行以下命令:

tar -xvf ora2pg-18.0 tar cd ora2pg-18.0/ perl Makefile.PL su root make make

  1. 按req执行更改

默认情况下,Ora2Pg会将ora2pg.conf配置文件放到/etc/ora2pg/目录中。

ORACLE_HOME /app/甲骨文/产品/11.2.0 ORACLE_DSN dbi:Oracle:host=hostname;sid=SID name ORACLE_USER SYSTEM ORACLE_PWD密码USER_GRANTS 1

  1. 检查pra2pg的版本:

ora2pg SHOW_VERSION

  1. 运行以下命令

ora2pg -c /etc/ ora2pg /ora2pg.conf ora2pg -c /etc/ora2pg/ora2pg.conf -p -P 10 -J 10 -L 1000000

  1. .sql文件将创建在当前目录中已将数据转换为PostgreSql

希望这能成功。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1414679

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档