Debian下安装sqlplus 工具

来源:互联网 发布:如何理解矩阵的qr分解 编辑:程序博客网 时间:2024/05/01 23:01

其实Oracle官方是一直不支持debian的,但是最近一个需求是在 一个中间跳板机上安装sqlplus ,让一些开发同事能在跳板机上查询数据库。这个跳板机是debian的。

可能的方法有2种:
1. rpm包类型。 下载rpm ,转成deb
2. 下载gzip的客户端包,用静默方式去安装,需要模板文件,这个没试过。

下面就讲下第一种方式:

1.准备4个rpm (至于真正需要是2个还是4个,有待考证)。basic和sqlplus是必须的。包可以去oracle官网下载。

oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpmoracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpmoracle-instantclient11.2-jdbc-11.2.0.4.0-1.x86_64.rpmoracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm

2.在debian机器上安装上alien
3.用alien把rpm包转成debian系统能用的 deb包

alien oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpmalien oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpmalien oracle-instantclient11.2-jdbc-11.2.0.4.0-1.x86_64.rpmalien oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm

生成如下,注意后面自动变成了-2

oracle-instantclient11.2-basic_11.2.0.4.0-2_amd64.deboracle-instantclient11.2-devel_11.2.0.4.0-2_amd64.deboracle-instantclient11.2-jdbc_11.2.0.4.0-2_amd64.deboracle-instantclient11.2-sqlplus_11.2.0.4.0-2_amd64.deb

4.安装deb包

dpkg -i oracle-instantclient11.2-basic_11.2.0.4.0-2_amd64.deb

之后这些东西都会默认安装在 /usr/lib/oracle/11.2/client64/下。

5.中间跳板机一般用的都是普通用户,所以要设置普通用户下的环境变量,让它能找到我们新安装的sqlplus。

vi ~/.bash_profile (普通用户的家目录)export ORACLE_HOME=/usr/lib/oracle/11.2/client64export TNS_ADMIN=$ORACLE_HOMEexport PATH=$PATH:$ORACLE_HOME/binexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib

source ~/.bash_profile 使之生效。

6.一般这个时候sqlplus就可以通过补齐显示出来了,但是都会报一个错,
就是缺少libaio包。sqlplus还是无法正常使用,那我们把这个包安装上。

# apt-cache search libaiolibaio1 - Linux kernel AIO access library - shared librarylibaio-dev - Linux kernel AIO access library - development filesapt-get install libaio1 libaio-dev

之后正常使用。

7.如果不配置tnsnames.ora 文件,可以直接通过指定ip和端口的方式连接数据库

sqlplus  username/password@192.168.2.181:1521/sid

如果配置的话,在这个目录下 ORACLE_HOME=/usr/lib/oracle/11.2/client64

vi tnsnames.oraHAHA =  (DESCRIPTION =    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.3)(PORT = 1521))    (CONNECT_DATA =      (SERVER = DEDICATED)      (SERVICE_NAME = haha)    )   )

之后就可以 sqlplus username/password@haha 了。

0 0
原创粉丝点击