使用环境
操作系统:RedHat enterprise 6.8
数据库:Oracle 12.1.01
数据库网络化:搭建了2个节点的RAC
数据库用户:oracle,grid
使用背景
情景1、使用SecureCRT用root用户连接后,之间输入lsnrctl、srvctl相关命令提示command not found。
情景2、root用户登录后,使用su oracle、su grid切换到oracle、grid用户后,再次使用lsnrctl、srvctl相关命令,还是提示command not found。
问题分析
这是因为在安装Oracle集群后,没有在root用户下配置$ORACLE_HOME的环境变量。
问题解决
在切换oracle,grid用户时,使用su - oracle,su -grid命令进行切换,这时会提示输入密码。切换成功后,再次使用 lsnrctl、srvctl相关命令时,一切正常。
说明:使用-,-l,–login:切换用户时,使环境变量(home,shell,user,logname,path等)和欲切换的用户相同、不使用则取得用户的临时权限;