下面是具体步骤。
首先确定版本。因为我们的Oracle数据是在是有点老,所以我选择了一个比较老的版本--Oracle Instant Client 10.2.0.4.一般从官方网站下载就可以了。下载地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html.这里要严重BS
Oracle,居然要先注册才能下载,这也算了,关键是注册的时候,密码居然要求有数字有字母,字母还要有大小写,还必须至少8位。逼迫我搞了一个比我银行密码还要安全的密码(好吧,现在我已经忘记我填了什么了)。下载的时候要特别注意,一定要下载rpm包,zip不知道是什么。下basic就可以了。
<a href="mailto:forrest@<a class=" channel_keylink"="" target="_blank" style="margin: 0px; padding: 0px; word-wrap: break-word; font-size: 14px; font-family: 宋体; text-decoration:
none; color: rgb(51, 51, 51); line-height: 25px; text-align: left; ">Ubuntu:~/Sources$">forrest@Ubuntu:~/Sources$
wget <a href="http://download.oracle.com/otn/%3Ca%20class=" channel_keylink"="" target="_blank" style="margin: 0px; padding: 0px; word-wrap: break-word; font-size: 14px; font-family: 宋体; text-decoration: none; color: rgb(51, 51, 51); line-height: 25px;
text-align: left; ">linux/instantclient/10204/oracle-instantclient-basic-10.2.0.4-1.x86_64.rpm">http://download.oracle.com/otn/linux/instantclient/10204/oracle-instantclient-basic-10.2.0.4-1.x86_64.rpm
由于是rpm包,在Ubuntu下先将其转成deb包:
forrest@Ubuntu:~/Sources$ sudo
alien oracle-instantclient-basic-10.2.0.4-1.x86_64.rpm
得到oracle-instantclient-basic_10.2.0.4-2_amd64.deb.
可以安装了,
forrest@Ubuntu:~/Sources$ sudo
dpkg -i oracle-instantclient-basic_10.2.0.4-2_amd64.deb
这样会安装在默认的目录下--/usr/lib/oracle/10.2.0.4/client64/
forrest@Ubuntu:/usr/lib/oracle/10.2.0.4/client64$ ls
bin lib
安装完成之后,还需要暴露一些环境变量,否则会报错:
* import cx_Oracle gave ImportError: libclntsh.so.10.1: cannot open shared object file: No such file or directory until I set LD_LIBRARY_PATH=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib/
* conn = cx_Oracle.Connection('scott/tiger@xe')
gave RuntimeError: Unable to acquire Oracle environment handle until I set ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
forrest@Ubuntu:~/Sources$ sudo
vim ~/.profile
在最后添加如下语句:
export ORACLE_HOME=/usr/lib/oracle/10.2.0.4/client64
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
export TNS_ADMIN=$ORACLE_HOME/network/admin
注意到TNS_ADMIN所在目录其实并不存在,是要自己创建的(这个也很恶心,我一开始以为还要安装什么东东)
$ sudo mkdir -p $ORACLE_HOME/network/admin
$ sudo cp tnsnames.ora $ORACLE_HOME/network/admin
如果你有安装sqlplus,此时就可以用它来测试安装是否正确了:
$ sqlplus 'username/password@SID'