绿色资源网:您身边最放心的安全下载站! 最新软件|热门排行|软件分类|软件专题|论坛转帖|厂商大全

绿色资源网

技术教程
您的位置:首页数据库类Oracle → Ubuntu下安装Oracle Instant Client步骤

Ubuntu下安装Oracle Instant Client步骤

我要评论 2011/03/22 13:07:39 来源:绿色资源网 编辑:绿色资源站 [ ] 评论:0 点击:435次

最近需要写一个数据迁移脚本,将单一Oracle中的数据迁移到MySQL Sharding集群,刚好最近在学习python,就用它来练手。

很快搞定了MySQL,只需要安装一个MySQLdb的python模块就可以了。但是对于Oracle客户端,不只需要安装相应的python模块(这里我用了Oracle官方的python模块——cx_Oracle),还需要安装Oracle Client,一般选择Instant Client就足够了,还需要配置tnsnames.ora(当然也可以简单的通过host:port/schema访问)。

下面是具体步骤。

首先确定版本。因为我们的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就可以了。

forrest@Ubuntu:~/Sources$ wget 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'

不过linux下的sqlplus太烂,我没打算安装,所以留着吧,接下去安装python模块——cx_Oracle——参考Install cx_Oracle in Ubuntu(http://leojay.blog.163.com/blog/static/1739841912009101165546640/)

关键词:Ubuntu,Oracle

阅读本文后您有什么感想? 已有 人给出评价!

  • 0 欢迎喜欢
  • 0 白痴
  • 0 拜托
  • 0 哇
  • 0 加油
  • 0 鄙视