在网上查找 linux下启动oracle的命令, 得到的答案大都是:
[quote]# $ su - oracle
# $ sqlplus / nolog
# sql> conn / as sysdba
# sql> startup (一般不需要加参数,只要设置好环境变量)
# sql> quit (退出sql模式)
# $ lsnrctl start (启动监听器)
[/quote]
如果用其他非root用户登陆时用su - oracle会要求输入oracle用户的密码,用其他用户直接输入sqlplus /nolog 然后conn /as sysdba时,会显示ORA-12162 TNS:net service name is incorrectly specified.错误. 然后查到的是[quote]原因:
是因为ORACLE_SID变量没有设置正确的缘故。
解决方法:
在.bash_profile文件中,正确设置ORACLE_SID,然后使用source .bash_profile命令使新设置的环境变量生效。[/quote]
我的解决办法是用其他用户登陆时,先su到root用户,然后在su - oracle时则不会要求为其输入密码,在oracle用户下输入上述命令时不会报错.
1)权限问题,解决方法,切换到oracle用户;
2)没有关闭监听器 ,解决方法:关闭监听器
3)有oracle实例没有关闭,解决办法:关闭oracle实例
4)环境变量设置不全,解决办法:修改环境变量
[quote]# $ su - oracle
# $ sqlplus / nolog
# sql> conn / as sysdba
# sql> startup (一般不需要加参数,只要设置好环境变量)
# sql> quit (退出sql模式)
# $ lsnrctl start (启动监听器)
[/quote]
如果用其他非root用户登陆时用su - oracle会要求输入oracle用户的密码,用其他用户直接输入sqlplus /nolog 然后conn /as sysdba时,会显示ORA-12162 TNS:net service name is incorrectly specified.错误. 然后查到的是[quote]原因:
是因为ORACLE_SID变量没有设置正确的缘故。
解决方法:
在.bash_profile文件中,正确设置ORACLE_SID,然后使用source .bash_profile命令使新设置的环境变量生效。[/quote]
我的解决办法是用其他用户登陆时,先su到root用户,然后在su - oracle时则不会要求为其输入密码,在oracle用户下输入上述命令时不会报错.
1)权限问题,解决方法,切换到oracle用户;
2)没有关闭监听器 ,解决方法:关闭监听器
3)有oracle实例没有关闭,解决办法:关闭oracle实例
4)环境变量设置不全,解决办法:修改环境变量