今天出现了一个问题,linux下root用户不能切换到oracle用户,但是能切换到其他的用户,
症状如下
[root@localhost ~]# su - oracle
[root@localhost ~]#
[root@localhost ~]# who am i
root pts/1 2010-10-08 10:53 (192.168.20.18)
[root@localhost ~]#
从而导致不能正常启动监听器:
为了更快解决问题,想新建一个用户,分配到oracle组下,这样就应该可以启动oracle。
查看用户组: cat /etc/group
内容如下:
screen:x:84:
ytxt:x:500:
oinstall:x:501:
dba:x:502:oracle,oracletest
jboss:x:503:jboss
mysql:x:104:
新建一个用户并分配到oracle用户组:useradd -g oinstall -G dba oracletest (这里的我搞不懂oinstall和dba哪个才是用户组。。。。)
给用户设密码:passwd oracle
然后启动oracle,就报错:
[root@localhost ~]# lsnrctl start
-bash: lsnrctl: command not found
这里应该是一些环境变量没配好,例如没指向oracle下的命令文件夹之类的。
在root用户下,将原来oracle用户下的 .bash*的文件拷贝到oracletest用户下,这些文件在/home/下的各个用户的文件夹里。原本以为还要设置一下权限,后来查一下oracletest用户已经有权限对自己文件夹下的文件操作。
再启动oracle,还是报错:
这次是权限问题了。
在网上找了一下,网址:http://space.itpub.net/10130206/viewspace-625703
重点是这段描述:
chown oracle:dba .oracle 修改一下这个oracle文件的权限。
再次重启,重启成功。。