
作为一名oracle dba,最近喜欢上了deepin15.6操作系统,除了日常ssh登录数据库服务器做维护管理,偶尔也需要终端以oracle net方式连接数据库做一些演示,但是却不想在deepin上安装完全的oracle client(不想给自己找麻烦!),于是想到了instant client。
1.首先是下载安装包,并解压到预设目录
root@zhyu:/opt/oracle# mkdir -p opt/oracle/instantclient_12_2/
wget http://download.oracle.com/otn/linux/instantclient/122010/instantclient-basic-linux.x64-12.2.0.1.0.zip (基础包)
wget http://download.oracle.com/otn/linux/instantclient/122010/instantclient-sqlplus-linux.x64-12.2.0.1.0.zip (sqlplus包)
root@zhyu:/opt/oracle# unzip instantclient-basic-linux.x64-12.2.0.1.0.zip
root@zhyu:/opt/oracle# unzip instantclient-sqlplus-linux.x64-12.2.0.1.0.zip
2.创建软连接(参考oracle官方手册)
cd opt/oracle/instantclient_12_2
ln -s libclntsh.so.12.1 libclntsh.so
ln -s libocci.so.12.1 libocci.so
3.deepin下需要依赖包libaio1,有的发布版是libaio
apt install libaio1
4.生成配置并加载模块
sudo sh -c "echo opt/oracle/instantclient_12_2 > etc/ld.so.conf.d/oracle-instantclient.conf"
5.把目录改为当前用户所有
chown -R zhyu:zhyu opt/oracle
6.修改当前用户环境变量,添加以下内容:
zhyu@zhyu:~$ vi .profile
export LD_LIBRARY_PATH=/opt/oracle/instantclient_12_2:$LD_LIBRARY_PATH
export TNS_ADMIN=/opt/oracle/instantclient_12_2/network/admin
export PATH=/opt/oracle/instantclient_12_2:$PATH
7.重载环境变量,测试连接
source .profile
zhyu@zhyu:~$ sqlplus -v
SQL*Plus: Release 12.2.0.1.0 Production
注意:在修改边境变量的时候,我习惯性的修改.bash_profile,发现根本不加载,每次登录都要执行source .bash_profile才可以,搜索后才发现,这是深度终端的问题,它和其他系统登录的shell是不一样的,要做如下修改才可以使用我们熟悉的linux term:
# 编辑文件
vim ~/.config/deepin/deepin-terminal/config.conf
# 找到第56行,讲 false 修改为 true
run_as_login_shell=true
这也算是个小坑吧,我只能说:deepin,你好个性!




