Ubuntu上的PerlOra2PG
我刚刚在我的Ubuntu Jaunty Jackalope上试用了Ora2Pg 首先,安装很困难,但在这里和那里下载了一些deb和rpm之后,我终于通过synaptic安装了ora2pg 但是,当我尝试运行此命令时Ubuntu上的PerlOra2PG,perl,oracle,postgresql,ubuntu,Perl,Oracle,Postgresql,Ubuntu,我刚刚在我的Ubuntu Jaunty Jackalope上试用了Ora2Pg 首先,安装很困难,但在这里和那里下载了一些deb和rpm之后,我终于通过synaptic安装了ora2pg 但是,当我尝试运行此命令时 ora2pg/tmp/ora2pg.conf 我得到一份工作 安装_驱动程序(Oracle)失败:无法为模块DBD::Oracle:libclntsh.so.10.1加载“/usr/lib/perl5/auto/DBD/Oracle/Oracle.so”:无法打开共享对象文件:在/u
ora2pg/tmp/ora2pg.conf
我得到一份工作
安装_驱动程序(Oracle)失败:无法为模块DBD::Oracle:libclntsh.so.10.1加载“/usr/lib/perl5/auto/DBD/Oracle/Oracle.so”:无法打开共享对象文件:在/usr/lib/perl/5.10/DynaLoader.pm第196行没有这样的文件或目录
在(评估14)第3行
在(eval 14)第3行的require中编译失败
可能所需的共享库或dll没有安装在预期的位置
at/usr/share/perl5/Ora2Pg.pm第566行
有什么问题以及如何解决吗
注意:我不喜欢perl。正因为如此,我才开始浏览它。DBD::Oracle找不到Oracle客户端库,因为它们不在您的库路径中。如果您没有Oracle客户端库,也没有系统管理员为您提供这些库,那么您需要从Oracle网站获取“Oracle Instantclient”包并安装它。如果您已经安装了Instantclient,那么您需要将其
lib
目录(类似于/usr/lib/oracle/Instantclient/lib
或/opt/ora/instantclient10_1/lib
)添加到您的库路径中——或者通过向/etc/ld.so.conf
添加一行并以root身份运行ldconfig
,或者通过设置LD\u LIBRARY\u PATH
环境变量。这是正确的安装顺序: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软件包并安装后:
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
然后:export LD_LIBRARY_PATH=/usr/lib/oracle/12.1/client64/lib
oracle客户端安装的路径export ORACLE_HOME=/usr/lib/oracle/12.1/client64/
然后,我将介绍Oracle和Postgres的perl扩展
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
最后,安装
cd ora2pg-17.x
perl Makefile.PL
make && makeinstall
签入版本是否正确
ora2pg -v
最后在/etc/ora2pg/
在文件中插入连接到Oracle和Postgres的配置。预安装步骤:
ORACLE\u HOME
apt get install cpanminus
(对于ubuntu)yum安装cpanminus
(适用于Linux)
DBD::Oracle
和DBD::Pg
cpanm DBD::Oracle
cpanm DBD::Pg
tar -xvf ora2pg-18.0.tar
cd ora2pg-18.0/
perl Makefile.PL
su root
make
make install
默认情况下,Ora2Pg将查看
Ora2Pg.conf
配置文件到/etc/Ora2Pg/
目录中
ORACLE_HOME /app/oracle/product/11.2.0
ORACLE_DSN dbi:Oracle:host=[hostname];sid=[SID name]
ORACLE_USER [SYSTEM]
ORACLE_PWD [password]
USER_GRANTS 1
ora2pg SHOW_VERSION
ora2pg -c /etc/ora2pg/ora2pg.conf
ora2pg -c /etc/ora2pg/ora2pg.conf -p -P 10 -J 10 -L 1000000
ora2pg -c /etc/ora2pg/ora2pg.conf
ora2pg -c /etc/ora2pg/ora2pg.conf -p -P 10 -J 10 -L 1000000