ubuntu 下安装 sqlplus

plsql 和 sqlplus 被誉为 oracle 管理的两大法宝。在 windows 的时候,一直使用 plsql 来管理 oracle ,这几天换用 linux ,由于使用 CrossOver 安装的 plsql 无法自定义环境变量,无奈只能换装 sqlplus 。经过跟度娘的沟通以及半天的动手操作,总结出一些步骤及注意事项,记录以备用。

从官网下载安装包

下载地址:

http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

下载文件(区分系统进行下载):

oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64.rpm
oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm
oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm

安装 alien 对 rpm 包进行转换

安装 alien :

1
sudo apt-get install alien -y

转换 rpm 包为 deb :

1
2
3
sudo alien oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64.rpm
sudo alien oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm
sudo alien oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm

得到:

oracle-instantclient12.1-sqlplus_12.1.0.2.0-2_amd64.deb
oracle-instantclient12.1-devel_12.1.0.2.0-2_amd64.deb
oracle-instantclient12.1-basic_12.1.0.2.0-2_amd64.deb

安装 deb

1
2
3
sudo dpkg -i oracle-instantclient12.1-basic_12.1.0.2.0-2_amd64.deb
sudo dpkg -i oracle-instantclient12.1-devel_12.1.0.2.0-2_amd64.deb
sudo dpkg -i oracle-instantclient12.1-sqlplus_12.1.0.2.0-2_amd64.deb

指定 sqlplus 运行所需要的库

1
2
3
4
5
sudo apt-get install -y libaio-dev
sudo vi /etc/ld.so.conf

# 在最后加入:
/usr/lib/oracle/12.1/client64/lib(根据具体安装目录配置)

重启 ldconfig :

1
sudo ldconfig

配置环境变量

1
2
3
4
5
6
7
8
sudo vi /etc/profile

# 在最后加入:
#oracle sqlplus(根据具体安装目录配置)
export ORACLE_HOME=/usr/lib/oracle/12.1/client64
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
export TNS_ADMIN=$ORACLE_HOME
export PATH=$PATH:$ORACLE_HOME/bin

配置连接 tnsnames.ora

1
2
sudo vi $ORACLE_HOME/tnsnames.ora
# 按需添加

启动 sqlplus

1
2
sqlplus us/pw@hs
# 根据 tnsnames.ora 配置填写

注意:

1、安装或启动中出现找不到共享库或共享库 libaio1 无权限的错误,请先检查 /etc/ld.so.conf 配置的路径是否正确。若路径正确,可使用 sudo apt-get install libaio1 -y 安装库试试。
2、配置完成后,若执行 sqlplus 无法找到命令,可重启系统后再试。