通常情况,要么环境变量有问题,要么oracle执行文件权限问题,要么用root用户,要么oracle_sid export设置错误,要么数据库本身就未启动等等

此文描述的场景是讲一个环境变量的问题:

su - oracle
export ORACLE_SID
sqlplus / as sysdba

以上步骤设置都完全正确,检查环境变量oracle_home也正常。然而你此时检查的.bash_profile可能是后期被人更正过的,而一开始运行pmon的环境变量就可能不是此时
.bash_profile里设置的参数了。

solution:

ps -ef |grep pmon ---找到进程ID

cat /proc/pmon_id/environ

查看pmon运行的环境变量,匹配检查哪里出错。基于出错参数做修改(重启实例生效)