|
今天在做实验的时候发现在linux下使用sqlplus /nolog 报错, [oracle@localhost ~]$ sqlplus /nolog -bash: sqlplus: command not found 于是开始找错误原因,在安装的时候没有报错,包括建立数据库的时候也没有任何错误提示,这时我就在想会不会是bash路径的问题我就echo $oracle_home为空,echo $path也为空,问题就出在这里了。 然后我 export ORACLE_HOME=Oracle Home> export PATH=$ORACLE_HOME/bin:$PATH 再次运行Sqlplus命令,ok,可以了。 最后,我用vi编辑 .bash_profile文件,把 export ORACLE_HOME= export PATH=$ORACLE_HOME/bin:$PATH 加入.bash_profile中。保存。 重新进入Linux系统,sqlplus命令一切正常 其实上面这个问题的主要原因是由于直接由root用户切换到oracle用户所以继承的是root的环境变量所致 如果直接以oracle用户登录则不会出现以上情况 第二次实验依然报错 oracle启动listener及Sqlplus报错 报错内容如下: ./lsnrctl: error while loading shared libraries: /u01/app/oracle/product/11.1.0/db_1/lib/libnnz11.so: cannot restore segment prot after reloc: Permission denied 在启动sqlplus时有会有,类似报错: sqlplus: error while loading shared libraries: /u01/app/oracle/product/11.1.0/db_1/lib/libnnz11.so: cannot restore segment prot after reloc: Permission denied 其主要原因是使用了SELINUX。将其状态设置为disabled即可,方法如下: 打开/etc/selinux/config, 将selinux=enforcing或permissive改成disabled。 然后存盘退出,重启系统。
|