ora2pg需要用到DBD::Oracle的perl模塊連接oracle數據庫,所以需要安裝DBD-Oracle-1.74.tar.gz,
服務器環境:redhat 6.6 64位
遠程oracle數據庫:oracle10g
本地服務器未安裝oracle數據庫,所以需要安裝下oracle客戶端,oracle網站下載客戶端工具,由於我用的是redhat,所以可以直接下載rpm二進制安裝包。
下載下面三個安裝包:
oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm
oracle-instantclient11.2-devel-11.2.0.3.0-1.x86_64.rpm
oracle-instantclient11.2-sqlplus-11.2.0.3.0-1.x86_64.rpm
爲什麼要下載11.2.0.3這個版本的客戶端工具,因爲開始的時候安裝的是10.2.0.4這個版本,所有設置都沒有發現問題,但是DBD::Oracle就是裝不上,test過不去,總是報無法打開共享庫文件的錯誤。後來換了11.0.2.3這個版本,很順利就裝上了。很納悶。
首先按順序安裝剛纔下載的三個二進制安裝包:
rpm -ivh oracle-instantclient11.2-sqlplus-11.2.0.3.0-1.x86_64.rpm
rpm -ivh oracle-instantclient11.2-sqlplus-11.2.0.3.0-1.x86_64.rpm
rpm -ivh oracle-instantclient11.2-sqlplus-11.2.0.3.0-1.x86_64.rpm
安裝好後oracle根目錄默認在/usr/lib/oracle/11.2/client64
所以設置環境變量:
vi /etc/profile
添加下面的環境變量:
export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib
export ORACLE_HOME=/usr/lib/oracle/11.2/client64
保存退出,source /etc/profile 使環境變量立即生效。
添加oracle監聽:
在/usr/lib/oracle/11.2/client64目錄下創建network,在network目錄下創建admin目錄,然後創建tnsnames.ora配置文件,添加數據庫連接串
如下:
db=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.6.83)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = dbnms)
)
)
保存退出。
添加sqlplus的軟連接:ln -s /usr/lib/oracle/11.2/client64/bin/sqlplus /usr/bin/sqlplus
測試連接:
sqlplus 用戶/密碼@db
SQL*Plus: Release 11.2.0.3.0 Production on Thu May 14 18:53:24 2015
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Error accessing PRODUCT_USER_PROFILE
Warning: Product user profile information not loaded!
You may need to run PUPBLD.SQL as SYSTEM
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
SQL>
連接成功。
安裝DBD::Oracle
http://search.cpan.org/下載DBD-Oracle-1.74.tar.gz
解壓
tar -vxf DBD-Oracle-1.74.tar.gz
進入解壓好的目錄:
perl Makefile.PL
make
make test
make install
注意:perl Makefile.PL的時候可能會有告警提示,影響不大。