让Ubuntu下的Tora支持Oracle

  Tora是unix/linux下类似toad的数据库工具。

  Ubuntu(版本Dapper Drake)下直接用apt-get安装的Tora只有PostgreSQL一个provider。方法给Tora加入了Oracle的支持。大致的步骤如下(有几个地方与文章里不同,包括Tora编译不过去的解决办法):

  1. 安装Oracle Instant Client

    $ sudo apt-get install oracle-xe-client

  OIC安装后的目录是/usr/lib/oracle/xe/app/oracle/product/10.2.0/client

  2. 把OIC的安装目录加到/etc/ld.so.conf文件里,然后执行ldconfig命令刷新

    $ sudo ldconfig

  3. 修改/etc/profile,加入一些新的环境变量

    export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/client

    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH

    export TNS_ADMIN=/usr/lib/oracle

    export PATH=$PATH:$ORACLE_HOME/bin

  保存好后,重新登录使其生效,可以用env或printenv命令检查。

  4. 安装Tora和它的源码(需要有source源)

    $ sudo apt-get install tora

    $ sudo apt-get source tora

  5. 安装编译工具

    $ sudo apt-get install build-essential

    $ sudo apt-get install autoconf automake flex zlib1g-dev docbook-xsl

    $ sudo apt-get install libqt3-mt-dev libqt3-compat-headers

  6. 修改源码里的debian/rules这个文件

  把这行

    ./configure –prefix=/usr –without-oracle –without-rpath –disable-new-check –with-kde –enable-libsuffix=

  改成

    ./configure –prefix=/usr –with-oracle=/usr/lib/oracle/xe/app/oracle/product/10.2.0/client –without-rpath –disable-new-check –without-kde –enable-libsuffix=

  注意这里与那文章里的不同(下面是文章里的改法)。照文章里的改法后面会遇到找不到OIC的问题。

    ./configure –prefix=/usr –with-instant-client –without-rpath –disable-new-check –without-kde –enable-libsuffix=

  7. 编译Tora,成功后安装生成的deb文件(在上一级目录)

    $ debian/rules binary

    $ sudo apt-get remove tora

    $ sudo dpkg -i tora_1.3.18-4ubuntu1_i386.deb

  8. 在/usr/lib/oracle目录里建一个文件tnsnames.ora,加入你的Oracle数据库的连接信息

  9. 现在运行Tora,就可以看到Oracle的provider了。