前言
笔者主要是在之前搭建好的虚拟环境(CentOS7+Oracle)中进行,不久前就用过SQLPLUS登录Oracle,但近期我再尝试时就总报错“bash:sqlplus找不到命令”,于是有了下面的故事。
曲折过程
一、确认环境变量是否配置
root下 使用su oracle切换到oracle用户,然后cd ~,vi .bash_profile查看prifile文件中环境变量的配置,后来又查看了oracle的安装目录,对比发现没啥毛病。这下我就犯难了,环境变量没得问题,那这是为啥捏?
二、尝试使用cp命令,将oracle安装目录下的bin/sqlplus拷贝到/bin目录下
后来,在各位网友的加持下,发现一种解决方案:使用cp命令,将oracle安装目录下的sqlplus命令拷贝到/bin目录下,因为Linux很多命令都是在这个目录下直接调用的。所以我也如法炮制:
cp /data/oracle/product/11.2.0/db_1/bin/sqlplus /bin
然鹅,这个时候报错:莫得权限创建目录 。所以我又去搞权限的问题,后来发现是我肤浅了。
三、峰回路转
终于,看到了一篇文章说是因为:切换用户的时候出现了问题。
su oracle和su - oracle的区别:
(1)su oracle 登录环境未改变,还是刚登录的root账户环境,我的root账户下并没有安装sqlplus;
(2)su - oracle 可将登录环境切换到oracle账户下。
后来,尝试了一波:
哦豁,可以了。
来一波总结
追根究底,还是因为没有注意细节:因为少打了一个“-”, 就导致......。
细节或许不能决定成败,但是它一定能为你节省很多时间,避免你少走很多弯路。