oracle安装完成之后,执行sqlplus命令,提示:bash: sqlplus: command not found...


1.安装完oracle后,用终端登录,因为不是直接用oracle用户登录的,所以我就执行
$ su oracle
切换成oracle用户之后,执行“echo $ORACLE_HOME”,结果显示空

原因:如果直接su oracle,
shell会去读取此用户(oracle用户)home目录下的隐藏文件,如果是bash的话,为 .bashrc。我查了oracle用户的 .bashrc没有配置$ORACLE_HOME,/etc/bashrc也没有配置$ORACLE_HOME,读取出来就是空。
我用oracle用户登录linux,执行“echo $ORACLE_HOME”,结果显示就不为空了。

下面是.bashrc文件和profile文件的一些简单介绍:

linux给大家提供了自动设置环境变量的方法,那就是修改 .bashrc 文件。一般说来,有两个文件可以提供这种“进入系统时自动设置”的功能,一个是 /etc/bashrc,另一个是 ~/.bashrc。其中/etc/bashrc是被每个用户执行的,而~/.bashrc只被当前用户执行。所以/etc/bashrc只有root用户能更改,而~/.bashrc是各个用户私有的文件。 "~"指的是用户的home目录。

这样,各个用户有自己独立的".bashrc"文件,可以根据需要自行更改,而不会互相干扰。 /etc/bashrc文件则是共享的,整个Linux中只有一份。一般来说,用户的"~/.bashrc"开头都会调用/etc/bashrc,因此更改/etc/bashrc会影响到所有用户,这个文件一般是root用户管理的。


提问:Linux系统中/etc/profile与/etc/bashfile文件作用的区别?
(1)/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置。他是为用户定制系统定制环境变量。
(2)/etc/bashrc: 是为每一个bash shell的用户定制环境变量,当bash shell被打开时,该文件被读取。~/bashrc是为某个bash shell用户定制环境变量


/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.
并从/etc/profile.d目录的配置文件中搜集shell的设置.
/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.
~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该
文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.
~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该
该文件被读取.


2.oracle安装完成之后,用普通用户登录终端,再用su命令切换到oracle用户,执行sqlplus命令,提示:bash: sqlplus: command not found...
原因同1所示。直接用oracle用户登录,就能识别sqlplus命令了。
另外注意一点:不要以为root命令能识别所有命令,例如root用户就不能识别这个sqlplus,原因也一样的。

3.oracle安装完成之后,用普通用户登录终端,再用su命令切换到oracle用户,执行lsnrctl命令,同样提示:bash: lsnrctl: command not found...
原因也如1所说。

转载于:https://www.cnblogs.com/VIPler/p/6838151.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值